[U-Boot] [PATCH] Makefile: fix parallel build

Mike Frysinger vapier at gentoo.org
Tue Dec 15 10:25:48 CET 2009


On Tuesday 15 December 2009 04:21:02 Daniel Hobi wrote:
> On 11.12.2009 20:25, Mike Frysinger wrote:
> > On Thursday 10 December 2009 08:41:07 Daniel Hobi wrote:
> >> During parallel build, the top Makefile spawns multiple sub-makes
> >> for targets in cpu/$(CPU). If cpu/$(CPU)/.depend is not present, the
> >> sub-makes may end up generating this file simultaneously which leads
> >> to corrupted content.
> >>
> >> A typical error message is:
> >>
> >> .depend:39: *** multiple target patterns.  Stop.
> >>
> >> This patch serializes the creation of cpu/$(CPU)/.depend by adding
> >> cpu/$(CPU) to the depend target in the top Makefile.
> >
> > seems to happen in lib_$(ARCH)/ too, but in reviewing my logs from the
> > last few months, most parallel .depend failures have indeed been in
> > cpu/$(CPU)/. maybe this is just coincidence though ... perhaps the depend
> > target should walk all subdirs instead of a just random few ones (use
> > LIBS).
> 
> The problem with cpu/$(CPU)/ is that the top Makefile builds multiple
> targets within this directory in parallel - at least start.o and
> lib$(CPU).a. For all other directories, parallel build should work,
> since there is only one target per directory.

OK, that answers the next part

> Can you provide any commit ID where building lib_$(ARCH)/ failed?

it isnt specific to lib_$(ARCH).  wherever the LDSCRiPT is located will cause 
a problem.  in the Blackfin case, it's in lib_blackfin/.

so maybe to extend this workaround, add like $(dir $(LDSCRIPT)) to the list.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20091215/de33dcbb/attachment.pgp 


More information about the U-Boot mailing list