@mkdir -p $$(dir $${BUILD_DIR}/make/src/$$*)
@mkdir -p $$(dir $${BUILD_DIR}/objs/$$*)
@sed -e 's/#.*//' \
+ -e 's,^$${top_srcdir},$$$${top_srcdir},' \
+ -e 's, $${top_srcdir}, $$$${top_srcdir},' \
+ -e 's,^$${BUILD_DIR},$$$${BUILD_DIR},' \
+ -e 's, $${BUILD_DIR}/make/include/[^ :]*,,' \
+ -e 's, $${BUILD_DIR}, $$$${BUILD_DIR},' \
-e 's, /[^: ]*,,g' \
-e 's,^ *[^:]* *: *$$$$,,' \
-e '/: </ d' \
-e 's/\.o: /.$$$${OBJ_EXT}: /' \
-e '/^ *\\$$$$/ d' \
- -e 's,^$${BUILD_DIR},$$$${BUILD_DIR},' \
- -e 's, $${BUILD_DIR}/make/include/[^ :]*,,' \
- -e 's, $${BUILD_DIR}, $$$${BUILD_DIR},' \
- -e '/^$$$$/ d' \
< $${BUILD_DIR}/objs/$$*.d | sed -e '$$$$!N; /^\(.*\)\n\1$$$$/!P; D' \
> $${BUILD_DIR}/make/src/$$*.mk
@sed -e 's/#.*//' \
+ -e 's, $${BUILD_DIR}/make/include/[^ :]*,,' \
-e 's, /[^: ]*,,g' \
-e 's,^ *[^:]* *: *$$$$,,' \
-e '/: </ d' \
- -e 's, $${BUILD_DIR}/make/include/[^ :]*,,' \
-e 's/^[^:]*: *//' \
-e 's/ *\\$$$$//' \
- -e '/^$$$$/ d' \
-e 's/$$$$/ :/' \
< $${BUILD_DIR}/objs/$$*.d | sed -e '$$$$!N; /^\(.*\)\n\1$$$$/!P; D' \
>> $${BUILD_DIR}/make/src/$$*.mk
# Create executable ${1}
$${${1}_BUILD}/${1}: $${${1}_OBJS} $${${1}_PRBIN} $${${1}_PRLIBS}
@$(strip mkdir -p $(dir $${${1}_BUILD}/${1}))
- @echo LINK $${${1}_BUILD}/${1}
+ @$(ECHO) LINK $${${1}_BUILD}/${1}
@$${${1}_LINKER} -o $${${1}_BUILD}/${1} $${RPATH_FLAGS} $${LDFLAGS} \
$${${1}_LDFLAGS} $${${1}_OBJS} $${${1}_PRLIBS} \
$${LDLIBS} $${${1}_LDLIBS}
# Create static library ${1}
$${${1}_BUILD}/${1}: $${${1}_OBJS} $${${1}_PREREQS}
@$(strip mkdir -p $(dir $${${1}_BUILD}/${1}))
- @echo LINK $${${1}_BUILD}/${1}
+ @$(ECHO) LINK $${${1}_BUILD}/${1}
@$${AR} $${ARFLAGS} $${${1}_BUILD}/${1} $${${1}_OBJS}
@$${${1}_POSTMAKE}
# COMPILE_C_CMDS - Commands for compiling C source code.
define COMPILE_C_CMDS
@mkdir -p $(dir $@)
- @echo CC $<
+ @$(ECHO) CC $<
@$(strip ${COMPILE.c} -o $@ -c -MD ${CFLAGS} ${SRC_CFLAGS} ${INCDIRS} \
${SRC_INCDIRS} ${SRC_DEFS} ${DEFS} $<)
endef
LINK.c = ${CC}
LINK.cxx = ${CXX}
+# Set ECHO to "true" for *very* quiet builds
+ECHO = echo
+
# Define the "all" target (which simply builds all user-defined targets) as the
# default goal.
.PHONY: all