summaryrefslogtreecommitdiff
path: root/dts
diff options
context:
space:
mode:
Diffstat (limited to 'dts')
-rw-r--r--dts/Makefile13
1 files changed, 10 insertions, 3 deletions
diff --git a/dts/Makefile b/dts/Makefile
index c4ac153ef3..3a93dafb51 100644
--- a/dts/Makefile
+++ b/dts/Makefile
@@ -12,10 +12,14 @@ ifeq ($(DEVICE_TREE),)
DEVICE_TREE := unset
endif
+ARCH_PATH := arch/$(ARCH)/dts
+dtb_depends := arch-dtbs
+
ifneq ($(EXT_DTB),)
DTB := $(EXT_DTB)
else
-DTB := arch/$(ARCH)/dts/$(DEVICE_TREE).dtb
+DTB := $(ARCH_PATH)/$(DEVICE_TREE).dtb
+dtb_depends += $(DTB:.dtb=.dts)
endif
$(obj)/dt.dtb: $(DTB) FORCE
@@ -23,7 +27,10 @@ $(obj)/dt.dtb: $(DTB) FORCE
targets += dt.dtb
-$(DTB): arch-dtbs
+$(DTB): $(dtb_depends)
+ifeq ($(EXT_DTB),)
+ $(Q)$(MAKE) $(build)=$(ARCH_PATH) $@
+endif
$(Q)test -e $@ || ( \
echo >&2; \
echo >&2 "Device Tree Source is not correctly specified."; \
@@ -33,7 +40,7 @@ $(DTB): arch-dtbs
/bin/false)
arch-dtbs:
- $(Q)$(MAKE) $(build)=arch/$(ARCH)/dts dtbs
+ $(Q)$(MAKE) $(build)=$(ARCH_PATH) dtbs
.SECONDARY: $(obj)/dt.dtb.S