bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Some serious issues with the new -O option


From: Eli Zaretskii
Subject: Re: Some serious issues with the new -O option
Date: Thu, 02 May 2013 05:53:34 +0300

> From: Paul Smith <address@hidden>
> Cc: address@hidden, address@hidden
> 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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]