发信人: dingdang()
整理人: zelor(2001-11-27 10:40:26), 站内信件
|
第一节, 上一节, 下一节, 最后一节, 回到目录
---------------------------------------------------------------------- ----------
条件判断
Automake支持一种简单形式的条件判断。
在使用条件判断之前,必须在configure.in中定义 AM_CONDITIONAL,这个宏有两 个参数。
第一个参数是条件的名字。名字必须以字母开头,可包含字母、数字和下划线。
第二个参数是一个shell的条件表达式,可用于shell的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)
else语句可以略掉。条件判断可以任意嵌套。
请注意Automake中的条件判断与GNU Make中的条件判断并不完全相同。 Automak e中的条件判断在执行`configure'脚本时进行检查,并影响从`Makefile.in'到` Makefile'的转换。它们基于传递给`configure'的参数。GNU Make中的条件判断 则在make时进行检查,基于在`Makefile'中定义的以及传递给make程序的变量。
Automake的条件判断可与任何make程序一起工作。
---------------------------------------------------------------------- ----------
第一节, 上一节, 下一节, 最后一节, 回到目录
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.84.141]
|
|