J'essaye de cr�er un makefile qui g�n�r�re automatiquement les d�pendance des .c aux .h, mais il n'a pas le comportement voulu.
Il compile bien et g�n�re correctement les d�pendances, mais si on appelle make clean alors que les fichiers sont d�j� d�truits, les d�pendances sont recr��es avant d'�tre d�truites � nouveau...(cf. apr�s si vous ne comprenez pas)
Voil� le makefile :
Si j'appelle clean sur le r�pertoire nettoy�, toutes les d�pendances sont reg�n�r�s. Voici la sortie d'un second appel cons�cutif � make clean :
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
31
32
33
34
35 CFLAGS= -Wall LDFLAGS= LIB= CC= gcc $(CFLAGS) LD= gcc $(LDFLAGS) # sources SRC=mes_sources.c # nommage automatique des fichiers objets d'apres les # noms des sources C OBJ= $(SRC:.c=.o) # nommage automatique des fichiers de dependance # d'apres les noms des sources C DEP= $(SRC:.c=.d) all: mon_programme mon_programme: $(OBJ) $(LD) -o $@ $+ $(LIB) %.o: %.c $(CC) -o $@ -c $< %.d: %.c $(CC) -MM -MD -o $@ $< .PHONY: clean clean: rm -f $(OBJ) $(DEP) # inclusion des dependances include $(DEP)
Je ne comprend pas pourquoi...
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 gcc -MM -MD -o mes_sources.d mes_sources.c gcc -MM -MD -o une_autre.d une_autre.c ... rm -f mes_sources.o mes_sources.d
Merci d'avance pour vos r�ponses.
Partager