八、条件判断的使用
和C编程一样,在makefile中添加条件判断可以使make在运行的过程中根据不同的条件状况执行不同的分支。条件表达式可以是比较变量的值,也可以是比较变量和常量的值。在条件判断的使用过程中的关键字有:ifeq、ifneq、 ifdef、 ifndef 、else、 endif。就字面上的意思来看,前面四个条件判断的关键字不难理解。分别是:是否相同、是否不同、是否已定义、是否未定义。下面就这四个条件判断的关键字进行实例阐释。
条件表达式的语法形式主要有以下两种形式:
<conditional-directive> #条件关键字
<text-if-true> #判断为真的处理语句
endif
<conditional-directive> #条件关键字
<text-if-true> #判断为真的处理语句
else
<text-if-false> #判断为假的处理语句
endif
8.1、关键字ifeq
该关键字用于判断参数“arg1”和“arg2”的值是否相同,也可以使用make的函数。实例如下:
ifeq($(strip $(demo)),)
echo hello_world
endif
上述例子中,假如strip返回的值是空,那么就执行其下面的命令。
8.2、关键字ifneq
该关键字用于判断参数“arg1”和“arg2”的值是否不同,不同为true,相同为flase。实例如下:
ifneq($(agr1), $(arg2))
echo hello_world
endif
上述例子中,假如“arg1”和“arg2”的值不同,那么就执行其下面的命令。
8.3、关键字ifdef
该关键字用于判断变量“variable_demo”的值是否为空,非空表达式为true,反之表达式为flase。实例如下:
ifdef variable_demo
value = 1
else
value = 0
endif
上述例子中,假如variable_demo的值非空,那么value的值为1,反之value的值为0。
8.4、关键字ifndef
该关键字用于判断变量“variable_demo”的值是否为空,非空表达式为true,反之表达式为flase。实例如下:
ifndef variable_demo
value = 1
else
value = 0
endif
上述例子中,假如variable_demo的值为空,那么value的值为1,反之value的值为0。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/117010.html