On Fri, 2013-05-03 at 23:12 +0300, Eli Zaretskii wrote:
> > the "start" and "end" will have other stuff (not just the other targets
> > in that sub-make, but ANY other targets that happen to finish during
> > that time) between them.
> 
> This last part (about ANY other targets) is not what I thought you had
> in mind.

No.  With -Otarget and -Ojob it's never the case that an entire sub-make
will "own" the output lock such that no other jobs running in parallel
from other sub-makes can display output.

This is something someone else mentioned the other day.

Doing this would seriously compromise the parallelization.  Given that
today people are more-or-less satisfied to have garbled output rather
than slow down their parallel builds, I find it impossible to believe
they'd rather have ordered output if it reduced parallelization.

When running in parallel it's always been the case, and is still the
case with -O, that you must consider all the targets that could possibly
be started by any make (at any level of recursion) as big grab-bag of
targets that could be run at any time (subject to prerequisite
relationships).  Recursion is not a "sequence point" in your build, when
parallelization is enabled.

-O in no way changes that behavior, all it does is ensure that output
from any individual line or target of the recipe will not interfere with
any other individual line or target.


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

Reply via email to