一、ifeq
1、举例
根据 $(CC) 取值不同,执行不同的处理逻辑
libs_for_gcc = -lgnu
normal_libs =
foo: $(objects)
ifeq ($(CC),gcc)
$(CC) -o foo $(objects) $(libs_for_gcc)
else
$(CC) -o foo $(objects) $(normal_libs)
endif
- ifeq:表示条件语句的开始,并指定一个条件表达式。表达式包含两个参数,以逗号分隔,表达式以圆括号括起,表示判断表达式与某个值是否相等
- else:表示条件表达式为假的情况
- endif:表示一个条件语句的结束,任何一个条件表达式都应该以endif结束
2、条件表达式的语法
// 表示条件关键字,如“ifeq”
<conditional-directive>;
<text-if-true>;
else
<text-if-false>;
endif
二、ifneq(与 ifeq 相反)
举例:
比较参数“arg1”和“arg2”的值是否相同。如果不同,则为真
ifneq (<arg1>;, <arg2>;)
三、ifdef
举例:
如果变量 variable-name; 的值 非空,表达式为真。否则,表达式为假。当然,variable-name; 同样可以是一个函数的返回值。注意,ifdef只是测试一个变量是否有值,其并不会把变量扩展到当前位置
ifdef <variable-name>;
四、ifndef(与 ifdef 相反)
举例:
ifndef <variable-name>;
今天的文章makefile ifdef多个判断条件_shell if 判断多个条件「建议收藏」分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/77574.html