-->
Home -> C / C++ -> Come realizzare un MakeFile

Come realizzare un MakeFile

13
Sep
2009
0

In generale quando si ha a che fare con progetti software in C o C++ con un gran numero di file, invece di essere costretti a compilare singolarmente e manualmente ogni file, è possibile utilizzare un’ utility chiamata Make.
Di fatto si tratta di un file di testo con una struttura ben definita che serve da input all’ eseguibile make.exe per compilare, linkare e realizzare l’eseguibile finale del progetto. Una peculiarità di questa utility sta nel fatto che va a controllare anche se un file è stato modificato dall’ ultima compilazione effettuata , in tal caso lo ricompila se no lo linka semplicemente. Questo chiaramente comporta una risparmio di tempo non indifferente se il numero complessivo di file del progetto è molto elevato.

C_4
Ma andiamo a osservare la struttura di un MakeFile:

Un MakeFile ha una struttura ben definita del tipo:

target : prerequisiti ...
comandi

dove target è solitamente il nome del file generato da un programma, esempi di target sono i file eseguibili o i file oggetto. Il prerequisito è un file usato come input per creare il target (un target spesso dipende da diversi file). Un comando è una azione da eseguire. Una regola può avere più comandi, ciascuno su una riga diversa.
Un esempio di makefile è il seguente :

test : main.o file.o
cc -o test main.o file.o
main.o : main.c def.h
cc -c main.c
file.o : file.c def.h
cc -c file.c

Si produrrà il file eseguibile test a partire dai file C main.c e file.c e dal file header def.h. Il file target test avrà come prerequisiti i due file main.o e file.o, e il comando, azione da eseguire per ottenere il file target, sarà cc -o test main.o file.o. Analogamente il file target main.o avrà come prerequisiti i due file main.c e def.h. Il comando, azione da eseguire per ottenere il file target, sarà cc -c main.c , eccetera.
Una volta creato il makefile si usa il comando make per compilare il file (o i file) C e produrre l’eseguibile test.exe
E’ importante che il MakeFile sia nella stessa cartella in cui si trovi l’eseguibile make.exe . In caso contrario bisogna inserire anche il path del makefile nella chiamata di make .

Condividi:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • MySpace
  • Technorati
  • Twitter
:

Commenti

Lascia il tuo commento:

Cerchi qualcosa?

Usa questo form per cercare argomenti in questo blog:

Non riesci a trovare quello che cerchi? Lascia un commento in un post oppure contattami per risolvere il problema!

Puoi trovarmi su Twitter come @superbre