bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: parallel make and the maintainer GNUmakefile


From: Jim Meyering
Subject: Re: parallel make and the maintainer GNUmakefile
Date: Sat, 14 Mar 2009 15:02:52 +0100

Ralf Wildenhues wrote:
> Hello Jim, all,
...
> 2) disable parallel builds if more than one target is listed on the
> command line, and at least one of them invokes a recursive target.
> This is the gist of the issue, and the patch only avoids this issue
> while practically enabling parallelism throughout the build.  It makes
> use of a couple of undocumented Automake details, but is pretty safe in
> the sense that is trivially backward compatible to older Automake; I
> intend to define AM_RECURSIVE_TARGETS in a future Automake so that
> relying on undocumented won't be needed any more.
>
> This second patch shaves a quarter off of the time for 'make -j3 all' of
> git M4 on a two-way system.  It does expose a parallel ordering bug in
> the M4 makefile though (more on this on the m4-patches list).
>
> Of course, if the package author has added targets to Makefile.am which
> are recursive, or invoke recursive targets, then they need to be taken
> into account now, too: she should add them to ALL_RECURSIVE_TARGETS.
>
> What do you think?  Is this too complicated to be adhered to?
>
> I really like that it even causes things like
>   make -j3 clean all check distcheck
>
> to DTRT now!
...
>     GNUmakefile: disable parallelism only for multiple, recursive targets
>
>     * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
>     additions in the Makefile.
>     (AM_RECURSIVE_TARGETS): New macro, override only if not provided
>     by Automake.
>     (.NOTPARALLEL): Only disable parallel builds if multiple targets
>     are listed on the command line and at least one of them is
>     listed in $(ALL_RECURSIVE_TARGETS).

Hi Ralf,

Thanks for dealing with that.
It's been a thorn in my side for ages,
though it's been off my radar until recently.
Your second patch is fine with me.
It makes "make syntax-check" noticeably faster, too.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]