我正在使用打算自動生成依賴關係的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