> Date: Fri, 30 Jul 2010 17:55:54 +0800
> From: Chiheng Xu <chiheng...@gmail.com>
> Cc: psm...@gnu.org, bug-make@gnu.org
> 
> On Fri, Jul 30, 2010 at 5:35 PM, Eli Zaretskii <e...@gnu.org> wrote:
> >
> > I asked for an example.  Could you please show a "messy" output and
> > the output you'd like to have after "serialization"?
> >
> > TIA
> >
> 
> serially make : execute  A, B, C programs, they print:
> 
> A:  Hello, I'm A, I am from Earth.
> B:  The moon is my home.
> C:  Welcome to Mars, It's an amazing planet.
> 
> parallely make : the output of A, B, C programs interleave :
> 
> C:  Welcome to
> B:  The moon is my
> A:  Hello, I'm A, I am from Earth.home.Mars, It's an amazing planet.

You cannot get the former from the latter.  The most you can hope for
is this:

C:  Welcome to Mars, It's an amazing planet.
B:  The moon is my home.
A:  Hello, I'm A, I am from Earth.

In other words, you have no control on the order in which Make invokes
commands.  Not through output serialization, anyway.  Which means with
the following Makefile:

 a: b c d

 x: y z

you could well see output from some of the commands that belong to `a'
_after_ the output from some of the commands that belong to `x'.
There's nothing you can do about this, if you want a truly parallel
Make run.

And I agree with others that batching output rather than having it
appear in real-time is a disadvantage.  Don't forget that some jobs
invoked by Make could run for a long time, and all that time you will
not see any output from the running job, until it exits.


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

Reply via email to