]> granicus.if.org Git - esp-idf/commitdiff
build system: Updating project Makefile should trigger a full rebuild
authorAngus Gratton <angus@espressif.com>
Thu, 13 Jul 2017 02:51:24 +0000 (10:51 +0800)
committerAngus Gratton <gus@projectgus.com>
Thu, 13 Jul 2017 02:51:24 +0000 (10:51 +0800)
Project Makefile can set CFLAGS, macro defines, etc.

make/project.mk
tools/ci/test_build_system.sh

index a0779b464a45f8694d037314bfa28f70e11b37b1..8452eaba0bdc86447a5d8b5933e67ef249463883 100644 (file)
@@ -90,7 +90,7 @@ export PROJECT_PATH
 endif
 
 # A list of the "common" makefiles, to use as a target dependency
-COMMON_MAKEFILES := $(abspath $(IDF_PATH)/make/project.mk $(IDF_PATH)/make/common.mk $(IDF_PATH)/make/component_wrapper.mk)
+COMMON_MAKEFILES := $(abspath $(IDF_PATH)/make/project.mk $(IDF_PATH)/make/common.mk $(IDF_PATH)/make/component_wrapper.mk $(firstword $(MAKEFILE_LIST)))
 export COMMON_MAKEFILES
 
 # The directory where we put all objects/libraries/binaries. The project Makefile can
index 0d4f36e4d44406d178b64a9cbd068da4a00dc497..ebd711f863efbead102a01125d33965d44f19978 100755 (executable)
@@ -160,7 +160,7 @@ function run_tests()
     assert_rebuilt ${APP_BINS}
     assert_not_rebuilt ${BOOTLOADER_BINS}
 
-    print_status "sdkconfig update triggers recompiles"
+    print_status "sdkconfig update triggers full recompile"
     make
     take_build_snapshot
     touch sdkconfig
@@ -171,6 +171,16 @@ function run_tests()
     assert_rebuilt nvs_flash/src/nvs_api.o
     assert_rebuilt freertos/xtensa_vectors.o
 
+    print_status "Updating project Makefile triggers full recompile"
+    make
+    take_build_snapshot
+    touch Makefile
+    make
+    # similar to previous test
+    assert_rebuilt newlib/syscall_table.o
+    assert_rebuilt nvs_flash/src/nvs_api.o
+    assert_rebuilt freertos/xtensa_vectors.o
+
     print_status "All tests completed"
     if [ -n "${FAILURES}" ]; then
         echo "Some failures were detected:"