On Wed, Sep 26, 2012 at 06:21:34PM +0200, Marc Espie wrote:
> "but what about commands that take a long time to run ?"
> Well, make already has a standard mechanism to flag those, that's called
> .PRECIOUS

What if most everything takes a fairly long time to run? Say, largish
C++ sources or whatever? Mark every target as .PRECIOUS?

> So, instead of the -dq "quick death" debugging option, I suggest we move
> to the following semantics: in case of an error, send ^C to all jobs making
> targets that are not tagged .PRECIOUS, wait for everything to come back, and
> that's it...

I think currently running jobs should be allowed to finish, as the
default behavior. Why would you want to stop (at least potentially)
successful work in progress? Is it because some very prominent things
are done using a build-from-scratch every time? For those things, I
agree that forcibly dying ASAP would save time and frustration. But for
the "more correct" use of being able to fix a problem and have make pick
up where it left off on the next invocation, your idea does not save
time and frustration. If that's the case, then things that need a full
build from scratch should know to invoke make with the proper flags.

Kanpai!
Darrin

Reply via email to