I have a make file that includes a set of machine generated dependency files. Those files describe a set of shared libraries to be build, of the form:
somedir/libfoo.so: somedir/libbar.so somedir/libbaz.so Note that "libfoo.so" has explicitly stated it depends upon somedir/libbar.so. libbar.so has a similar dependency file that describes its needs: somedir/libbar.so: somedir/libbaz.so otherdir/bar.o My make file then is commanded to build the various files: .PHONEY: mytarget mytarget: somedir/libfoo.so somedir/libbar.so somedir/libbaz.so If I run a plain make: make mytarget all is well: Make correctly builds otherdir/bar.o, somedir/libbaz.so, somedir/libbar.so, then finally somedir/libfoo.so, in that order. However, if I run a parallel make: make -j4 mytarget then make will happly start building everything, and will try to link somedir/libfoo.so before even STARTING on linking somedir/libbar.so. Again: all the dependencies are fully described: there's no reason make shouldn't see that it has to wait before building somedir/libfoo.so. _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make