automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Automake problem: one makefile for everything


From: Chapter33
Subject: Automake problem: one makefile for everything
Date: Wed, 14 Dec 2005 12:16:07 EST

Hi, 
 

I hope you can help me.  I'm banging my 
head against the wall  here doing something that I think should be 
extremely simple, but just  cannot get Automake/Autoconf/libtool to do 
it the way I want it. 
 

If I have the following files: 
 

main1.c 
main2.c 
modules/mod1.c 
modules/mod2.c 
 

and I want a Makefile.am in the top-level source directory that  
compiles main1.c and main2.c into one library (say libmain.la) and  
mod1.c and mod2.c into libmod.la in the modules directory.  Simple  
request huh?  But in *one* Makefile.am.  How do I do it? 
 

This doesn't do the job: 
 

lib_LTLIBRARIES = libmain.la modules/libmod.la 
libmain_la_SOURCES =  main1.c main2.c 
libmod_la_SOURCES = modules/mod1.c modules/mod2.c 
 

libtool doesn't like directory names in the lib_LTLIBRARIES variable.  
But if I go ... 
 

lib_LTLIBRARIES = libmain.la libmod.la 
 

...then everything gets built in the top-level directory and I don't  
want that. 
 

Can anyone help?  My only work-around at present is to have a  separate 
Makefile in the modules sub-directory, but that won't work anymore  
because I'm building a binary in the top-level Makefile that depends on  
both earlier libraries, while libmod also depends on libmain, i.e. 
 

binary -> depends on modules/libmod.la and libmain.la  
modules/libmod.la -> depends on libmain.la 
 

If I use separate Makefiles, I'm going to need three to get around the  
dependencies and to get the build order right, and that's going to get  
ugly. 
 

Please help! 
 

Thanks in advance, 
Mark. 
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]