Makefile: use if_change_dep for u-boot.cfg
authorStephen Warren <swarren@nvidia.com>
Mon, 19 Sep 2016 18:20:25 +0000 (12:20 -0600)
committerTom Rini <trini@konsulko.com>
Thu, 22 Sep 2016 15:34:59 +0000 (11:34 -0400)
cmd_cpp_cfg generates a dependency output, but because it's invoked using
if_changed rather than if_changed_dep, that dependency file is ignored.
This results in Kbuild not knowing about which files u-boot.cfg depends
on, so it may not be rebuilt when required.

A practical result of this is that u-boot.cfg may continue to reference
CONFIG_ options that no longer exist in the source tree, and this can
cause the adhoc config options check to fail.

This change modifies Makefile to use if_changed_dep, which in turn causes
all dependencies to be known to the next make invocation.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Makefile
scripts/Makefile.spl

index fffc188f9ac023f42c3ec7c612a98a5e1e35fefa..949b264b8fee8564252d6fdc3d25d991b3fe4e77 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -937,7 +937,7 @@ u-boot.dis: u-boot
                $(OBJDUMP) -d $< > $@
 
 u-boot.cfg:    include/config.h FORCE
-       $(call if_changed,cpp_cfg)
+       $(call if_changed_dep,cpp_cfg)
 
 # Check that this build does not use CONFIG options that we don't know about
 # unless they are in Kconfig. All the existing CONFIG options are whitelisted,
index 4994fa887ba3b387acf1a21bc578aa96f5b3afad..d0d73d3b0a4c667b6cabf323b622b4d93a56f77c 100644 (file)
@@ -217,7 +217,7 @@ cmd_cpp_cfg = $(CPP) -Wp,-MD,$(depfile) $(cpp_flags) $(LDPPFLAGS) -ansi \
        -DDO_DEPS_ONLY -D__ASSEMBLY__ -x assembler-with-cpp -P -dM -E -o $@ $<
 
 $(obj)/$(SPL_BIN).cfg: include/config.h FORCE
-       $(call if_changed,cpp_cfg)
+       $(call if_changed_dep,cpp_cfg)
 
 pythonpath = PYTHONPATH=tools