Bonjour,
Ton Makefile est globalement assez tordu...
1 2
| objets1 = titi.o tata.o
objets = toto.o $(objets1) |
Pourquoi séparer les deux si, au final, tu n'utilises que $(objets) ?
1 2
| clean : $(objets1) toto.o
rm $(objets1) toto.o |
Oui, le comportement que tu constates ets exactement celui que tu décris dans ton Makefile :
clean : $(objets1) toto.o
Cela indique que la cible "clean" dépend de $(objets1) et de toto.o.
D'ailleurs à ce sujet, je te fais remarquer que cette dépendance revient à faire une dépendance de $(objets).
Donc, lorsque tu compiles, tu créés ces objets.
Ensuite, si tu appelles "make clean", alors il va vérifier la présence de ses dépendances. Comme elles sont là, il n'a pas besoin de les reconstruire, et passe donc à l'exécution
En revanche, à l'exécution suivante de make clean, les objets dont il dépend n'existent pas. Il cherche donc à les créer avant de passer à la suite.
Partager