Przeglądaj źródła

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.
Ivan Grokhotkov 7 lat temu
rodzic
commit
790049b3dd
2 zmienionych plików z 5 dodań i 1 usunięć
  1. 1 1
      make/project.mk
  2. 4 0
      tools/ci/test_build_system.sh

+ 1 - 1
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

+ 4 - 0
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