Paul D. Smith wrote: > A non-parallel build is actually fully deterministic for a given makefile. > Make (I believe this is specified by POSIX) will always try to build the first > prerequisite first, then the second, etc. Of course there are ways to get > non-determinism: for example IIRC the $(wildcard ...) function returns files > in "directory order", unsorted, which is non-deterministic. > > I'm not saying Frank's idea would not work but I think it might be slightly > hairier than described here.
Because of $(wildcard ...) or anything else? (I feel like I'm missing something in your comment here.) $(wildcard ...) might not be a problem in practical terms since the directory order is unlikely to change between two runs. If it is a problem, one can always use $(sort ...). So I'd put this responsibility on the user, and if non-parallel make is otherwise deterministic (and parallel make uses the same deterministic order to *start* children), that seems fine. _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make