> 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