[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Automake는 간단한 조건문을 지원한다.
조건문을 사용하기 전에, configure.in
파일에
AM_CONDITIONAL
을 써야 한다. AM_CONDITIONAL
매크로는
두개의 인수가 필요하다.
AM_CONDITIONAL
의 첫번째 인수는 조건문의 이름이다. 이 이름은
문자로 시작하고, 문자, 숫자, 그리고 밑줄로만 된 간략한 문자열이어야
한다.
AM_CONDITIONAL
의 두번째 인수는 셸의 if 문장에 사용되는 데 적합한
셸 조건문이다. 이 조건은 configure
가 실행될때 검사된다.
조건문은 보통 사용자가 configure
스크립트에 넘겨준 옵션에 따라
좌우된다. 사용자가 `--enable-debug' 옵션을 주었을때 참인
조건문을 쓰는 예가 여기 있다.
AC_ARG_ENABLE(debug, [ --enable-debug Turn on debugging], [case "${enableval}" in yes) debug=true ;; no) debug=false ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;; esac],[debug=false]) AM_CONDITIONAL(DEBUG, test x$debug = xtrue) |
여기 `Makefile.am'에 어떻게 이 조건문을 쓰는지 있다:
if DEBUG DBG = debug else DBG = endif noinst_PROGRAMS = $(DBG) |
이 간단한 예는 `EXTRA_PROGRAMS'을 사용해서도 처리할 수 있다 (see section 프로그램을 build하기).
한개의 if
문에서 한개의 변수만 테스트할 수 있다. else
문은
생략될 수 있다. 조건문은 어떤 깊이로도 둘러쌓일(nexted) 수 있다.
Automake의 조건문은 GNU Make의 조건문과는 다르다는 것에 유의하자. Autoamke 조건문은 configure 시에 `configure' 스크립트에 의해 검사되고, `Makefile.in'에서 `Makefile'로 옮겨질때 영향을 미친다. 조건문은 `configure'에 넘겨진 옵션과 시스템에서 `configure'가 발견한 사실들에 따라 결정된다. GNU Make 조건문은 make시에 검사되고, make 프로그램에 넘겨지거나, `Makefile'에 정의된 변수에 따라 결정된다.
Automake 조건문은 어떤 make 프로그램과도 동작한다.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Autobuild on March, 29 2007 using texi2html 1.76.