document -j

2004-08-28 Thread Dan Jacobson
   Parallel Execution
   GNU `make' knows how to execute several commands at once.  Normally,
   `make' will execute only one command at a time, waiting for it to
   finish before executing the next.  However, the `-j' or `--jobs' option
   tells `make' to execute many commands simultaneously.

Well, without examples in the manual, we are left to guess and
experiment. For instance, I have discovered that one will not see
parallelism with make -j a, but will with make -j b:
a:
sleep 11
sleep 12
b: c d
c:
sleep 7
d:
sleep 5
So this, say, could be documented.

Maybe mention that this shows equivalence with sleep tests:
$ f=$SECONDS;make -j x y;expr $SECONDS - $f
$ f=$SECONDS;make x make y wait;expr $SECONDS - $f
But wait, that is only if x and y don't have any dependencies.


___
Bug-make mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/bug-make


Re: document -j

2004-08-28 Thread Paul D. Smith
%% Dan Jacobson [EMAIL PROTECTED] writes:

  djParallel Execution
  djGNU `make' knows how to execute several commands at once.  Normally,
  dj`make' will execute only one command at a time, waiting for it to
  djfinish before executing the next.  However, the `-j' or
  dj`--jobs' option tells `make' to execute many commands simultaneously.

  dj Well, without examples in the manual, we are left to guess and
  dj experiment.

The manual is not using the correct terminology here, you're right.  It
should read like this:

   GNU `make' knows how to build several targets at once.  Normally,
   `make' will build only one target at a time, waiting for it to
   finish before building the next.  However, the `-j' or
   `--jobs' option tells `make' to build many targets simultaneously.

  dj Maybe mention that this shows equivalence with sleep tests:
  dj $ f=$SECONDS;make -j x y;expr $SECONDS - $f
  dj $ f=$SECONDS;make x make y wait;expr $SECONDS - $f
  dj But wait, that is only if x and y don't have any dependencies.

I fail to see how this is in any way enlightening.

-- 
---
 Paul D. Smith [EMAIL PROTECTED]  Find some GNU make tips at:
 http://www.gnu.org  http://make.paulandlesley.org
 Please remain calm...I may be mad, but I am a professional. --Mad Scientist


___
Bug-make mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/bug-make


Re: submake messages not perfect

2004-08-28 Thread Paul D. Smith
%% Dan Jacobson [EMAIL PROTECTED] writes:

  dj The messages on submakes aren't perfect.
  dj make[1]: Entering directory `/tmp'
  dj make[1]: Leaving directory `/tmp'
  dj You mean starting submake 1 and especially ending submake[1].

I don't understand your comment.

  dj In fact, if one did
  dj bla:
  dj   make a make b
  dj then they would both be [1],

Yes, because both of them are direct submakes of the top-level make.

If you want to get up to two you have to have a sub-submake (the top
level make invokes a make which invokes another make).

  dj so maybe even mention PID's.

I don't see what PIDs have to do with anything.

-- 
---
 Paul D. Smith [EMAIL PROTECTED]  Find some GNU make tips at:
 http://www.gnu.org  http://make.paulandlesley.org
 Please remain calm...I may be mad, but I am a professional. --Mad Scientist


___
Bug-make mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/bug-make


Re: document -j

2004-08-28 Thread Paul D. Smith
%% Dan Jacobson [EMAIL PROTECTED] writes:

  dj Do add an examples showing when
  dj $ make -j x y
  dj and
  dj $ make x make y wait
  dj are equivalent, and when they are not.

IMO that is not at all an appropriate example for the GNU make manual.

-- 
---
 Paul D. Smith [EMAIL PROTECTED]  Find some GNU make tips at:
 http://www.gnu.org  http://make.paulandlesley.org
 Please remain calm...I may be mad, but I am a professional. --Mad Scientist


___
Bug-make mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/bug-make