分类: LINUX
2010-11-07 17:39:57
一、makefile的条件执行
1、 关键字“ifeq”
此关键字用来判断参数是否相等。格式如下:
ifeq(ARG1,ARG2)
test1
else
test2
endif
替换并展开ARG1和ARG2之后,对它们的值进行比较。如果条件为真(值相等)将执行test1,否则执行test2.
2、 关键字“ifneq”
此关键字用来判断参数是否相等。格式如下:
ifneq(ARG1,ARG2)
test1
else
test2
endif
替换并展开ARG1和ARG2之后,对它们的值进行比较。如果条件为真(值不相等)将执行test1,否则执行test2.
3、 关键字“ifdef”
此关键字是用来判断一个变量是否定义。格式如下:
ifdef NAME
test1
else
test2
endif
如果变量NAME的值位非空,则条件为真,执行test1。否则执行test2.
对于ifdef需要说明的是:ifdef只是测试一个变量是否有值。其并不会对变量进行替换扩展来判断变量的值是否为空。对于变量NAME,除了“NAME=”这种情况以外,使用其他方式对它的定义都会使ifdef返回真。就是说,即使我们通过其他方式给它赋一个空值,ifdef也会返回真。
4、 关键字“ifndef”
此关键字实现的功能与ifdef相反,格式如下:
ifdnef NAME
test1
else
test2
endif
chinaunix网友2010-11-08 15:24:41
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com