summaryrefslogtreecommitdiffstats
path: root/rules/dtc.make
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2014-02-18 11:06:46 +0100
committerMichael Olbrich <m.olbrich@pengutronix.de>2014-02-18 11:47:58 +0100
commit6a70e98b54a5a63c19d8e05eb1c5ffd952fe565e (patch)
tree5f29319771405d9c49901f66d2eedfdca2650a9b /rules/dtc.make
parent0142691e855453934a4a32620dceacfe71bfee88 (diff)
downloadptxdist-6a70e98b54a5a63c19d8e05eb1c5ffd952fe565e.tar.gz
ptxdist-6a70e98b54a5a63c19d8e05eb1c5ffd952fe565e.tar.xz
dtc: fix dtb dependency handling
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'rules/dtc.make')
-rw-r--r--rules/dtc.make19
1 files changed, 12 insertions, 7 deletions
diff --git a/rules/dtc.make b/rules/dtc.make
index 191c691a4..2747ddd2e 100644
--- a/rules/dtc.make
+++ b/rules/dtc.make
@@ -23,15 +23,19 @@ DTC_VERSION := 1.0.0
ptx/dtb = $(notdir $(basename $(strip $(1)))).dtb
+%.dtb: TMP_DTS = $(STATEDIR)/$(notdir $<).tmp
+%.dtb: TMP_DEPS = $(PTXDIST_TEMPDIR)/dts.deps
+%.dtb: DEPS = $(STATEDIR)/$(notdir $<).deps
%.dtb:
+ echo $(TMP_DTS)
@$(call targetinfo)
@if [ -z "$(strip $<)" ]; then \
ptxd_bailout "Device-tree for `ptxd_print_path '$@'` undefined!"; \
fi
- @echo CPP `ptxd_print_path "$(STATEDIR)/$(notdir $<).tmp"`
+ @echo CPP `ptxd_print_path "$(TMP_DTS)"`
@cpp \
- -Wp,-MD,$(STATEDIR)/dtc.dtc.deps \
- -Wp,-MT,$(STATEDIR)/$(notdir $<).tmp \
+ -Wp,-MD,$(TMP_DEPS) \
+ -Wp,-MT,$(TMP_DTS) \
-nostdinc \
-P \
-I$(dir $<) \
@@ -39,8 +43,9 @@ ptx/dtb = $(notdir $(basename $(strip $(1)))).dtb
-I$(KERNEL_DIR)/arch/$(GENERIC_KERNEL_ARCH)/boot/dts/include \
-I$(KERNEL_DIR)/include \
-undef -D__DTS__ -x assembler-with-cpp \
- -o $(STATEDIR)/$(notdir $<).tmp \
+ -o $(TMP_DTS) \
$<
+ @sed 's;^$(TMP_DTS):;$@:;' $(TMP_DEPS) > $(DEPS)
@echo DTC `ptxd_print_path "$@"`
@if $(PTXCONF_SYSROOT_HOST)/bin/dtc -h 2>&1 | grep -q "^[[:space:]]-i$$"; then \
dtc_include="-i $(dir $<) -i $(KERNEL_DIR)/arch/$(GENERIC_KERNEL_ARCH)/boot/dts"; \
@@ -48,16 +53,16 @@ ptx/dtb = $(notdir $(basename $(strip $(1)))).dtb
$(PTXCONF_SYSROOT_HOST)/bin/dtc \
$(call remove_quotes,$(PTXCONF_DTC_EXTRA_ARGS)) \
$$dtc_include \
- -d $(PTXDIST_TEMPDIR)/dtc.dtc.deps \
+ -d $(TMP_DEPS) \
-I dts -O dtb -b 0 \
- -o "$@" "$(STATEDIR)/$(notdir $<).tmp"
+ -o "$@" "$(TMP_DTS)"
@awk '{ \
printf "%s", $$1 ; \
for (i = 2; i <= NF; i++) { \
printf " $$(wildcard %s)", $$i; \
}; \
print "" \
- }' $(PTXDIST_TEMPDIR)/dtc.dtc.deps >> $(STATEDIR)/dtc.dtc.deps
+ }' $(TMP_DEPS) >> $(DEPS)
@$(call finish)
DTC_DTB = $(foreach dts, $(call remove_quotes,$(PTXCONF_DTC_OFTREE_DTS)), $(IMAGEDIR)/$(call ptx/dtb, $(dts)))