> From: Paul Smith <psm...@gnu.org>
> Cc: stefano.lattar...@gmail.com, bug-make@gnu.org
> Date: Wed, 01 May 2013 16:27:58 -0400
> 
> If your recipe normally runs for 5 seconds (say) and it continually
> generates output during that time, then yes, certainly the -O feature
> will result in choppiness because instead of a sequence of continuous
> output over 5 seconds you get 5 seconds of silence, followed by all the
> output.

I think that's the reason, yes.

> Consider if you have a makefile, like every single automake makefile for
> example!, where the "top-level" target is nothing more than a recursive
> invocation of a sub-make with some extra arguments, and the sub-make
> actually does all the work:
> 
>    all: config.h
>            $(MAKE) $(AM_MAKEFLAGS) all-recursive
> 
> Now, if you do nothing special for recursive make, you'll get no output
> from the entire build until it is completely done, because all the
> output from the recursive make command is going to the temporary file
> for that target, then it all gets dumped at the same time.

Not every Makefile looks like that on its top level.  I agree that we
should cater to the above, but perhaps we could do that without
"punishing" the other use cases.  For example, perhaps we should have
a -Osub-make option that will _not_ activate sync-output on the top
level, only in the sub-make's.  This should produce the desired
results, I think.

> > shouldn't we have an option _not_ to make such an exception, but
> > without -Omake, i.e. without waiting for the whole session to end?
> > Whenever any top-level recipe finishes, it is flushed to the
> > screen as a single unit.  Does this make sense?
> 
> I don't understand the change that you're suggesting.  That's exactly
> what -Omake does today: whenever any recipe finishes it is flushed to
> the screen as a single unit, and no special handling is given to
> recursive makes.

In my case, I see all the output at once.  Maybe I misunderstand what
-Omake is supposed to do, too.

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

Reply via email to