1
다음은 6 개의 프로그램에 대한 간단한 헤더 파일입니다. 이 Makefile은 잘 작동했지만 이전에는 다른 구현 파일을 포함하도록 프로그램을 변경했습니다. 이 Makefile은 구현 파일이 변경되면 해당 구현 파일을 포함하는 파일이 다시 컴파일되도록 변경해야합니다.이 헤더 파일에 종속성을 추가하는 방법
all: load list show add delete btree
%: %.cpp
g++ $< -g -o [email protected]
g ++ -MM list.cpp을 실행하면 다음과 같은 결과가 나옵니다. list.o : list.cpp bt.h insert.c btio.c btutil.c Lab2.cpp. 나는 그걸 어떻게해야 하죠? 실제로 아무것도 만들지 않습니다. – neuromancer
직접 실행하지 않아도됩니다. % : % .cpp 규칙이이를 실행합니다. 이 규칙은 그 라인을 make 파일에 포함 된 .d 파일의 집합으로 변환한다. – Mark
'-MM'은이 출력을 생성하고'-MF'는 파일을 (.dd로 끝나는) 파일로 리다이렉트한다. 다음 줄은'sed'를 약간 수정하고'.d'로 이름을 바꿉니다. 이 마지막'.d' 파일들은 Makefile에 포함되어 있으며 make가 어떤 파일을 다른 파일에 의존하는지 알려줍니다. –