Android.mk 中 ifeq ifneq 的普通与特殊用法详解

(1)ifeq的的常用方法

 ifeq ($(变量名), 变量值 )
   ........
 else ifeq ($(..), ..)
   .........
 else
   .........
 endif
    ifneq ($(变量名), 变量值 )
           ........
    else ifneq ($(..), ..)
           .........
    else
           .........
    endif

(2)最近在学习Android.mk的过程中遇到需要用ifeq进行逻辑与判断,但是ifeq并没有像其他编程语言那样有 逻辑或(||) 逻辑与(&&) 的符号可用。这时候需要变通一下。
逻辑与变通实现
举例说明:比如需要判断两个变量 VALUE1 和 VALUE2 的值都存在才执行某个动作,这需要逻辑与的判断

  C语言的逻辑:  if ( VALUE1  &&  VALUE2){
                    do something....
                  } 

   没有&&符号,我们可以这样变通:将两个变量链接起来再判断
    ifneq ($(VALUE1)$(VALUE2),)
           do something....
    endif

如果变量 VALUE1 和 VALUE2 都有具体的值,比如需要进行这样的判断: VALUE1 == V1 && VALUE2 == V2, 可以按如下的写法;

   ifeq ($(VALUE1)_$(VALUE2), V1_V2)    ### 当然中间的下划线 "_" 可以用其他字符代替  

           do something....

    endif

逻辑或变通实现,同样是上面的两个变量

   if( VALUE1 == V1 || VALUE2 == V2 ) {...} 可以用findstring函数做如下变通实现:

     #如果VALUE1或者VALUE2为V1或V2,则findstring 不会返回空。

     ifneq ($(findstring $(VALUE1)$(VALUE2),  V1  V2),)

        do something...

     endif
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值