Path: utzoo!utgpu!watmath!iuvax!cica!tut.cis.ohio-state.edu!ssd.harris.com!jimbo
From: jimbo@ssd.harris.com (Jim Winters)
Newsgroups: gnu.utils.bug
Subject: GNU make bug with -j
Message-ID: <8908082032.AA03081@SSD.HARRIS.COM>
Date: 8 Aug 89 20:32:48 GMT
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 28

Hi.

I think there's a bug in GNU make version 3.27.

I tried to use GNU make because I wanted to use the "-j" option, but
the problem was that it didn't run the jobs concurrently.

I looked into this in the source a little.  Make is picking up the
"-j" option fine, but it later resets the value to "1".

It looks like make is creating a MAKEFLAGS variable in
construct_makeflags, and is then reading that variable as though it
were originally in the environment.  construct_makeflags always sets
the "-j" option to 1 (I assume that's to avoid an explosion of
processes).

I didn't understand enough of what was going on in the code to know
why make processes the variables this way.

I don't really think it makes any difference what makefile you use,
but here's a teeny one that demonstrates the problem:
-----
a:
	sleep 5;echo toot
	sleep 5;echo toot
-----

Thanks for your attention to this.