Salut,
J'écris souvent des petits programmes C/C++ contenant plusieurs fichiers sources.
J'ai cherché sur Internet un Makefile générique mais je n'ai pas trouvé exactement celui que je voulais. (et les Makefile génériques se font plutôt rare)
J'en est donc créé un que je colle ici, car je suis sur qu'il pourras intéresser d'autre personnes.
L'utilisation est simple. On met le Makefile avec les sources.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 # Makefile Generique EXT = c CXX = gcc EXEC = exe CXXFLAGS = -Wall -W -pedantic LDFLAGS = OBJDIR = obj SRC = $(wildcard *.$(EXT)) OBJ = $(SRC:.$(EXT)=.o) OBJ := $(addprefix $(OBJDIR)/, $(OBJ)) all: $(EXEC) $(EXEC): $(OBJ) @$(CXX) -o $@ $^ $(LDFLAGS) $(OBJDIR)/%.o: %.$(EXT) @$(CXX) -o $@ -c $< $(CXXFLAGS) clean: @rm -rf $(OBJDIR)/*.o @rm -f $(EXEC) install: $(EXEC) @cp $(EXEC) /usr/bin/
Si c'est un projet C on utilise le Makefile tel quel.
Si c'est un projet C++ on met CXX = g++ et EXT a cpp ou cc suivant l'extension qu'on utilise.
Pour compiler :
Pour nettoyer les *.o et l'exécutable :
Code : Sélectionner tout - Visualiser dans une fenêtre à part make
Pour installer (avec droit admin sous Linux) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part make clean
Ne pas oublier de créer un dossier "obj" dans le répertoire du Makefile (pour éviter d'avoir des *.o mélangé au code source ^^)
Code : Sélectionner tout - Visualiser dans une fenêtre à part make install
PS : Si vous voyez des améliorations possible, surtout n'hésitez pas !
Partager