In some use cases, SPL linker script was not updated even when it should be.
For instance, $ make tricoder_config all [ build complete ] ... modify include/configs/tricoder.h $ make spl/u-boot-spl.lds should be updated in this case, but it wasn't. To fix this problem, linker scripts generation should be handled by $(call if_changed_dep,...) rather than by $(call if_changed,...). Signed-off-by: Masahiro Yamada <yamad...@jp.panasonic.com> Reported-by: Andreas Bießmann <andreas.de...@googlemail.com> --- Makefile | 6 +++--- spl/Makefile | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index b807e5c..b2937e9 100644 --- a/Makefile +++ b/Makefile @@ -1053,11 +1053,11 @@ depend dep: # --------------------------------------------------------------------------- quiet_cmd_cpp_lds = LDS $@ -cmd_cpp_lds = $(CPP) $(cpp_flags) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ \ - -x assembler-with-cpp -P -o $@ $< +cmd_cpp_lds = $(CPP) -Wp,-MD,$(depfile) $(cpp_flags) $(LDPPFLAGS) -ansi \ + -D__ASSEMBLY__ -x assembler-with-cpp -P -o $@ $< u-boot.lds: $(LDSCRIPT) prepare FORCE - $(call if_changed,cpp_lds) + $(call if_changed_dep,cpp_lds) PHONY += nand_spl nand_spl: prepare diff --git a/spl/Makefile b/spl/Makefile index 9f5dbf4..6fec252 100644 --- a/spl/Makefile +++ b/spl/Makefile @@ -231,11 +231,11 @@ $(u-boot-spl-dirs): $(Q)$(MAKE) $(build)=$@ quiet_cmd_cpp_lds = LDS $@ -cmd_cpp_lds = $(CPP) $(cpp_flags) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ \ - -x assembler-with-cpp -P -o $@ $< +cmd_cpp_lds = $(CPP) -Wp,-MD,$(depfile) $(cpp_flags) $(LDPPFLAGS) -ansi \ + -D__ASSEMBLY__ -x assembler-with-cpp -P -o $@ $< $(obj)/u-boot-spl.lds: $(LDSCRIPT) FORCE - $(call if_changed,cpp_lds) + $(call if_changed_dep,cpp_lds) # read all saved command lines -- 1.8.3.2 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot