(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

linux shell ifeq,Makefile 中 ifeq ifneq 等用法相关推荐

  1. linux dd devzero,makefile中ifeq与ifneq dev/null和dev/zero简介 dd命令

    ifeq语法是ifeq ";" ";"  ,功能是比较参数"arg1"和"arg2"的值是否相同,相同时为1 ifneq ...

  2. linux shell ifeq,Makefile中的ifeq 多条件使用

    Makefile中的ifeq 多条件使用 网上关于makefile中ifeq的介绍已经很多了,为什么我还要在写这篇文章,因为他们只说了if else两种条件的情况,并没有讲多于两种条件情况的使用. 多 ...

  3. Linux shell去除字符串中所有空格

    Linux shell去除字符串中所有空格 echo $VAR | sed 's/ //g' 转载于:https://www.cnblogs.com/yjd_hycf_space/p/9839494. ...

  4. Linux Shell脚本入门--wget 命令用法详解

    Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...

  5. MakeFile中ifeq语法报错

    /bin/sh: -c: line 0: syntax error near unexpected token `64,' /bin/sh: -c: line 0: `ifeq (64, 64)' [ ...

  6. Linux学习笔记-Makefile中的变量及函数

    Makefile中的变量 此处的变量不是C/C++,Java等中的变量(认为他是一个字符串就阔以了) 一般变量名用大写字母来写,如下所属: SUBDIR = src xml SUBDIR += osa ...

  7. linux shell 从变量中按指定字符切割字符串

    #切割dmgeo-system-service__DM01-DEV__FWAA01Aline=dmgeo-system-service__DM01-DEV__FWAA01Aservice_name=$ ...

  8. linux shell读取配置文件中的内容

    文章目录 1. 创建conf文件夹 2. 创建sftp_conn.conf文件 3. 编写读取文件的脚本 4. 赋予脚本可执行权限 5. 执行脚本 6. 获取的信息 7. 利用这种方式 举一反三 读取 ...

  9. linux gcc ldl,Makefile 中gcc -lm -ldl是什么意思?

    gcc -lm -ldl是什么意思?----包含动态链接库 到书上出现gcc -lm 的选项,甚是不解,在网上查阅了一些资料,访问了一些论坛整理下. 初学linux和gcc,C代码调用math.h中的 ...

最新文章

  1. 2020 诺贝尔奖「第一棒」:英美三位科学家摘得桂冠!
  2. str 类常用的函数
  3. 【视频课】如何掌握好深度学习之视频分类与行为识别?这一门课足矣!
  4. Apache Dubbo 被曝出“高危”远程代码执行漏洞
  5. concurrent 底层_万字长文!从底层开始带你了解并发编程,彻底帮你搞懂Java锁!
  6. 全国计算机等级考试和职称考试题库,全国职称计算机等级考试题库及答案
  7. 解决 CefSharp WPF控件不能使用输入法输入中文的问题(代码已提交到 github)
  8. std c++ 获取运行时间封装
  9. 没有月亮的中秋,有CCNP伴我度过!
  10. [实验]一个小的局域网
  11. 人工智能-动物识别专家系统(pyqt5)
  12. TYVJ1288 飘飘乎居士取能量块 -SilverN
  13. 决策树案例学习(Python实现)
  14. 爬虫-东北林业大学校内-中国[哈尔滨]森林博物馆-爬取所有馆藏蝴蝶图片
  15. 1109: 方块消除 blocks
  16. 智慧养老的发展形势及智慧养老热点、痛点、难点
  17. 解决安装pycrypto时的各种问题/安装失败
  18. 如何邀请好友注册您的网站(模拟百度网盘)
  19. matlab绘制频率响应特性曲线,MATLAB环境下频率响应曲线的绘制方法
  20. 关于nginx报错/usr/share/nginx/html/jiankongshare failed (2: No such file or directory)的问题解决...

热门文章

  1. 数字货币稳健投资的秘诀,RBF或许能告诉你答案
  2. 用html5做五个交互页面,H5是什么?5分钟就能全面了解什么是html5页面
  3. 手机版网易邮箱大师中添加qq邮箱时,一直卡在验证密保的界面怎么办
  4. 网易游戏研发工程师实习生(客户端方向)一面
  5. 人工智能和人类智能的本质区别是什么(四)
  6. ai人工智能制作视频_建立一个人工智能驱动的可搜索视频档案
  7. Zookeeper分布式应用协调软件的核心概念以及部署
  8. hdu 1870 愚人节的礼物 (栈)
  9. consul watch使用详解
  10. 与技术无关的一篇文章,记录下内心深处