나는 make 파일을 사용하는 초보자입니다.
make.inc를 사용하여 프로젝트에 새 모듈을 추가했습니다.
프로젝트의 구조는 다음과 같습니다.
/Project/build.sh
/Project/make.inc
/Project/Module1/Makefile
/Project/Module2/Makefile
/Project/Module3/Makefile
/Project/Module4/Makefile
/Project/my_module/Makefile
처음에는 make.inc를 사용하여 컴파일 할 수있는 4 개의 다른 모듈이 있습니다.
지금까지 추가 한 모듈은 자체 Makefile로 컴파일되고 있습니다. 이제이 make 파일에 make.inc 경로를 포함시켜 모든 모듈에 대해 많은 플래그가 동일하므로 make.inc에 이미 정의 된 CFLAGS를 재사용합니다. 이제 make.inc 사용하여 build.sh를 사용하여 전체 프로젝트를 컴파일 할 수 있습니다.
그러나 Makefile을 사용하여 모듈을 단독으로 컴파일하면 CFLAGS가 make.inc에 정의되고 모듈의 경로 값을 전달하는 변수도 정의되므로 오류가 발생합니다.
이 make 파일 만 실행할 때 해당 경로를 얻는 방법
make 파일과 make.inc를 모두 사용하여 어떻게 컴파일 할 수 있는지 알고 싶습니다.
티아
답변
Makefile
루트 디렉토리에와 같은 명령을 포함하는 메인이 있어야한다고 생각합니다 include ./make.inc
.
또는 각 하위 폴더 \ Makefile 파일 위에 추가하십시오. include ../make.inc
http://owen.sj.ca.us/~rk/howto/slides/make/slides/makerecurs.html 에서 좋은 예를 찾았습니다.