[EMAIL PROTECTED] wrote:
Gnumake maintainers,
I've run into a functional difference between the standard unix make and GNUmake (3.80) involving how the :: rules are processed. In the standard unix make (Solaris), the :: targets ( i.e., all::) are process in the order they are found in the Makefile serially, regardless of whether parallelism is used (i.e., -jN, where N is > 1).

That's funny, my "standard Unix" (Solaris) make doesn't have a "-j" switch, and doesn't support parallelism. In fact, -j is a GNU-specific extension, and it Works As Designed.
In GNUmake (3.80), the when -j1 is used, the "::" targets are executed serially. When -jN is used the "::" targets are executed in parallel.

Consider the following -- from an IMAKE generated Makefile:

This, like most of the dreck that Imake produces, is bogus.

http://lists.gnu.org/archive/html/bug-make/2001-09/msg00013.html
http://lists.gnu.org/archive/html/bug-make/2004-09/msg00001.html

all:: all.prologue
all:: all.serial all.parallel
all:: ; @echo $@; sleep 1; echo [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
all:: all.epilogue
all.epilogue all.prologue:: ; @echo $@; sleep 2; echo [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> all.serial:: ; @echo [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>; sleep 1; echo [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> all.serial:: ; @echo [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>; sleep 1; echo [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
all.parallel: aaa bbb ccc
aaa bbb ccc: ; @echo $@; sleep 1; echo [EMAIL PROTECTED] <mailto:[EMAIL 
PROTECTED]>

--
  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support


_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to