On Wed, 22 Sep 2010 22:08:17 -0400 Mike Meyer <m...@mired.org> wrote:
> I'm working on a module whose source is spread across multiple > files. About the time I was adding the seventh file's .lo & .slo, I > decided "The computer should be doing this", and did what I thought > was a standard make hack: > > C_FILES=merchant_mod.c ... > LO_FILES=${C_FILES:%.c=%.lo} > SLO_FILES=${C_FILES:%.c=%.slo} > > in my Makefile, and > > mod_merchant.1a: ${SLO_FILES} > $(SH_LINK) -rpath $(libexecdir) -modules -avoid-version ${LO_FILES} > > in the modules.mk. > > Trouble is, it doesn't run the compile step for the files, but goes > straight to trying to link the .lo's together, which doesn't work all > that well. > > I'm building against apache httpd 2.2 on Freebsd 8.1-RELEASE and > OpenSolaris snv_134, as I need to run on both. For the search engines: The problem was that the variables have to be set when the include files are processed. So the lines setting all my file names has to occur before the lines: builddir=. top_srcdir=... top_builddir=... include .../build/special.mk Otherwise, they aren't set, so the .la files don't have an dependencies, so nothing gets compiled, and so on. <mike -- Mike Meyer <m...@mired.org> http://www.mired.org/consulting.html Independent Network/Unix/Perforce consultant, email for more information. O< ascii ribbon campaign - stop html mail - www.asciiribbon.org