prof. Nunzio Brugaletta
Sviluppo in C++: strumenti in ambiente Linux

EnneBi - Programmazione
Avanti - Indietro - Inizio

Flessibilità del Makefile: esempio di uso delle variabili

La capacità di GNU Make di usare e gestire, nelle righe di comando, variabili che possono anche fare riferimento a variabili di ambiente, aumenta notevolmente la flessibilità e la velocità di gestione dei progetti, che consente il Makefile.

A titolo di esempio si vedrà come si possano controllare i flag di compilazione di un progetto, per aggiungere o togliere informazioni per il debugging, senza essere costretti a modificare ogni volta il Makefile, ma, molto più semplicemente, invocando make con parametri diversi.

...
c++ $(CFLAGS) -o prestiti prestiti.o c-libro.o
...
c++ $(CFLAGS) -c prestiti.cpp
...
c++ $(CFLAGS) -c c-libro.cpp
...
...
clean:
rm c-libro.o
rm prestiti.o
# fine Makefile

Lanciando normalmente il comando make, viene eseguita una compilazione come se $(CFLAGS) non ci fosse. Ed, effettivamente, la variabile, non essendo definita né nel Makefile né nelle variabili di ambiente, non verrà sostituita da alcun valore.

flag Makefile

Se, invece, si invoca make con il comando make CFLAGS=-g, si fa in modo di passare a make il valore della variabile indicata come opzione. Il nuovo valore sostituirà qualunque altro valore della stessa variabile sia definito nel Makefile (nel caso in esempio non esiste alcun valore da sostituire) e verrà avviata la compilazione con il flag delle opzioni di debugging.




Avanti - Indietro - Inizio

http://ennebi.solira.org
ennebi@solira.org