On Wed, Jul 22, 2020 at 2:34 PM Max Filippov <jcmvbkbc@xxxxxxxxx> wrote: > > vmlinux.bin and vmlinux.bin.gz are always rebuilt in the kernel build > process. Add them to 'targets' and move them to the boot subdirectory > where their rules are. Update make rules that refer to them. > > Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> > --- Reviewed-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > arch/xtensa/boot/Makefile | 11 ++++++----- > arch/xtensa/boot/boot-elf/Makefile | 4 ++-- > arch/xtensa/boot/boot-redboot/Makefile | 4 ++-- > 3 files changed, 10 insertions(+), 9 deletions(-) > > diff --git a/arch/xtensa/boot/Makefile b/arch/xtensa/boot/Makefile > index 1a14d38d9b33..801fe30b4dfe 100644 > --- a/arch/xtensa/boot/Makefile > +++ b/arch/xtensa/boot/Makefile > @@ -17,6 +17,7 @@ BIG_ENDIAN := $(shell echo __XTENSA_EB__ | $(CC) -E - | grep -v "\#") > export BIG_ENDIAN > > subdir-y := lib > +targets += vmlinux.bin vmlinux.bin.gz > > # Subdirs for the boot loader(s) > > @@ -35,19 +36,19 @@ boot-elf boot-redboot: $(addprefix $(obj)/,$(subdir-y)) > > OBJCOPYFLAGS = --strip-all -R .comment -R .notes -O binary > > -vmlinux.bin: vmlinux FORCE > +$(obj)/vmlinux.bin: vmlinux FORCE > $(call if_changed,objcopy) > > -vmlinux.bin.gz: vmlinux.bin FORCE > +$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE > $(call if_changed,gzip) > > -boot-elf: vmlinux.bin > -boot-redboot: vmlinux.bin.gz > +boot-elf: $(obj)/vmlinux.bin > +boot-redboot: $(obj)/vmlinux.bin.gz > > UIMAGE_LOADADDR = $(CONFIG_KERNEL_LOAD_ADDRESS) > UIMAGE_COMPRESSION = gzip > > -$(obj)/uImage: vmlinux.bin.gz FORCE > +$(obj)/uImage: $(obj)/vmlinux.bin.gz FORCE > $(call if_changed,uimage) > $(Q)$(kecho) ' Kernel: $@ is ready' > > diff --git a/arch/xtensa/boot/boot-elf/Makefile b/arch/xtensa/boot/boot-elf/Makefile > index badee63dae27..0ebc9827f7e5 100644 > --- a/arch/xtensa/boot/boot-elf/Makefile > +++ b/arch/xtensa/boot/boot-elf/Makefile > @@ -19,9 +19,9 @@ targets += $(boot-y) boot.lds > > OBJS := $(addprefix $(obj)/,$(boot-y)) > > -$(obj)/Image.o: vmlinux.bin $(OBJS) > +$(obj)/Image.o: $(obj)/../vmlinux.bin $(OBJS) > $(Q)$(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \ > - --add-section image=vmlinux.bin \ > + --add-section image=$< \ > --set-section-flags image=contents,alloc,load,load,data \ > $(OBJS) $@ > > diff --git a/arch/xtensa/boot/boot-redboot/Makefile b/arch/xtensa/boot/boot-redboot/Makefile > index 1a277dd57b2a..07cb24afedc2 100644 > --- a/arch/xtensa/boot/boot-redboot/Makefile > +++ b/arch/xtensa/boot/boot-redboot/Makefile > @@ -20,9 +20,9 @@ LIBS := arch/xtensa/boot/lib/lib.a arch/xtensa/lib/lib.a > > LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) > > -$(obj)/zImage.o: vmlinux.bin.gz $(OBJS) > +$(obj)/zImage.o: $(obj)/../vmlinux.bin.gz $(OBJS) > $(Q)$(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \ > - --add-section image=vmlinux.bin.gz \ > + --add-section image=$< \ > --set-section-flags image=contents,alloc,load,load,data \ > $(OBJS) $@ > > -- > 2.20.1 > -- Best Regards Masahiro Yamada