On Wed, 2011-11-16 at 12:32 -0600, david.hag...@gmail.com wrote: > 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 > > 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.
Although this could be a bug, it's more likely, IMO, that your target/prerequisite requirements are not correctly stated. For example, it could be that you use slightly different paths so that make doesn't realize these two libraries are really the same thing, and the dependencies aren't being propagated properly. Try running make with the -p option so it prints its internal database. Are the prerequisites you expect to see for somedir/libfoo.so really there? Try running the parallel version with -d (redirect the output because it's voluminous) and see what make says about trying to build somedir/libfoo.so: what does it say about the somedir/libbar.so prerequisite? _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make