[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