ProgramingTip

하위 디렉토리 및 Makefile

bestdevel 2020. 12. 25. 10:27
반응형

하위 디렉토리 및 Makefile


이것이 여러 번 나는 묻는 질문이라고 생각하지만 올바른 방법을 찾을 수 없습니다 .

다음과 같은 구조가 있습니다.

project/
project/Makefile
project/code
project/code/*.cc
project/code/Makefile

'project / code'디렉토리에 "make project_code"를 호출하면 내 코드가 선택됩니다.

'project /'에있을 때 'project / code'에있는 것처럼 "make project_code"를 호출하고 싶습니다.

makefile 'project / Makefile'에는 다른 규칙 (예 : 'install')과 내가 'project / code'에있는 것처럼 보일 할 규칙이 포함됩니다. 그래서 도움을 요청합니다. 감사합니다.


가장 간단한 방법은 다음과 가변합니다.

CODE_DIR = code

.PHONY: project_code

project_code:
       $(MAKE) -C $(CODE_DIR)

.PHONY규칙 수단 project_code구축 필요가있는 파일이 아닙니다 -C(실행하는 것과 플래그가 디렉토리의 변화를 cd code호출하기 전에 make). codeMakefile 에서 다른 대상을 호출하는 데 동일한 접근 방식을 사용할 수 있습니다 .

예를 들면 :

clean:
       $(MAKE) -C $(CODE_DIR) clean

이 규칙을 프로젝트 / Makefile에 다음과 같이 추천십시오 (GNU make의 경우).

.PHONY : 프로젝트 코드
project_code :
       cd 코드 && make

참조 URL : https://stackoverflow.com/questions/3494999/subdirectories-and-makefiles

반응형