PDA

View Full Version : [C++] Makefile per ogni cartella del progetto... come fare?


luxorl
05-07-2009, 17:37
Ciao, come bisogna procedere per fare dei makefile modulari?
Ho un progetto in pių cartelle e per ogni cartella vorrei mettere un makefile.
Ma come si procede esattamente per far compilare ricorsivamente tutto? :confused:

Per esempio nella cartella socket metto un makefile cosė fatto:

# Makefile socket

# obiettivo dipende da Socket_Attivo.cpp

Socket_Attivo.o: Socket_Attivo.cpp
g++ -c Socket_Attivo.cpp

# obiettivo dipende da Socket_Passivo.cpp

Socket_Passivo.o: Socket_Passivo.cpp
g++ -c Socket_Passivo.cpp

clean :
-@rm *.o

# fine Makefile

Ora come fare nei makefile delle altre cartelle per fare in modo che si linkino a questo? :)

luxorl
06-07-2009, 13:08
up :)

javaboy
06-07-2009, 21:38
Potresti usare qmake.....

Creati la struttura delle directory che preferisci

Entra nella directory padre

qmake -project

qmake nomeprogetto.pro

Non lo uso da secoli e forse mi sbaglio cmq penso che questo faccia al caso tuo.

vizzz
06-07-2009, 23:14
SUBDIRS = a b c d

all: subs

subs:
for dir in $(SUBDIRS) ; do make -C $$dir ; done


automaticamente esegue il makefile presente nelle sottodirectory specificate in SUBDIRS

luxorl
07-07-2009, 07:46
SUBDIRS = a b c d

all: subs

subs:
for dir in $(SUBDIRS) ; do make -C $$dir ; done


automaticamente esegue il makefile presente nelle sottodirectory specificate in SUBDIRS

Grazie mille!
Appena posso provo :D