Bonsoir tout le monde.
Alors j'ai fait un makefile qui me permet de compiler un projet C qui possède toujours la même structure : bin, headers, src qui sont des dossiers où l'on y trouve respectivement : executable, les .h, les .c
Je voudrais aussi faire un dossier obj qui contient les .o mais je n'y arrive pas.
Voici le makefile :
Je suis ouvert a toute proposition et critique => si vous pensez le rendre plus simple, compact etc...
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 CC=gcc CFLAGS=-Wall -std=c99 -Wextra -O -Wwrite-strings -Wstrict-prototypes -Wuninitialized -Wunreachable-code -Wno-missing-braces -Wno-missing-field-initializers -Iheaders LDFLAGS=-Wall -lm EXEC=bin/Bataille VPATH=src vpath %.h headers SRC=$(wildcard src/*.c) OBJ=$(notdir $(SRC:.c=.o)) Bataille: $(OBJ) @ $(CC) -o $(EXEC) $(OBJ) $(LDFLAGS) @echo creation de lien %.o: %.c @ $(CC) -c $< $(CFLAGS) @echo creation de $@ .PHONY: clean mrproper @echo suppression de tous les fichiers. mrproper: clean @ rm -f $(EXEC) @echo suppression executable clean: @ rm -f *.o @echo suppression des fichiers objets
Merci d'avance.
Partager