Sequential build of libjava
Brad Lucier
lucier@math.purdue.edu
Thu Sep 5 12:44:00 GMT 2002
> On 5 Sep 2002, Tom Tromey wrote:
>> > Do other target directories build in parallel?
>> No, _all_ of the target libraries, if they are started by the toplevel
> Makefile are built serially. GNU make thinks, that suddenly the jobserver
> is missing and goes back to -j1. Probably because file descriptors used
> for communication with the submakes are closed or so. This happens since,
> erhm, forever. I never quite understood, why the submakes building the
> target libs miss the jobserver, but e.g. the submakes doing the normal
> bootstrap in gcc/ have it available.
OK, the precise message in the build log is
make[3]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
(repeated 8 times)
Any gnu make experts here? Anybody know what this means? (Yes, I read the
make.info* text, and, no, I don't understand it.) Is it a matter of
putting a + somewhere in the Makefiles to get this to work?
I don't want to put "MAKE=make -j 8" for submakes, since then I might get
64 or 512 or ... processes running all at once. I *like* how gnu make
keeps the total number of jobs at 8 with "make -j 8".
Brad
PS: Sorry about implying that it was libjava's fault. It's just that
libjava seemed to always be library being built when the load was 1
instead of higher on my machine.
More information about the Java
mailing list