Hi, I recently had a similar problem. What rules do you have for compiling .c into .lo/.slo (or into .lo/.slo via .o)?
Does the makefile work correctly if you manually enter the filenames. i.e: C_FILES=merchant_mod.c ... LO_FILES=merchange_mod.lo ... SLO_FILES=merchant_mod.slo ... -Andrew On Thu, 2010-09-23 at 02:08 +0000, Mike Meyer 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. > > Searching google doesn't turn up much on this, and the modules in the > apache source tree all seem to just list all the files, rather than > trying to generate them automatically. > > Anyone got a hint as to why this doesn't work, and what I should do to > fix it? Or maybe another way to deal with modules with multiple source > files that doesn't involve having to add each file suffix in three > different places? > > Thanks, > <mike