From 7e94a699ddd0b16a281fe65b08c7fc0bf29d9e91 Mon Sep 17 00:00:00 2001 From: Manish Pandey Date: Mon, 21 Jan 2019 14:50:10 +0000 Subject: [PATCH] Make device tree pre-processing similar to U-boot/Linux Following changes are done to make DT pre-processing similar to that of U-boot/Linux kernel. 1. Creating seperate CPPFLAGS for DT preprocessing so that compiler options specific to it can be accommodated. e.g: "-undef" compiler option avoids replacing "linux" string(used in device trees) with "1" as "linux" is a pre-defined macro in gnu99 standard. 2. Replace CPP with PP for DT pre-processing, as CPP in U-boot/Linux is exported as "${CROSS_COMPILE}gcc -E" while in TF-A it is exported as "${CROSS_COMPILE}cpp". Change-Id: If4c61a249d51614d9f53ae30b602036d50c02349 Signed-off-by: Manish Pandey --- Makefile | 1 + make_helpers/build_macros.mk | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index ad1ba152f..4e606a2ca 100644 --- a/Makefile +++ b/Makefile @@ -242,6 +242,7 @@ TF_LDFLAGS += --gc-sections TF_LDFLAGS += $(TF_LDFLAGS_$(ARCH)) DTC_FLAGS += -I dts -O dtb +DTC_CPPFLAGS += -nostdinc -Iinclude -undef -x assembler-with-cpp ################################################################################ # Common sources and include directories diff --git a/make_helpers/build_macros.mk b/make_helpers/build_macros.mk index 961cabfee..73b84c38a 100644 --- a/make_helpers/build_macros.mk +++ b/make_helpers/build_macros.mk @@ -464,7 +464,7 @@ $(eval DTBDEP := $(patsubst %.dtb,%.d,$(DOBJ))) $(DOBJ): $(2) $(filter-out %.d,$(MAKEFILE_LIST)) | fdt_dirs $${ECHO} " CPP $$<" $(eval DTBS := $(addprefix $(1)/,$(call SOURCES_TO_DTBS,$(2)))) - $$(Q)$$(CPP) $$(CPPFLAGS) -x assembler-with-cpp -MT $(DTBS) -MMD -MF $(DTSDEP) -o $(DPRE) $$< + $$(Q)$$(PP) $$(DTC_CPPFLAGS) -MT $(DTBS) -MMD -MF $(DTSDEP) -o $(DPRE) $$< $${ECHO} " DTC $$<" $$(Q)$$(DTC) $$(DTC_FLAGS) -i fdts -d $(DTBDEP) -o $$@ $(DPRE)