Hi Paul, * Paul Smith wrote on Mon, Sep 29, 2008 at 09:48:43PM CEST: > > To be really, really pedantic: even in parallel mode, make (currently) > always relies on the order in which prerequisites are listed for a given > target. However, since make is running them in parallel you can't > really tell which items might end up running together: it depends on how > the OS schedules the jobs and how long they take to complete, as well as > how large your N for -jN is.
Yes; thanks for the clarification. With parallel make, besides the unreliable completion order, effectively the algorithm has more of a breadth first logic though. GNU make's order-only dependency statements can help. BTW, while you're here, is there chance for a new GNU make release soonish with the bug fixed that prevented GCC from using dependency tracking? (IIRC it dealt with order-only deps.) > There is an enhancement request for GNU make that hopes for a > randomization (to help find missing dependency relationships) of the > prerequisites. However this is a large, difficult problem the way GNU > make is coded. I've always tried to emulate that with a few 'make -j' or 'make -jN' with a large N, on a system with as many processors as I can get at. Cheers, Ralf
