We had include/dt-bindings as an include path only for CPP, and this makes sense because header files in dt-bindings contain useful macros that parsed by pre-processor. Commit 4027494ae6e3 ("ARM: dts: add arm/arm64 include symlinks") and commit 0a6081b673bb ("arm64: dts: add arm/arm64 include symlinks") allow us cross-arch DT reference, but this is only available for CPP's include directives, like #include <arm/foo.dtsi> It makes as much sense to include DT from another architecture by DTC's builtin include directive, like /include/ "arm/foo.dtsi" To achieve this, scripts/dtc/include-prefixes should be passed to both CPP and DTC. I refactored Makefile.lib a bit to not repeat the same path. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> --- scripts/Makefile.lib | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 9c8f38a..dcc0d5f 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -173,8 +173,10 @@ cpp_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ ld_flags = $(LDFLAGS) $(ldflags-y) +DTC_INCLUDE := $(srctree)/scripts/dtc/include-prefixes + dtc_cpp_flags = -Wp,-MD,$(depfile).pre.tmp -nostdinc \ - -I$(srctree)/scripts/dtc/include-prefixes \ + $(addprefix -I,$(DTC_INCLUDE)) \ -undef -D__DTS__ # Finds the multi-part object the current object will be linked into @@ -315,7 +317,7 @@ quiet_cmd_dtc = DTC $@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \ $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \ $(DTC) -O dtb -o $@ -b 0 \ - -i $(dir $<) $(DTC_FLAGS) \ + $(addprefix -i,$(dir $<) $(DTC_INCLUDE)) $(DTC_FLAGS) \ -d $(depfile).dtc.tmp $(dtc-tmp) ; \ cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html