Hi there! I'm trying to create a tree of makefiles of creatinf static libraries each of which respond to own directory. Diectories are depend on each other and will re-made only when it needed. To do this i've created a pattern: common_lib.mak: currlib:=lib$(library).a real_sublibraries:=$(foreach pth, $(sublibraries),$(common)/$(pth)/lib$(notdir $(pth)).a) .PHONY: all $(sublibraries) all: $(sublibraries) $(currlib) $(sublibraries) : $(MAKE) "--directory=$@" -f makefile.mak; $(currlib) : $(obj) $(real_sublibraries) ar -cqs $@ $(obj) 2>/dev/null;
and each library has only dependency variables i.e. makefile.mak: library:=foo sublibraries:=bar include $(common)/common_lib.mak variables $(common) $(MAKE) are imported from Main Makefile. So, everything works great in serial mode. libfoo.a created only if libbar.a ACTUALLY updated and if it needed to update it firstly really UPDATED accordingly to .PHONY target bar and bar target is written just before $(currlib) target. But it doesn't work well in parallel mode: it checks that $(currlib) actually doesn't depend on bar and could execute it firstly before bar executed, so it dealth with old version of libbar.a. How to overcome it in parallel mode? -- View this message in context: http://old.nabble.com/Multidirectory-libraries-make-tp34041256p34041256.html Sent from the Gnu - Make - Help mailing list archive at Nabble.com. _______________________________________________ Help-make mailing list Help-make@gnu.org https://lists.gnu.org/mailman/listinfo/help-make