aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorRob Herring <robh@kernel.org>2018-01-10 16:19:37 -0500
committerRob Herring <robh@kernel.org>2018-10-02 10:23:21 -0400
commit37c8a5fafa3bb7dcdd51774be353be6cb2912b86 (patch)
tree4d31eb8716c1b685ff56d09da3e4ba394c018596 /scripts
parentbe7cd2df1d22d29e5f23ce8744fc465cc07cc2bc (diff)
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>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/Makefile3
-rw-r--r--scripts/Makefile.lib2
-rw-r--r--scripts/dtc/Makefile2
3 files changed, 3 insertions, 4 deletions
diff --git a/scripts/Makefile b/scripts/Makefile
index 61affa300d25..ece52ff20171 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -39,8 +39,7 @@ build_unifdef: $(obj)/unifdef
39subdir-$(CONFIG_MODVERSIONS) += genksyms 39subdir-$(CONFIG_MODVERSIONS) += genksyms
40subdir-y += mod 40subdir-y += mod
41subdir-$(CONFIG_SECURITY_SELINUX) += selinux 41subdir-$(CONFIG_SECURITY_SELINUX) += selinux
42subdir-$(CONFIG_DTC) += dtc
43subdir-$(CONFIG_GDB_SCRIPTS) += gdb 42subdir-$(CONFIG_GDB_SCRIPTS) += gdb
44 43
45# Let clean descend into subdirs 44# Let clean descend into subdirs
46subdir- += basic kconfig package gcc-plugins 45subdir- += basic dtc kconfig package gcc-plugins
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 61e596650ed3..8fe4468f9bda 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -283,7 +283,7 @@ $(obj)/%.dtb.S: $(obj)/%.dtb FORCE
283 283
284quiet_cmd_dtc = DTC $@ 284quiet_cmd_dtc = DTC $@
285cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \ 285cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
286 $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \ 286 $(HOSTCC) -E $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
287 $(DTC) -O dtb -o $@ -b 0 \ 287 $(DTC) -O dtb -o $@ -b 0 \
288 $(addprefix -i,$(dir $<) $(DTC_INCLUDE)) $(DTC_FLAGS) \ 288 $(addprefix -i,$(dir $<) $(DTC_INCLUDE)) $(DTC_FLAGS) \
289 -d $(depfile).dtc.tmp $(dtc-tmp) ; \ 289 -d $(depfile).dtc.tmp $(dtc-tmp) ; \
diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile
index 1c943e03eaf2..e535b457babb 100644
--- a/scripts/dtc/Makefile
+++ b/scripts/dtc/Makefile
@@ -1,7 +1,7 @@
1# SPDX-License-Identifier: GPL-2.0 1# SPDX-License-Identifier: GPL-2.0
2# scripts/dtc makefile 2# scripts/dtc makefile
3 3
4hostprogs-y := dtc 4hostprogs-$(CONFIG_DTC) := dtc
5always := $(hostprogs-y) 5always := $(hostprogs-y)
6 6
7dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \ 7dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \