> 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