1、
ifeq语句
ifeq : 判断语句,用于比较两个参数是否相等,相等则该语句通过。
如果a和b相等,则do something
2、
filter语句
filter: 过滤语句,过滤掉不符合指定的模式的内容,仅保留符合指定的模式的内容。
VAR := 1 2 3 4 5
指定的模式为 1 2 3,多个模式之间用空格区分
$(filter 1 2 3 , $(VAR))
结果是:
1 2 3
3)
strip 去空字符语句,去掉字串中开头和结尾的空字符(空字符包括空格、[Tab]等不可显示字符)。
VAR = 1 2 3
$(strip $(VAR))
结果是:
1 2 3
总结:
看完这三个语句的说明,我们再来看最开始的
第一种情况:
当AAA 中有 BBB 或者 CCC 的时候:
AAA= BBB DDD
$(strip $(AAA)= BBB DDD
上面就可以写为
$(filter BBB DDD, BBB CCC) = BBB
上面就可以写为
所以结果为do nothing。
第二种情况:
当AAA 中没有 BBB 或者 CCC 的时候:
AAA= EEE
$(strip $(AAA)= EEE
上面就可以写为
$(filter EEE, BBB CCC) = NULL
上面就可以写为
所以结果为do something。
————————————————
版权声明:本文为CSDN博主「yugang_123456」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yugang_123456/article/details/125083020