document -j
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
%% 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
%% 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
%% 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