On Sun, Jul 8, 2012 at 4:24 PM, jida...@jidanni.org wrote:
PS == Paul Smith p...@mad-scientist.net writes:
A:B C;D
A:|B C;D
PS No. C will never be run first, before B. If you enable parallel builds
PS then B and C might be run at the same time (but B will still be started
PS first, then C).
Paul, as you know, you meant: *this rule* will not cause C to be run
before B; if *this rule* is the trigger for B and C being built, then
B will be started before C.
An example of how C might be built before B, despite that rule being
used, would be
A: B C; D
E: C A
then make E will build in the order C B A E
OK, I sure hope it will get documented that
A:B C;D
implies that if B fails, C will never get run (or built etc.),
What Paul said directly contradicts that. He said:
If you enable parallel builds then B and C might be run at the same time
If they're run at the same time, then obviously C will get built even
if B fails!
and we never have to
worry about C getting run first (unless we use some -option.)
I.e., C will only get run after we know the results of B.
Nope, wrong. If you want make to guarantee that, you must express it
as a dependency between C and B.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make