diff mbox series

[1/2] xtensa: move vmlinux.bin[.gz] to boot subdirectory

Message ID 20200722053417.5915-2-jcmvbkbc@gmail.com (mailing list archive)
State New, archived
Headers show
Series xtensa: boot targets cleanup | expand

Commit Message

Max Filippov July 22, 2020, 5:34 a.m. UTC
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@gmail.com>
---
 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(-)

Comments

Masahiro Yamada July 24, 2020, 5:21 p.m. UTC | #1
On Wed, Jul 22, 2020 at 2:34 PM Max Filippov <jcmvbkbc@gmail.com> 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@gmail.com>
> ---

Reviewed-by: Masahiro Yamada <masahiroy@kernel.org>


>  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
>
diff mbox series

Patch

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) $@