Add a QUIET Makefile option to reduce non-error output
At present building vboot results in some output when there are no warnings/
errors. Add a QUIET option to suppress this.
BUG=none
BRANCH=none
TEST=manual
Build without QUIET=1
CC firmware/lib/cryptolib/padding.o
CC firmware/lib/cryptolib/rsa.o
CC firmware/lib/cryptolib/rsa_utility.o
CC firmware/lib/cryptolib/sha1.o
CC firmware/lib/cryptolib/sha256.o
CC firmware/lib/cryptolib/sha512.o
CC firmware/lib/cryptolib/sha_utility.o
CC firmware/lib/stateful_util.o
CC firmware/lib/vboot_api_firmware.o
CC firmware/lib/vboot_common.o
CC firmware/lib/vboot_firmware.o
CC firmware/lib/tpm_bootmode.o
CC firmware/lib/crc8.o
CC firmware/lib/utility.o
CC firmware/lib/vboot_api_init.o
CC firmware/lib/vboot_common_init.o
CC firmware/lib/vboot_nvstorage.o
CC firmware/lib/rollback_index.o
CC firmware/lib/tpm_lite/tlcl.o
CC firmware/lib/cgptlib/cgptlib.o
CC firmware/lib/cgptlib/cgptlib_internal.o
CC firmware/lib/cgptlib/crc32.o
CC firmware/lib/utility_string.o
CC firmware/lib/vboot_api_kernel.o
CC firmware/lib/vboot_audio.o
CC firmware/lib/vboot_display.o
CC firmware/lib/vboot_kernel.o
RM vboot_fw.a
AR vboot_fw.a
Build with QUIET=1:
(no output from Makefile)
Change-Id: I35e057df6c640ed06325092365934d870240b9cf
Reviewed-on: https://gerrit.chromium.org/gerrit/46533
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Commit-Queue: Simon Glass <sjg@chromium.org>
diff --git a/Makefile b/Makefile
index cd39114..9467779 100644
--- a/Makefile
+++ b/Makefile
@@ -71,6 +71,13 @@
Q := @
endif
+# Quiet? Use QUIET=1
+ifeq ($(QUIET),)
+PRINTF := printf
+else
+PRINTF := :
+endif
+
# Architecture detection
_machname := $(shell uname -m)
HOST_ARCH ?= ${_machname}
@@ -640,9 +647,9 @@
fwlib: ${FWLIB} $(if ${FIRMWARE_ARCH},,fwlinktest)
${FWLIB}: ${FWLIB_OBJS}
- @printf " RM $(subst ${BUILD}/,,$@)\n"
+ @$(PRINTF) " RM $(subst ${BUILD}/,,$@)\n"
${Q}rm -f $@
- @printf " AR $(subst ${BUILD}/,,$@)\n"
+ @$(PRINTF) " AR $(subst ${BUILD}/,,$@)\n"
${Q}ar qc $@ $^
# ----------------------------------------------------------------------------
@@ -657,9 +664,9 @@
# TODO: better way to make .a than duplicating this recipe each time?
${HOSTLIB}: ${HOSTLIB_OBJS} ${FWLIB_OBJS}
- @printf " RM $(subst ${BUILD}/,,$@)\n"
+ @$(PRINTF) " RM $(subst ${BUILD}/,,$@)\n"
${Q}rm -f $@
- @printf " AR $(subst ${BUILD}/,,$@)\n"
+ @$(PRINTF) " AR $(subst ${BUILD}/,,$@)\n"
${Q}ar qc $@ $^
@@ -669,9 +676,9 @@
${Q}cp -f ${TINYHOSTLIB} ${HOSTLIB}
${TINYHOSTLIB}: ${TINYHOSTLIB_OBJS}
- @printf " RM $(subst ${BUILD}/,,$@)\n"
+ @$(PRINTF) " RM $(subst ${BUILD}/,,$@)\n"
${Q}rm -f $@
- @printf " AR $(subst ${BUILD}/,,$@)\n"
+ @$(PRINTF) " AR $(subst ${BUILD}/,,$@)\n"
${Q}ar qc $@ $^
# ----------------------------------------------------------------------------
@@ -684,12 +691,12 @@
${CGPT}: LDLIBS += -luuid
${CGPT}: ${CGPT_OBJS} ${LIBS}
- @printf " LDcgpt $(subst ${BUILD}/,,$@)\n"
+ @$(PRINTF) " LDcgpt $(subst ${BUILD}/,,$@)\n"
${Q}${LD} -o ${CGPT} ${CFLAGS} $^ ${LDFLAGS} ${LDLIBS}
.PHONY: cgpt_install
cgpt_install: ${CGPT}
- @printf " INSTALL CGPT\n"
+ @$(PRINTF) " INSTALL CGPT\n"
${Q}mkdir -p ${UB_DIR}
${Q}${INSTALL} -t ${UB_DIR} $^
@@ -709,14 +716,14 @@
.PHONY: utils_install
utils_install: ${UTIL_BINS} ${UTIL_SCRIPTS}
- @printf " INSTALL UTILS\n"
+ @$(PRINTF) " INSTALL UTILS\n"
${Q}mkdir -p ${UB_DIR}
${Q}${INSTALL} -t ${UB_DIR} ${UTIL_BINS} ${UTIL_SCRIPTS}
# And some signing stuff for the target
.PHONY: signing_install
signing_install: ${SIGNING_SCRIPTS} ${SIGNING_SCRIPTS_DEV} ${SIGNING_COMMON}
- @printf " INSTALL SIGNING\n"
+ @$(PRINTF) " INSTALL SIGNING\n"
${Q}mkdir -p ${UB_DIR}
${Q}${INSTALL} -t ${UB_DIR} ${SIGNING_SCRIPTS}
${Q}${INSTALL} -t ${UB_DIR} ${SIGNING_SCRIPTS_DEV}
@@ -734,12 +741,12 @@
futil: ${FUTIL_BIN}
${FUTIL_BIN}: ${FUTIL_LDS} ${FUTIL_OBJS}
- @printf " LD $(subst ${BUILD}/,,$@)\n"
+ @$(PRINTF) " LD $(subst ${BUILD}/,,$@)\n"
${Q}${LD} -o $@ ${CFLAGS} $^ ${LDFLAGS} ${LDLIBS}
.PHONY: futil_install
futil_install: ${FUTIL_BIN}
- @printf " INSTALL futility\n"
+ @$(PRINTF) " INSTALL futility\n"
${Q}mkdir -p ${F_DIR}
${Q}${INSTALL} -t ${F_DIR} ${FUTIL_BIN}
${Q}for prog in ${FUTIL_OLD}; do \
@@ -755,7 +762,7 @@
.PHONY: update_tlcl_structures
update_tlcl_structures: ${BUILD}/utility/tlcl_generator
- @printf " Rebuilding TLCL structures\n"
+ @$(PRINTF) " Rebuilding TLCL structures\n"
${Q}${BUILD}/utility/tlcl_generator > ${STRUCTURES_TMP}
${Q}cmp -s ${STRUCTURES_TMP} ${STRUCTURES_SRC} || \
( echo "%% Updating structures.h %%" && \
@@ -770,9 +777,9 @@
${TEST_BINS}: ${TESTLIB}
${TESTLIB}: ${TESTLIB_OBJS}
- @printf " RM $(subst ${BUILD}/,,$@)\n"
+ @$(PRINTF) " RM $(subst ${BUILD}/,,$@)\n"
${Q}rm -f $@
- @printf " AR $(subst ${BUILD}/,,$@)\n"
+ @$(PRINTF) " AR $(subst ${BUILD}/,,$@)\n"
${Q}ar qc $@ $^
@@ -781,28 +788,28 @@
# rules for specific targets.
${BUILD}/%: ${BUILD}/%.o ${OBJS} ${LIBS}
- @printf " LD $(subst ${BUILD}/,,$@)\n"
+ @$(PRINTF) " LD $(subst ${BUILD}/,,$@)\n"
${Q}${LD} -o $@ ${CFLAGS} $< ${OBJS} ${LIBS} ${LDFLAGS} ${LDLIBS}
${BUILD}/%.o: %.c
- @printf " CC $(subst ${BUILD}/,,$@)\n"
+ @$(PRINTF) " CC $(subst ${BUILD}/,,$@)\n"
${Q}${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $<
# Rules to recompile a single source file for library and test
# TODO: is there a tidier way to do this?
${BUILD}/%_for_lib.o: CFLAGS += -DFOR_LIBRARY
${BUILD}/%_for_lib.o: %.c
- @printf " CC-for-lib $(subst ${BUILD}/,,$@)\n"
+ @$(PRINTF) " CC-for-lib $(subst ${BUILD}/,,$@)\n"
${Q}${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $<
${BUILD}/%_for_test.o: CFLAGS += -DFOR_TEST
${BUILD}/%_for_test.o: %.c
- @printf " CC-for-test $(subst ${BUILD}/,,$@)\n"
+ @$(PRINTF) " CC-for-test $(subst ${BUILD}/,,$@)\n"
${Q}${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $<
# TODO: C++ files don't belong in vboot reference at all. Convert to C.
${BUILD}/%.o: %.cc
- @printf " CXX $(subst ${BUILD}/,,$@)\n"
+ @$(PRINTF) " CXX $(subst ${BUILD}/,,$@)\n"
${Q}${CXX} ${CFLAGS} ${INCLUDES} -c -o $@ $<
# ----------------------------------------------------------------------------
@@ -902,7 +909,7 @@
$(error SYSROOT must be set to the top of the target-specific root \
when cross-compiling for qemu-based tests to run properly.)
endif
- @printf " Copying qemu binary.\n"
+ @$(PRINTF) " Copying qemu binary.\n"
${Q}cp -fu /usr/bin/${QEMU_BIN} ${BUILD}/${QEMU_BIN}
${Q}chmod a+rx ${BUILD}/${QEMU_BIN}
endif