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