kbuild: consolidate Devicetree dtb build rules
authorRob Herring <robh@kernel.org>
Wed, 10 Jan 2018 21:19:37 +0000 (15:19 -0600)
committerRob Herring <robh@kernel.org>
Tue, 2 Oct 2018 14:23:21 +0000 (09:23 -0500)
commit37c8a5fafa3bb7dcdd51774be353be6cb2912b86
tree4d31eb8716c1b685ff56d09da3e4ba394c018596
parentbe7cd2df1d22d29e5f23ce8744fc465cc07cc2bc
kbuild: consolidate Devicetree dtb build rules

There is nothing arch specific about building dtb files other than their
location under /arch/*/boot/dts/. Keeping each arch aligned is a pain.
The dependencies and supported targets are all slightly different.
Also, a cross-compiler for each arch is needed, but really the host
compiler preprocessor is perfectly fine for building dtbs. Move the
build rules to a common location and remove the arch specific ones. This
is done in a single step to avoid warnings about overriding rules.

The build dependencies had been a mixture of 'scripts' and/or 'prepare'.
These pull in several dependencies some of which need a target compiler
(specifically devicetable-offsets.h) and aren't needed to build dtbs.
All that is really needed is dtc, so adjust the dependencies to only be
dtc.

This change enables support 'dtbs_install' on some arches which were
missing the target.

Acked-by: Will Deacon <will.deacon@arm.com>
Acked-by: Paul Burton <paul.burton@mips.com>
Acked-by: Ley Foon Tan <ley.foon.tan@intel.com>
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Michal Marek <michal.lkml@markovi.net>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: James Hogan <jhogan@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Chris Zankel <chris@zankel.net>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: linux-kbuild@vger.kernel.org
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: uclinux-h8-devel@lists.sourceforge.jp
Cc: linux-mips@linux-mips.org
Cc: nios2-dev@lists.rocketboards.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-xtensa@linux-xtensa.org
Signed-off-by: Rob Herring <robh@kernel.org>
17 files changed:
Makefile
arch/arc/Makefile
arch/arm/Makefile
arch/arm64/Makefile
arch/c6x/Makefile
arch/h8300/Makefile
arch/microblaze/Makefile
arch/microblaze/boot/dts/Makefile
arch/mips/Makefile
arch/nds32/Makefile
arch/nios2/Makefile
arch/nios2/boot/Makefile
arch/powerpc/Makefile
arch/xtensa/Makefile
scripts/Makefile
scripts/Makefile.lib
scripts/dtc/Makefile