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

Reply via email to