종속성을 자동으로 생성하려는 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