summaryrefslogtreecommitdiff
path: root/make_helpers
diff options
context:
space:
mode:
authorYann Gautier <yann.gautier@st.com>2018-06-18 16:00:23 +0200
committerYann Gautier <yann.gautier@st.com>2018-06-18 16:05:16 +0200
commit01d237cb70f00b4647a9dbef7301801071626b35 (patch)
tree849a1c503ffc3201323d45a087cc2c4f17fdcb30 /make_helpers
parent841cb4f7251258010344dfa7bcd5f3faa51eb532 (diff)
Build: add cpp build processing for dtb
This is an add-on feature that allows processing device tree with external includes. "-Iinclude" is also added to INCLUDES. It allows inclusion of dt-bindings files either in dts files or drivers, as those files will be in include/dt-bindings/. "-i fdts" is added to the DTC command line. As the pre-processed files are in build directory, the DT source directory has to be explicitely included, to manages /include/ directives. fixes arm-software/tf-issues#595 Signed-off-by: Lionel Debieve <lionel.debieve@st.com> Signed-off-by: Yann Gautier <yann.gautier@st.com>
Diffstat (limited to 'make_helpers')
-rw-r--r--make_helpers/build_macros.mk5
1 files changed, 4 insertions, 1 deletions
diff --git a/make_helpers/build_macros.mk b/make_helpers/build_macros.mk
index cac9dfc4..2a6ded49 100644
--- a/make_helpers/build_macros.mk
+++ b/make_helpers/build_macros.mk
@@ -372,11 +372,14 @@ endef
define MAKE_DTB
$(eval DOBJ := $(addprefix $(1)/,$(call SOURCES_TO_DTBS,$(2))))
+$(eval DPRE := $(addprefix $(1)/,$(patsubst %.dts,%.pre.dts,$(notdir $(2)))))
$(eval DEP := $(patsubst %.dtb,%.d,$(DOBJ)))
$(DOBJ): $(2) $(filter-out %.d,$(MAKEFILE_LIST)) | fdt_dirs
+ @echo " CPP $$<"
+ $$(Q)$$(CPP) $$(CPPFLAGS) -x assembler-with-cpp -o $(DPRE) $$<
@echo " DTC $$<"
- $$(Q)$$(DTC) $$(DTC_FLAGS) -d $(DEP) -o $$@ $$<
+ $$(Q)$$(DTC) $$(DTC_FLAGS) -i fdts -d $(DEP) -o $$@ $(DPRE)
-include $(DEP)