I've been thinking some more about it.

POSIX says very little about parallel makes.

The more I think about it, the more I think gnu-make's approach on this is
stupid: if a job errors out in a fatal way, what do we gain if we keep
going ?  Especially for high -j values, the quicker we die, the better,
as far as the error is concerned.

(note that, in sequential mode, the first fatal error will kill us, so there's
no point in considering further stuff running).

"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

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...

Reply via email to