我正在使用打算自动生成依赖关系的makefile。但对于我的文件,我发现虽然对头文件的更改会导致代码重新编译,但它们不会导致重新生成依赖关系,因为我认为它们应该这样做。任何人都可以看到我错过了什么吗?Makefile依赖关系生成不检查标头
.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}
这是棘手。我会等待profi回应。问题的关键(显然).d依赖于.cpp,并忽略头文件的更改。所以从某种意义上说,.d必须依赖于.d ....依赖性是我不使用make的所有原因之一。 – Dummy00001 2010-07-16 10:57:32