When using a builtin dtb the builtin dtb is built twice, once from as a dependency of the 'dtbs' target and once as a dependency of the corresponding dtb.o target. This can happen in parallel with parallel make which results in build corruption when two processes try to generate the dtb at the same time. Typical errors include: fixdep: error opening depfile: arch/arm/dts/.imx51-babbage.dtb.d: No such file or directory make[1]: *** [arch/arm/dts/imx51-babbage.dtb] Error 2 fixdep: arch/arm/dts/.imx51-babbage.dtb.d is empty mv: cannot stat `arch/arm/dts/.imx51-babbage.dtb.tmp': No such file or directory make[1]: *** [arch/arm/dts/imx51-babbage.dtb] Error 1 To fix this build the devicetree blobs using extra-y instead of a separate target. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- arch/arm/Makefile | 5 ----- arch/arm/dts/Makefile | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/arch/arm/Makefile b/arch/arm/Makefile index d506b12..5da0a8f 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -274,11 +274,6 @@ dts := arch/arm/dts %.dtb: scripts $(Q)$(MAKE) $(build)=$(dts) $(dts)/$@ -dtbs: scripts - $(Q)$(MAKE) $(build)=$(dts) dtbs - -KBUILD_DTBS := dtbs - KBUILD_IMAGE ?= $(KBUILD_BINARY) archprepare: maketools diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 45a3304..4569e3d 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -7,6 +7,6 @@ obj-$(CONFIG_BUILTIN_DTB) += $(BUILTIN_DTB).dtb.o targets += dtbs targets += $(dtb-y) -dtbs: $(addprefix $(obj)/, $(dtb-y)) +extra-y += $(dtb-y) clean-files := *.dtb *.dtb.S -- 1.8.2.rc2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox