@@ -175,9 +175,12 @@ $(addprefix $(obj)/,$(libfdt) $(libfdtheader)): $(obj)/%: $(srctree)/scripts/dtc
$(obj)/empty.c:
$(Q)touch $@
-$(obj)/zImage.lds: $(obj)/%: $(srctree)/$(src)/%.S
- $(CROSS32CC) $(cpp_flags) -E -Wp,-MD,$(depfile) -P -Upowerpc \
- -D__ASSEMBLY__ -DLINKER_SCRIPT -o $@ $<
+quiet_cmd_zImage_lds_S = LDS $@
+ cmd_zImage_lds_S = $(CROSS32CC) $(cpp_flags) -E -Wp,-MD,$(depfile) -P \
+ -Upowerpc -D__ASSEMBLY__ -DLINKER_SCRIPT -o $@ $<
+
+$(obj)/zImage.lds: $(obj)/%: $(srctree)/$(src)/%.S FORCE
+ $(call if_changed_dep,zImage_lds_S)
$(obj)/zImage.coff.lds $(obj)/zImage.ps3.lds : $(obj)/%: $(srctree)/$(src)/%.S
$(Q)cp $< $@
Changing config options (e.g., endianness) does not always seem to regenerate zImage.lds properly. Adapt the standard kernel linker script build command and use that. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> --- Changes since v1: - Using cmd_cpp_lds_S command name was causing it to actually use the generic kbuild linker script command, which among other things did not undefine powerpc, causing the linker script to break for 32-bit. Use a new name. arch/powerpc/boot/Makefile | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)