kbuild: fix dependency of DT build
I saw a DT build issue report some time before [1]. I was able to reproduce the bug, and figure out the root cause. Since commit6d427c6b1f
("binman: Automatically include a U-Boot .dtsi file"), invalid .*.cmd files are generated. Since that commit, DTS files are put into sed and piped to CPP. Because CPP reads the stream from stdin, -Wp,-MD,$(depfile).pre.tmp option generates a depfile with the target name "-". This is not the format expected by fixdep. Use one more temporary file instead of using pipe. With this, deps_ in the .*.cmd will be fixed. Having a temp file name in source_ is odd, but it is unsed in the build system. Not a big deal. [1] https://lists.denx.de/pipermail/u-boot/2017-June/294451.html Fiexes:6d427c6b1f
("binman: Automatically include a U-Boot .dtsi file") Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
parent
137aefba03
commit
ecc9709fc1
1 changed files with 4 additions and 4 deletions
|
@ -175,7 +175,7 @@ u_boot_dtsi_options = $(wildcard $(dir $<)$(basename $(notdir $<))-u-boot.dtsi)
|
|||
# $(warning u_boot_dtsi_options: $(u_boot_dtsi_options))
|
||||
|
||||
# We use the first match
|
||||
u_boot_dtsi = $(firstword $(u_boot_dtsi_options))
|
||||
u_boot_dtsi = $(notdir $(firstword $(u_boot_dtsi_options)))
|
||||
|
||||
# Modified for U-Boot
|
||||
dtc_cpp_flags = -Wp,-MD,$(depfile).pre.tmp -nostdinc \
|
||||
|
@ -308,9 +308,8 @@ quiet_cmd_dtc = DTC $@
|
|||
# Modified for U-Boot
|
||||
# Bring in any U-Boot-specific include at the end of the file
|
||||
cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
|
||||
cat $< $(if $(u_boot_dtsi),\
|
||||
| sed "$$ a\#include \"$(u_boot_dtsi)\"") | \
|
||||
$(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) - ; \
|
||||
(cat $<; $(if $(u_boot_dtsi),echo '\#include "$(u_boot_dtsi)"')) > $(pre-tmp); \
|
||||
$(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $(pre-tmp) ; \
|
||||
$(DTC) -O dtb -o $@ -b 0 \
|
||||
-i $(dir $<) $(DTC_FLAGS) \
|
||||
-d $(depfile).dtc.tmp $(dtc-tmp) ; \
|
||||
|
@ -319,6 +318,7 @@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
|
|||
$(obj)/%.dtb: $(src)/%.dts FORCE
|
||||
$(call if_changed_dep,dtc)
|
||||
|
||||
pre-tmp = $(subst $(comma),_,$(dot-target).pre.tmp)
|
||||
dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp)
|
||||
|
||||
# DTCO
|
||||
|
|
Loading…
Reference in a new issue