da Xerex » dom mar 28, 2004 1:04 pm
Allora, l'idea è quella di indicare al Make le dipendenze dei file .c rispetto ai file oggetto.
Al momento della compilazione il Make compilarà soltanto i file modificati con netto risparmio di tempo e senza errori.
Ti copio un'esempio, non troppo semplice, ma neanche troppo complesso, di un programma con un buon numero di dipendenze
<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">citazione:<hr height="1" noshade id="quote">
all: router.exe
router.exe: adt.o util.o router.o router_lib.o semaphore.o
gcc -o router.exe -Wall -pedantic adt.o util.o router.o router_lib.o semaphore.o
adt.o: adt.c h/adt.h
gcc -c -o adt.o -Wall -pedantic adt.c
util.o: util/util.c h/util.h h/define.h
gcc -c -o util.o -Wall -pedantic util/util.c
router_lib.o: router_lib.c h/router_lib.h h/semaphore.h ##
gcc -c -o router_lib.o -Wall -pedantic router_lib.c
router.o: router.c h/define.h h/util.h h/router_lib.h h/adt.h h/semaphore.h ##
gcc -c -o router.o -Wall -pedantic router.c
semaphore.o: semaphore.c h/semaphore.h h/adt.h
gcc -c -o semaphore.o -Wall -pedantic semaphore.c
archive:
tar czvf router.tar.gz adt.c router.c router_lib.c semaphore.c h/* util/* Makefile doc/* clean_sem
run:
./router.exe 9000 #standard port 9000
clean:
rm router.exe *.o
<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">
Prova a vedere se ti può essere d'aiuto.
le ultime 4 opzioni erano legate al progetto in questione, non dovrebbero esserti utili