During parallel build, the top Makefile spawns multiple sub-makes for targets in cpu/$(CPU) and $(dir $(LDSCRIPT)). If the .depend files are not present in these directories, the sub-makes may end up generating these files simultaneously which leads to corrupted content.
A typical error message is: .depend:39: *** multiple target patterns. Stop. This patch serializes the creation of .depend in cpu/$(CPU) and $(dir $(LDSCRIPT)) by adding these directories to the depend target in the top Makefile. Other directories in $(LIBS) are not affected since they contain only one Make target and thus only one sub-make is spawned per directory. Signed-off-by: Daniel Hobi <daniel.h...@schmid-telecom.ch> --- v2: - Break overlong line - Add comment about other directories to commit message - Also build target _depend in $(dir $(LDSCRIPT)) (as suggested by Mike) This requires the Makefile in $(dir $(LDSCRIPT)) to provide a _depend target, which is the case for all LDSCRIPT values in the current tree diff --git a/Makefile b/Makefile index 19b5ac0..e9be7a5 100644 --- a/Makefile +++ b/Makefile @@ -400,7 +400,8 @@ env: $(MAKE) -C tools/env all MTD_VERSION=${MTD_VERSION} || exit 1 depend dep: $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk - for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir _depend ; done + for dir in $(SUBDIRS) cpu/$(CPU) $(dir $(LDSCRIPT)) ; do \ + $(MAKE) -C $$dir _depend ; done TAG_SUBDIRS += include TAG_SUBDIRS += lib_generic board/$(BOARDDIR) -- 1.6.5.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot