출처: gnu doc for Makefile
makefile에서 다른 makefile을 include하고자 할 때는 다음과 같이 한다.
위와 같이 하면, 현재 makefile을 읽는 걸 중단하고, 상기의 filename에 대한 읽기를 진행한다. 포함된 file에 대한 읽기가 끝나면 다시 현재 makefile에 대해 진행한다.
만약 상기 파일이 /로 시작하지 않거나 현재 디렉터리에 존재하지 않다면 다음과 같은 순서로 찾는다.
1. '-I' 혹은 '--include_dir'로 정의된 디렉터리
2. prefix/include('/usr/local/include') '/usr/gnu/include', '/usr/local/include', '/usr/include' 순서로 찾는다.
만약 위와 같이 해도 못 찾는다고 해서, 곧바로 에러를 내지는 않는다.(경고 메세지는 나온다.) 우선 현재 makefile에 대한 모든 진행을 맞추고, make는 현재 out-of-date 혹은 아직 존재하지 않는 파일에 대해 진행을 시도한다. 여기서도 만약 실패한다면, 에러가 난다.
만약 이런 에러를 피해, 있으면 좋구 없으면 에러내지 말라 라고 하고 싶다면, '-include'를 사용하라.
한개 이상의 makefile을 포함하고자 할 때는 다음과 같은 형식으로도 가능하다.
보통 언제 include를 쓰면 좋으냐면,
1. 여러 directory에 makefile들이 존재하고, 공용 variable에 대한 사용을 하고자 할 때
2. 소스 파일로부터의 dependencies를 자동으로 생성코자 할 때.
할 때 사용하면 좋다.
'리눅스 > 스크립트/유틸' 카테고리의 다른 글
Thunderbird에서 html포맷된 이메일 보내지 않기 (0) | 2014.05.07 |
---|---|
[screen] detached된 세션 죽이기 (0) | 2014.02.17 |
openssl 을 이용한 암호화 방법 (0) | 2013.11.25 |
GDB (0) | 2013.09.24 |
[Makefile] overriding target 관련 warning 메세지 (0) | 2013.09.02 |