From: Masahiro Yamada Date: Wed, 9 Apr 2014 11:10:43 +0000 (+0900) Subject: kbuild: fix a bug in regeneration of linker scripts X-Git-Tag: v2014.04~7 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=395e60cd;p=u-boot kbuild: fix a bug in regeneration of linker scripts 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 Reported-by: Andreas Bießmann Tested-by: Andreas Bießmann --- diff --git a/Makefile b/Makefile index b807e5cd5c..b2937e95e1 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 9f5dbf4f3b..6fec2522a8 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