build: remove some debug lines printed when V=0

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.
This commit is contained in:
Ivan Grokhotkov 2018-04-13 16:49:00 +08:00
parent a21336eaa1
commit 790049b3dd
2 changed files with 5 additions and 1 deletions

View File

@ -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

View File

@ -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