[ << ] | [ < ] | [ 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 on February 24, 2015 using texi2html 5.0.