>>>>> "tom" == tom fogal <[EMAIL PROTECTED]> writes:

tom> Basically I'd like each module to build their own libtool convenience
tom> library, and then have /src/Makefile.am link all of those modules'
tom> convenience libraries into one that is the union of all of them.

Do you really want each separate convenience library, or is that just
inertia?  I ask because if you don't want separate ones, the task
becomes even simpler.

tom> Without recursive make this is a little strange, but I've devised a
tom> scheme to make each module 'feel' like it has its own, local
tom> Makefile.am, by playing with includes.

tom> libAll_la_LIBADD = \
tom>         $(srcdir)/models/libModels.la \
tom>         $(srcdir)/share/libShare.la \
tom>         $(srcdir)/input/libInput.la \
tom>         $(srcdir)/libCur.la

You don't want $(srcdir) here.  The .la files are in the build tree,
not the source tree.  Just write:

    libAll_la_LIBADD = \
            models/libModels.la \
            share/libShare.la \
            input/libInput.la \
            libCur.la

tom> Unfortunately in the 'Inc.am' files I need to remember to qualify every
tom> filename with not just '$(srcdir)', but
tom> '$(srcdir)/modules_directory_name/'.  This is only a minor annoyance
tom> and definitely worth the trouble, but perhaps I am missing something?

Once upon a time I had a plan to introduce a new 'import' statement,
that would work like 'include' but magically rewrite things like this
as needed.  That would make it really simple to do the kind of thing
you're trying to do.  It was fairly complex, though, and in the end I
lost interest...

tom> noinst_LTLIBRARIES += $(srcdir)/models/libModels.la

(Likewise no srcdir here)

Tom


Reply via email to