Il gio, 2002-05-23 alle 17:38, Paolo Casciello ha scritto: > Hello Federico, > > giovedì, giovedì 23 maggio 2002, you wrote: > > > FDG> domanda idiotissima, ma perche' non crei una libreria condivisa? oppure, > FDG> se proprio vuoi linkare staticamente, crea una .a e poi, nel codice > FDG> 'chiamante', usa dir/libmia.a come file extra durante il link. > > ehehe si ho valutato bene sono giunto proprioa fare cosi'. > Ma il mio problema resta. :) Evidentemente non mi sono spiegato bene > :D > > allora. Ho la mia struttura fatta cosi' > > ~ > |- src > | |- dir1 > | |- dir2 > | | |- dir2.1 > .. > > Ora avendo molti file vorrei che ci fosse un makefile in ogni subdir > che richiama i makefiles delle subdir e poi builda gli object della > sua dir. > Cosicche' poi il makefile all top della dir crea la libreria .a > linkando tutta la roba buildata nele sottodir. > > Il mio problema e' solo (e sicuramente sara' una stupidata.. ma non > trovo proprio documentazione che lo spieghi :((((( ) fare dei > Makefile.am che mi creino SOLO i .o per la dir in cui sono dentro! > > E' questo che non riesco a fare :( > > Riesco a fare il makefile generale che me li fa tutti e li builda.. ma > non riesco a spezzettarlo. non so cosa scrivere nei makefile secondari > per fargli fare solo le .o in quanto nei makefile ci puo' andare solo > xxx_PROGRAMS e xxx_LIBREARIES ed entrambi puntano a buildare :( ed infatti non e' sensato riempire delle dir di .o e basta. comunque, puoi generare delle librerie e poi usarle per linkare staticamente, l'effetto e' lo stesso. nella top level directory metti: SUBDIRS = dir1 dir2 bin_PROGRAMS = foo foo_SOURCES = foo.c bar.c foo_LDFLAGS = dir1/libcirp.la dir2/libciorp.la e poi, per esempio, in dir2 metti: noinst_LTLIBRARIES = libciorp.la libciorp_la_SOURCES = buzz.c ciorp.c in questo caso compileresti dinamicamente, ma puoi anche scegliere di compilare staticamente. comunque e' tutto spiegato nel manuale di automake (segue esempio di libreria statica): noinst_LIBRARIES = libciorp.a libciorp_a_SOURCES = buzz.c ciorp.c -- Federico Di Gregorio Debian GNU/Linux Developer & Italian Press Contact fog@debian.org INIT.D Developer fog@initd.org 99.99999999999999999999% still isn't 100% but sometimes suffice. -- Me
Attachment:
signature.asc
Description: PGP signature