makefile语法(19)

2021-01-20 23:14

makefile语法详解

$(CC) -o foo $(objects) $(libs)

二、语法

条件表达式的语法为:

<conditional-directive>;

<text-if-true>;

endif

以及:

<conditional-directive>;

<text-if-true>;

else

<text-if-false>;

endif

其中<conditional-directive>;表示条件关键字,如“ifeq”。这个关键字有四个。

第一个是我们前面所见过的“ifeq”

ifeq (<arg1>;, <arg2>;)

ifeq '<arg1>;' '<arg2>;'

ifeq "<arg1>;" "<arg2>;"

ifeq "<arg1>;" '<arg2>;'

ifeq '<arg1>;' "<arg2>;"

比较参数“arg1”和“arg2”的值是否相同。当然,参数中我们还可以使用make的函数。如:

ifeq ($(strip $(foo)),)

<text-if-empty>;

endif

这个示例中使用了“strip”函数,如果这个函数的返回值是空(Empty),那么

<text-if-empty>;就生效。

第二个条件关键字是“ifneq”。语法是:

ifneq (<arg1>;, <arg2>;)

ifneq '<arg1>;' '<arg2>;'

ifneq "<arg1>;" "<arg2>;"

ifneq "<arg1>;" '<arg2>;'

ifneq '<arg1>;' "<arg2>;"

其比较参数“arg1”和“arg2”的值是否相同,如果不同,则为真。和“ifeq”类似。 第三个条件关键字是“ifdef”。语法是:

ifdef <variable-name>;

如果变量<variable-name>;的值非空,那到表达式为真。否则,表达式为假。当然,

<variable-name>;同样可以是一个函数的返回值。注意,ifdef只是测试一个变量是否有值,其并不会把变量扩展到当前位置。还是来看两个例子:


makefile语法(19).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:参观博物馆有感报道

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: