Hi Bob, * Bob Rossi wrote on Wed, Feb 14, 2007 at 04:19:20PM CET: > On Mon, Jan 29, 2007 at 07:52:02PM +0100, Ralf Wildenhues wrote: > > > BTW, all the _DEPENDENCIES that I'm talking about are > > > libraries that are built from my own project, but not necessarily in the > > > same Makefile. > > > > OK. You will have to make sure these libraries exist and are up to > > date, when they are needed. Typically by recursing to that other > > Makefile earlier (i.e., by way of SUBDIRS ordering). [...] > > One other question. This is in regards to libraries depending on > libraries. If library B depends on library A, do I have to put a > libB_a_DEPENDENCIES = $(top_builddir)/..../libA.a > or does just having the SUBDIRS traverse in the correct order work?
Erm, how can a static library depend upon another static library? If you're speaking about libtool libraries, then, given libB_la_LIBADD = $(top_builddir)/liba/libA.la then Automake will put $(top_builddir)/liba/libA.la in libB_la_DEPENDENCIES if you do not set the variable yourself. But dependency information is only half of the issue: the other is the rule commands to actually update it. For this, you must still make sure the SUBDIRS ordering matches, or alternatively also give a rule how to update the library, e.g.: $(top_builddir)/liba/libA.la: ... cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) libA.la where unfortunately you'll have to either put all the actual dependencies in the `...' position, or declare `$(top_builddir)/liba/libA.la' as phony or so. FWIW, I try to avoid the latter ugliness either by having SUBDIRS ordering match, or by using (partially) nonrecursive Makefiles. Hope that helps. Cheers, Ralf