Subject: [PATCH 2/7] arm64: Add dtbs target for building all the enabled dtb files

From: [email-masked] (Rob Herring)
Date: Fri, 07 Dec 2012 15:47:24 -0600

On 12/07/2012 03:06 PM, Catalin Marinas wrote:
> Based on Rob Herring's patches for arch/arm, this patch adds a dtbs
> target to arch/arm64/boot/Makefile. In the process, also clean up the
> unused MACHINE variable.
> 
> Signed-off-by: Catalin Marinas <[email-masked]>
> ---
> 
> I'll drop this patch once Rob pushes his version into linux-next (or
> mainline).

This and Stephen's dtb rule series are in linux-next now.

Rob

> 
>  arch/arm64/Makefile        | 17 +++++++++++------
>  arch/arm64/boot/.gitignore |  1 +
>  arch/arm64/boot/Makefile   |  8 +++++++-
>  3 files changed, 19 insertions(+), 7 deletions(-)
>  create mode 100644 arch/arm64/boot/dts/Makefile
> 
> diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
> index 364191f..64089bc 100644
> --- a/arch/arm64/Makefile
> +++ b/arch/arm64/Makefile
> @@ -41,20 +41,24 @@ libs-y		:= arch/arm64/lib/ $(libs-y)
>  libs-y		+= $(LIBGCC)
>  
>  # Default target when executing plain make
> -KBUILD_IMAGE := Image.gz
> +KBUILD_IMAGE	:= Image.gz
> +KBUILD_DTBS	:= dtbs
>  
> -all:	$(KBUILD_IMAGE)
> +all:	$(KBUILD_IMAGE) $(KBUILD_DTBS)
>  
>  boot := arch/arm64/boot
>  
>  Image Image.gz: vmlinux
> -	$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
> +	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
>  
>  zinstall install: vmlinux
> -	$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $@
> +	$(Q)$(MAKE) $(build)=$(boot) $@
>  
> -%.dtb:
> -	$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
> +%.dtb: scripts
> +	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
> +
> +dtbs: scripts
> +	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
>  
>  # We use MRPROPER_FILES and CLEAN_FILES now
>  archclean:
> @@ -63,6 +67,7 @@ archclean:
>  define archhelp
>    echo  '* Image.gz      - Compressed kernel image (arch/$(ARCH)/boot/Image.gz)'
>    echo  '  Image         - Uncompressed kernel image (arch/$(ARCH)/boot/Image)'
> +  echo  '* dtbs          - Build device tree blobs for enabled boards'
>    echo  '  install       - Install uncompressed kernel'
>    echo  '  zinstall      - Install compressed kernel'
>    echo  '                  Install using (your) ~/bin/installkernel or'
> diff --git a/arch/arm64/boot/.gitignore b/arch/arm64/boot/.gitignore
> index 8dab0bb..98af90a 100644
> --- a/arch/arm64/boot/.gitignore
> +++ b/arch/arm64/boot/.gitignore
> @@ -1,2 +1,3 @@
>  Image
>  Image.gz
> +*.dtb
> diff --git a/arch/arm64/boot/Makefile b/arch/arm64/boot/Makefile
> index eca209b..1ab9bf1 100644
> --- a/arch/arm64/boot/Makefile
> +++ b/arch/arm64/boot/Makefile
> @@ -14,6 +14,8 @@
>  # Based on the ia64 boot/Makefile.
>  #
>  
> +include $(srctree)/arch/arm64/boot/dts/Makefile
> +
>  targets := Image Image.gz
>  
>  $(obj)/Image: vmlinux FORCE
> @@ -22,9 +24,13 @@ $(obj)/Image: vmlinux FORCE
>  $(obj)/Image.gz: $(obj)/Image FORCE
>  	$(call if_changed,gzip)
>  
> -$(obj)/%.dtb: $(src)/dts/%.dts
> +targets += $(dtb-y)
> +
> +$(obj)/%.dtb: $(src)/dts/%.dts FORCE
>  	$(call cmd,dtc)
>  
> +$(obj)/dtbs: $(addprefix $(obj)/, $(dtb-y))
> +
>  install: $(obj)/Image
>  	$(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \
>  	$(obj)/Image System.map "$(INSTALL_PATH)"
> diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
> new file mode 100644
> index 0000000..e69de29
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>