]> granicus.if.org Git - esp-idf/commitdiff
build system: Fix bad partial builds after updates, sdkconfig changes
authorAngus Gratton <angus@espressif.com>
Wed, 20 Sep 2017 07:38:54 +0000 (17:38 +1000)
committerAngus Gratton <gus@projectgus.com>
Wed, 20 Sep 2017 08:11:15 +0000 (18:11 +1000)
Fixes accidental regression merging 9903ea1c1102.

Add test case for this kind of rebuilding.

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

index 751668d4b0db6baf62121b90cf7001af900041e9..d05777e300987210fd8886fcde332e36513a00ea 100644 (file)
@@ -147,7 +147,11 @@ endef
 # component-specific feature, please don't! What you want is a
 # Makefile.projbuild for your component (see docs/build-system.rst for
 # more.)
-component_project_vars.mk:
+#
+# Note: The :: target here is not a mistake. This target should always be
+# executed, as dependencies are checked by the parent project-level make target.
+# See https://www.gnu.org/software/make/manual/make.html#index-_003a_003a-rules-_0028double_002dcolon_0029
+component_project_vars.mk::
        $(details) "Building component project variables list $(abspath $@)"
        @echo '# Automatically generated build file. Do not edit.' > $@
        @echo 'COMPONENT_INCLUDES += $(call MakeVariablePath,$(addprefix $(COMPONENT_PATH)/,$(COMPONENT_ADD_INCLUDEDIRS)))' >> $@
index e7a3c731606504f3ff74ff4a770b804a75c5d0b4..36bf2268d98b46c13dab3518cd7b25a2dddfcf4a 100755 (executable)
@@ -165,6 +165,8 @@ function run_tests()
     take_build_snapshot
     touch sdkconfig
     make
+    # check the component_project_vars.mk file was rebuilt
+    assert_rebuilt esp32/component_project_vars.mk
     # pick one each of .c, .cpp, .S that #includes sdkconfig.h
     # and therefore should rebuild
     assert_rebuilt newlib/syscall_table.o