Il makefile è un foglio di codice che permette di compilare programmi in modo più veloce e controllato. Per programmi brevi che includono poche librerie esterne è quasi inutile, ma per programmi lunghi e complessi, con librerie incluse ed utilizzanti la piattaforma di calcolo ROOT è invece necessario creare un makefile. Il file che andiamo a creare deve chiamarsi makefile o Makefile, altrimenti non è riconosciuto come tale. La struttura è la seguente:
programma.o : programma.C
g++ -c programma.C
O, per programmi con librerie esterne:
programma: programma.o libreria.o
g++ -o programma programma.o libreria.o
CC = g++
INCS = `root-config --cflags`
LIBS = `root-config --libs`
programma:
$(CC) -o programma.x programma.C $(INCS) $(LIBS)
Tutti i tab e gli spazi sono fondamentali. Per compilare basterà aprire il terminale e digitare il comando
make programma
automaticamente verrà generato il file eseguibile che andremo ad eseguire con il solito comando ./programma.x
Un altro tipico makefile:
LIBS:=`root-config --libs`
INCS:=`root-config --cflags`
%.o : %.cxx
g++ -Wall -c $< ${INCS}
programma: programma.o libreria1.o libreria2.o
g++ -Wall -o $@ $^ ${LIBS}
#clean:
# rm *.o *~
In questo caso nel programma erano linkate due librerie di funzioni, libreria1 e libreria2. Nel prossimo tutorial capiremo come creare e linkare librerie di funzioni all'interno di un programma.
Categories:
Programmi
Posta un commento