From 790049b3dd657b8d3a837ab636f36e6809ca5afd Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Fri, 13 Apr 2018 16:49:00 +0800 Subject: [PATCH] build: remove some debug lines printed when V=0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With V=0, build process would print “including .../Makefile.projbuild" lines, causing problems for print_flash_cmd target. The issue was due to the way macro expansion works in make. To delay evaluation of info function until the execution of expanded block, two dollar signs are required. Test for print_flash_cmd target added. --- make/project.mk | 2 +- tools/ci/test_build_system.sh | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/make/project.mk b/make/project.mk index 36cfce720..c54c32732 100644 --- a/make/project.mk +++ b/make/project.mk @@ -374,7 +374,7 @@ APP_BIN:=$(APP_ELF:.elf=.bin) # Include any Makefile.projbuild file letting components add # configuration at the project level define includeProjBuildMakefile -$(if $(V),$(info including $(1)/Makefile.projbuild...)) +$(if $(V),$$(info including $(1)/Makefile.projbuild...)) COMPONENT_PATH := $(1) include $(1)/Makefile.projbuild endef diff --git a/tools/ci/test_build_system.sh b/tools/ci/test_build_system.sh index d83198bf4..28cfbd37a 100755 --- a/tools/ci/test_build_system.sh +++ b/tools/ci/test_build_system.sh @@ -183,6 +183,10 @@ function run_tests() assert_rebuilt nvs_flash/src/nvs_api.o assert_rebuilt freertos/xtensa_vectors.o + print_status "print_flash_cmd target should produce one line of output" + make + test $(make print_flash_cmd V=0 | wc -l | tr -d ' ') -eq 1 + print_status "Can include/exclude object files" echo "#error This file should not compile" > main/excluded_file.c echo "int required_global;" > main/included_file.c