[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: add Order-only Prerequisites example
From: |
Philip Guenther |
Subject: |
Re: add Order-only Prerequisites example |
Date: |
Mon, 9 Jul 2012 01:17:59 -0700 |
On Sun, Jul 8, 2012 at 4:24 PM, <address@hidden> wrote:
>>>>>> "PS" == Paul Smith <address@hidden> 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