zoukankan      html  css  js  c++  java
  • Makefile的ifeq逻辑或,逻辑与的变通实现

    (1)ifeq的用法

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

    (2)最近在学习makefile的过程中遇到需要用ifeq进行逻辑与判断,但是ifeq并没有像其他编程语言那样有 逻辑或(||) 逻辑与(&&) 的符号可用。这时候需要变通一下。

        1)逻辑与变通实现:
    
        举例说明:比如需要判断两个变量 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
    
    
     2) 逻辑或变通实现,同样是上面的两个变量
    
         if( VALUE1 == V1 || VALUE2 == V2 ) {...} 可以用findstring函数做如下变通实现:
    
         #如果VALUE1或者VALUE2为V1或V2,则findstring 不会返回空。
    
         ifneq ($(findstring $(VALUE1)$(VALUE2),  V1  V2),)
    
            do something...
    
         endif
    

    原文链接:https://blog.csdn.net/u010312436/article/details/52459609

  • 相关阅读:
    Nginx log日志参数详解
    sea.js模块加载工具
    sea.js模块加载工具
    Airbnb React/JSX 编码规范
    4.2 react patterns(转)
    4.1 react 代码规范
    3.5 compose redux sages
    3.3 理解 Redux 中间件(转)
    3.4 redux 异步
    3.1 开始使用 redux
  • 原文地址:https://www.cnblogs.com/onelikeone/p/15669079.html
Copyright © 2011-2022 走看看