diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2013-05-31 12:15:08 +0200 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2013-05-31 12:15:12 +0200 |
commit | 55d7491bb2ea1480dbf1d9f1983c450ad34adfa9 (patch) | |
tree | 0299a634d8ebb9cb85ea3c3bbd98270ca0c0d99e | |
parent | 22f6bda8475bd3c8a52f2adc5a213099b0be6bd0 (diff) | |
download | ptxdist-55d7491bb2ea1480dbf1d9f1983c450ad34adfa9.tar.gz ptxdist-55d7491bb2ea1480dbf1d9f1983c450ad34adfa9.tar.xz |
dtc: pre-process device-trees with cpp
This may be needed for device-trees from Linux v3.10 and later.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r-- | rules/dtc.make | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/rules/dtc.make b/rules/dtc.make index c7a450fb4..027fc7b56 100644 --- a/rules/dtc.make +++ b/rules/dtc.make @@ -25,9 +25,33 @@ ptx/dtb = $(notdir $(basename $(strip $(1)))).dtb %.dtb: @$(call targetinfo) + @echo CPP `ptxd_print_path "$<.tmp"` + @cpp \ + -Wp,-MD,$(STATEDIR)/dtc.dtc.deps \ + -Wp,-MT,$<.tmp \ + -nostdinc \ + -I$(dir $<) \ + -I$(KERNEL_DIR)/arch/$(KERNEL_ARCH)/boot/dts \ + -I$(KERNEL_DIR)/arch/$(KERNEL_ARCH)/boot/dts/include \ + -undef -D__DTS__ -x assembler-with-cpp \ + -o $<.tmp \ + $< + @echo DTC `ptxd_print_path "$@"` @$(PTXCONF_SYSROOT_HOST)/bin/dtc \ $(call remove_quotes,$(PTXCONF_DTC_EXTRA_ARGS)) \ - -I dts -O dtb -o "$@" "$<" + -i $(dir $<) \ + -i $(KERNEL_DIR)/arch/$(KERNEL_ARCH)/boot/dts \ + -d $(PTXDIST_TEMPDIR)/dtc.dtc.deps \ + -I dts -O dtb -b 0 \ + -o "$@" "$<.tmp" + @awk '{ \ + printf "%s", $$1 ; \ + for (i = 2; i <= NF; i++) { \ + printf " $$(wildcard %s)", $$i; \ + }; \ + print "" \ + }' $(PTXDIST_TEMPDIR)/dtc.dtc.deps >> $(STATEDIR)/dtc.dtc.deps + @$(call finish) DTC_DTB = $(foreach dts, $(call remove_quotes,$(PTXCONF_DTC_OFTREE_DTS)), $(IMAGEDIR)/$(call ptx/dtb, $(dts))) |