J'utilise un makefile qui a l'intention de générer des dépendances automatiquement. Mais avec mon fichier, je trouve que bien que les modifications apportées aux fichiers d'en-tête provoquent la recompilation du code, elles ne provoquent pas la régénération des dépendances, comme je le pense. Quelqu'un peut-il voir ce que j'ai manqué?La génération de dépendance Makefile ne vérifie pas les en-têtes
.SUFFIXES : .hpp .cpp .d .o
SOURCES=main.cpp sub1.cpp sub2.cpp
OBJECTS=${SOURCES:.cpp=.o}
DEPENDENCIES=${SOURCES:.cpp=.d}
.cpp.d:
g++ -MM $< > [email protected]
.cpp.o:
g++ $< -c `pkg-config gtkmm-2.4 --cflags --libs` -g
calculator: ${OBJECTS} ${DEPENDENCIES}
g++ ${OBJECTS} -o calculator `pkg-config gtkmm-2.4 --cflags --libs` -g
include ${DEPENDENCIES}
Ceci est rusé. J'attendrais une réponse profi. Le point crucial du problème (évidemment) que .d ne dépend que du .cpp, et ignore les modifications du fichier d'en-tête. Donc, d'une certaine manière, .d doit dépendre de .d .... Les dépendances sont l'une des raisons pour lesquelles je n'utilise pas make pour tout. – Dummy00001