kbuild: fix DTB .cmd source variable
authorStephen Warren <swarren@nvidia.com>
Tue, 26 Feb 2019 19:20:26 +0000 (12:20 -0700)
committerTom Rini <trini@konsulko.com>
Thu, 28 Feb 2019 19:21:46 +0000 (14:21 -0500)
*.dts are processed using a custom command, then the C pre-processor is
run on them, then they are compiled using dtc. Thus, the dependency
files generated by both cpp and dtc reference a temporary file name
rather than the actual source file. While this information isn't used
for any purpose by the build system, and hence this causes no functional
issue, it does cause the dependency files to contain invalid and
confusing data, which is unhelpful while debugging build problems. Fix
this using sed.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com>
scripts/Makefile.lib

index 704d644..ec5c41e 100644 (file)
@@ -301,7 +301,8 @@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
        $(DTC) -O dtb -o $@ -b 0 \
                -i $(dir $<) $(DTC_FLAGS) \
                -d $(depfile).dtc.tmp $(dtc-tmp) ; \
-       cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile)
+       cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) ; \
+       sed -i "s:$(pre-tmp):$(<):" $(depfile)
 
 $(obj)/%.dtb: $(src)/%.dts FORCE
        $(call if_changed_dep,dtc)