반응형

`Makefile.in' 만들기

한 패키지 내의 모든 `Makefile.in' 파일들을 만드려고 할 때, `automake' 프로그램을 맨 위 디렉토리에서 아무 인자 없이 실행한다. automake는 자동으로 각각 알맞은 `Makefile.am'을 찾고 (`configure.in'을 검색해서; see section `configure.in'를 검색하기) 대응되는 `Makefile.in'을 만들어 낸다. automake는 패키지가 매우 간단하게 구성되어 있다고 가정한다; automake는 한개의 패키지에 오직 한개의 `configure.in'가 맨 위 디렉토리에 있다고 가정한다. 만약 패키지가 여러개의 `configure.in'을 갖고 있다면, `configure.in'이 들어 있는 각각의 디렉토리에서 automake를 실행해야 한다.

옵션으로 automake에 인자를 줄 수 있다; `.am'를 그 인자 뒤에 붙인 결과가 입력 파일의 이름으로 사용된다. 보통 이 기능은 업데이트해야 하는 `Makefile.in'을 다시 만들 때 자동으로 사용된다. 경우 서브디렉토리의 `Makefile.in'을 다시 만들 때 쓰일 경우에도 automake는 언제나 프로젝트의 가장 위의 디렉토리에서 실행되어야 한다는 것에 유의하자. 그 이유는 automake`configure.in'을 읽기 때문이고, 어떤 경우에는 `Makefile.in'이 서브디렉토리에 있다는 사실을 이용해 automake가 다르게 동작하기 때문이다.

automake에 다음 옵션을 줄 수 있다.

-a
--add-missing
어떤 상황에서는 Automake에서 꼭 필요한 파일들이 있다; 한 가지 예로 `configure.in'에서 AC_CANONICAL_HOST를 실행하려면 `config.guess' 파일이 필요하다. Automake는 이와 같은 파일들이 함께 배포된다; 이 옵션은 (가능하다면) 빠진 파일들을 자동으로 패키지에 첨가시켜 준다. 보통 Automake를 실행할 때 어떤 파일이 없다는 메세지를 내면, 이 옵션을 사용해 본다. 기본적으로 Automake는 빠진 파일에 대해서 심볼릭 링크를 만들어 놓는다; 단, --copy 옵션을 사용하면 그렇게 하지 않는다.
--amdir=dir
Automake의 데이타 파일을 설치 디렉토리 대신에 dir 디렉토리에서 찾는다. 이 옵션은 보통 디버깅을 위해 사용된다.
--build-dir=dir
Automake에게 어디 빌드 디렉토리가 있는지 알려준다. 이 옵션은 make dist에서 `Makefile.in' 파일을 만들 때 이 파일에 의존성 정보를 포함시킬 때 사용한다; 그 외에는 사용되면 안 된다.
-c
--copy
--add-missing 옵션과 같이 사용하면, 설치할 파일들이 복사된다. 기본적으로 심볼릭 링크를 만든다.
--cygnus
생성된 `Makefile.in'이 GNU나 Gnits 규칙 대신에 Cygnus 규칙을 따르도록 한다. 자세한 정보는 See section --cygnus의 효과.
--foreign
전체 엄격성을 `foreign'로 맞춘다. 더 많은 정보는 See section 엄격성.
--gnits
전체 엄격성을 `gnits'로 맞춘다. 더 많은 정보는 See section --gnu와 --gnits의 효과.
--gnu
global striceness를 `gnu'로 맞춘다. 더 많은 정보는 See section --gnu와 --gnits의 효과. 이 것이 기본 엄격성이다.
--help
셸 명령의 옵션 요약을 출력하고 종료한다.
-i
--include-deps
자동으로 만들어지는 의존성 정보(see section 자동 의존성 추적)를 `Makefile.in' 파일 안에 포함한다. 배포판을 만드는 경우에는 이렇게 한다; section 배포판에 들어가는 것들 참조.
--generate-deps
자동으로 만들어지는 의존성 정보를 (see section 자동 의존성 추적) 모두 한 파일에 모아 놓은 파일, `.dep_segment'를 만든다. 이 작업은 보통 배포판을 만들 때 하게 된다; section 배포판에 들어가는 것들 참조. 이 기능은 `SMakefile'처럼 여러 플랫폼을 위한 메이크파일을 관리해야 할 때 유용하다 (`Makefile.DOS', 등). 이 옵션은 `--include-deps', `--srcdir-name', 그리고 `--build-dir' 옵션과 함께 사용해야 한다. 이 옵션이 주어지면, 그 외의 동작은 전혀 하지 않는다는 점에 유의한다.
--no-force
보통 automake`configure.in'에 언급된 모든 `Makefile.in' 파일들을 만든다. 이 옵션은 그 파일들의 의존성에 따라 갱신해야 하는 `Makefile.in'만을 다시 만들도록 한다.
-o dir
--output-dir=dir
생성된 `Makefile.in'dir 디렉토리에 넣는다. 보통 각 `Makefile.in'은 해당 `Makefile.am'이 있는 디렉토리에 만들어 진다. 이 옵션은 배포판을 만들 때 사용된다.
--srcdir-name=dir
Automake에게 현재 빌드와 관련된 소스 디렉토리의 이름을 알려준다. 이 옵션은 make dist에 의해 만들어진 `Makefile.in'에 의존성 정보를 포함시킬 때 사용한다; 그 외에는 사용되면 안 된다.
-v
--verbose
Automake에서 입력을 읽거나 Automake가 만들어 내는 파일들에 대한 정보를 출력하도록 한다.
--version
Automake의 버전 번호를 출력하고 종료한다.
반응형

'Linux > Linux 일반' 카테고리의 다른 글

make  (0) 2009.02.04
ld.so.conf를 이용해서 라이브러리 경로 추가  (0) 2008.12.30
Emacs-guided-tour-1.pdf  (0) 2008.12.19
Posted by Real_G