@@ -10,9 +10,13 @@ ifeq ($(DEVICE_TREE),)
DEVICE_TREE := unset
endif
+BUILD_DTBS := arch-dtbs
ifneq ($(EXT_DTB),)
DTB := $(EXT_DTB)
else
+ifneq ($(DEVICE_TREE),unset)
+BUILD_DTBS += target-dtb
+endif
DTB := arch/$(ARCH)/dts/$(DEVICE_TREE).dtb
endif
@@ -30,7 +34,7 @@ endif
targets += dt.dtb
-$(DTB): arch-dtbs
+$(DTB): $(BUILD_DTBS)
$(Q)test -e $@ || ( \
echo >&2; \
echo >&2 "Device Tree Source ($@) is not correctly specified."; \
@@ -39,10 +43,13 @@ $(DTB): arch-dtbs
echo >&2; \
/bin/false)
-PHONY += arch-dtbs
+PHONY += arch-dtbs target-dtb
arch-dtbs:
$(Q)$(MAKE) $(build)=arch/$(ARCH)/dts dtbs
+target-dtb:
+ $(Q)$(MAKE) $(build)=arch/$(ARCH)/dts $(DTB)
+
ifeq ($(CONFIG_SPL_BUILD),y)
obj-$(CONFIG_OF_EMBED) := dt-spl.dtb.o
# support "out-of-tree" build for dtb-spl
The devicetree described by the DEVICE_TREE variable was not build. It was only use to test if it has been built then, happen the right devicetree to U-boot binary. This patch add support to build the devicetree describe by the DEVICE_TREE variable. This avoid adding the devicetree declaration to the related Makefile. The use case is to ease the management of external devicetree when U-boot is built by a build system. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com> --- Change since v1: Use the DEVICE_TREE U-boot environment variable to select the devicetree build rather than appending the devicetree as an option of the make command. dts/Makefile | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)