forked from Minki/linux
MIPS: zboot: Avoid useless rebuilds
Add dummy.o to the targets list, and fill targets automatically from $(vmlinuzobjs) to avoid having to maintain two lists. When building with XZ compression copy ashldi3.c to the build directory to use a different object file for the kernel and zboot. Without this the same object file need to be build with different flags which cause a rebuild at every run. Signed-off-by: Alban Bedel <albeu@free.fr> Cc: linux-mips@linux-mips.org Cc: Alex Smith <alex.smith@imgtec.com> Cc: Wu Zhangjin <wuzhangjin@gmail.com> Cc: Andrew Bresticker <abrestic@chromium.org> Cc: linux-kernel@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/11810/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
a7b43812ae
commit
25f66096ac
@ -29,8 +29,6 @@ KBUILD_AFLAGS := $(LINUXINCLUDE) $(KBUILD_AFLAGS) -D__ASSEMBLY__ \
|
|||||||
-DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) \
|
-DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) \
|
||||||
-DKERNEL_ENTRY=$(VMLINUX_ENTRY_ADDRESS)
|
-DKERNEL_ENTRY=$(VMLINUX_ENTRY_ADDRESS)
|
||||||
|
|
||||||
targets := head.o decompress.o string.o dbg.o uart-16550.o uart-alchemy.o
|
|
||||||
|
|
||||||
# decompressor objects (linked with vmlinuz)
|
# decompressor objects (linked with vmlinuz)
|
||||||
vmlinuzobjs-y := $(obj)/head.o $(obj)/decompress.o $(obj)/string.o
|
vmlinuzobjs-y := $(obj)/head.o $(obj)/decompress.o $(obj)/string.o
|
||||||
|
|
||||||
@ -40,9 +38,13 @@ vmlinuzobjs-$(CONFIG_SYS_SUPPORTS_ZBOOT_UART16550) += $(obj)/uart-16550.o
|
|||||||
vmlinuzobjs-$(CONFIG_MIPS_ALCHEMY) += $(obj)/uart-alchemy.o
|
vmlinuzobjs-$(CONFIG_MIPS_ALCHEMY) += $(obj)/uart-alchemy.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_KERNEL_XZ
|
vmlinuzobjs-$(CONFIG_KERNEL_XZ) += $(obj)/ashldi3.o
|
||||||
vmlinuzobjs-y += $(obj)/../../lib/ashldi3.o
|
|
||||||
endif
|
$(obj)/ashldi3.o: KBUILD_CFLAGS += -I$(srctree)/arch/mips/lib
|
||||||
|
$(obj)/ashldi3.c: $(srctree)/arch/mips/lib/ashldi3.c
|
||||||
|
$(call cmd,shipped)
|
||||||
|
|
||||||
|
targets := $(notdir $(vmlinuzobjs-y))
|
||||||
|
|
||||||
targets += vmlinux.bin
|
targets += vmlinux.bin
|
||||||
OBJCOPYFLAGS_vmlinux.bin := $(OBJCOPYFLAGS) -O binary -R .comment -S
|
OBJCOPYFLAGS_vmlinux.bin := $(OBJCOPYFLAGS) -O binary -R .comment -S
|
||||||
@ -60,7 +62,7 @@ targets += vmlinux.bin.z
|
|||||||
$(obj)/vmlinux.bin.z: $(obj)/vmlinux.bin FORCE
|
$(obj)/vmlinux.bin.z: $(obj)/vmlinux.bin FORCE
|
||||||
$(call if_changed,$(tool_y))
|
$(call if_changed,$(tool_y))
|
||||||
|
|
||||||
targets += piggy.o
|
targets += piggy.o dummy.o
|
||||||
OBJCOPYFLAGS_piggy.o := --add-section=.image=$(obj)/vmlinux.bin.z \
|
OBJCOPYFLAGS_piggy.o := --add-section=.image=$(obj)/vmlinux.bin.z \
|
||||||
--set-section-flags=.image=contents,alloc,load,readonly,data
|
--set-section-flags=.image=contents,alloc,load,readonly,data
|
||||||
$(obj)/piggy.o: $(obj)/dummy.o $(obj)/vmlinux.bin.z FORCE
|
$(obj)/piggy.o: $(obj)/dummy.o $(obj)/vmlinux.bin.z FORCE
|
||||||
|
Loading…
Reference in New Issue
Block a user