On peut inclure toutes les instructions de compilation (et de linkage) dans un fichier nommé Makefile
et se contenter de taper la commande make
. La syntaxe d'un fichier Makefile
est la suivante:
# le # est le symbole du commentaire dans les Makefile #Préciser que l'on veut tous les warnings CXXFLAGS+=-Wall #Au choix: #1 - Si l'on veut débugguer le programme CXXFLAGS+=-g -D_DEBUG #2 - Si l'on veut optimiser l'exécutable (pour qu'il soit le plus rapide possible) #CXXFLAGS+=-Os -funroll-all-loops -DNDEBUG #Préciser où chercher les .a et .so LDLIBS+=-lm -L. #Où chercher les .h CXXFLAGS+=-I. #Compiler les .cpp (les écarts à la ligne sont une tabulation) %.o: %.cpp $(CXX) -c $(CXXFLAGS) -o $@ $*.cpp #Remarque: CXX est le compilateur, g++ par défaut. #Vous pouvez le modifier pour préciser une version particulière de g++. #Que compiler par défaut PROG=mon_executable all:: $(PROG) #Liste de fichiers.o à inclure OBJ=main.o aux.o #Quand quels fichiers ont été modifiés faut-il recompiler les .o ? $(OBJ): aux.h Makefile #Comment compiler (linker) mon_executable $(PROG): $(OBJ) $(CXX) -o $(PROG) $(OBJ) $(LDLIBS) #Faire le ménage quand on tape make clean clean: rm -f $(PROG) $(OBJ)