(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

ifeq makefile 或语句_学习笔记:Makefile的ifeq逻辑或,逻辑与的变通实现相关推荐

  1. DHCP服务_学习笔记

    DHCP服务_学习笔记 DHCP(Dynamic Host Configuration Protocol):动态主机配置协议 Lease:租约    续租时间需要是租期时间的一半 UDP协议: Ser ...

  2. db4o_8.0对象数据库官方文档翻译_学习笔记三

    紧接上篇:db4o_8.0对象数据库官方文档翻译_学习笔记二 3. Object Manager Enterprise Overview(OME视图)即OME插件的使用 If you did not  ...

  3. 韩顺平php可爱屋源码_韩顺平_php从入门到精通_视频教程_第20讲_仿sohu主页面布局_可爱屋首页面_学习笔记_源代码图解_PPT文档整理...

    韩顺平_php从入门到精通_视频教程_第20讲_仿sohu首页面布局_可爱屋首页面_学习笔记_源代码图解_PPT文档整理 对sohu页面的分析 注释很重要 经验:写一点,测试一点,这是一个很好的方法. ...

  4. 友盟统计+渠道包_学习笔记

    友盟统计+渠道包_学习笔记 资料: 官网:https://developer.umeng.com/docs/66632/detail/66889#h3-u5E38u89C1u95EEu9898 视频资 ...

  5. 图论01.最短路专题_学习笔记+模板

    图论01.最短路专题_学习笔记+模板 一.定义与性质 ● 需要的前导知识点 路径 最短路 有向图中的最短路.无向图中的最短路 单源最短路.每对结点之间的最短路 ● 最短路的性质 对于边权为正的图,任意 ...

  6. Linux学习笔记-Makefile的基本使用

    程序自动编译: 在vc中,点击"生成解决方案"就能生成解决方案: 在linux中使用Makefile,是一个脚本文件,和vc中生成解决方案差不多. 写如下代码: other.h v ...

  7. C学习笔记-makefile

    除非最简单的项目,任何一个商业项目都会包含多个源代码,而且在编译的时候会有很长很复杂的指令,为了编译的简单可行,makefile由此而生,在编译时候直接输入make便会按照makefile里面的规则编 ...

  8. c++ qt工作量和移动端相比_学习笔记 --- QT

    0.前序 别问,问就是选修... 那毕竟3dMax动画那边结课了,我怎么就不能再发一篇笔记(极其嚣张) QT其实会去好好学的,虽然最近为了选修结课又得恶补一波 不过以后给策划造编辑器是要用的,这篇笔记 ...

  9. python基本语法语句-python学习笔记:基本语法

    原标题:python学习笔记:基本语法 缩进:必须使用4个空格来表示每级缩进,支持Tab字符 if语句,经常与else, elif(相当于else if) 配合使用. for语句,迭代器,依次处理迭代 ...

最新文章

  1. pygame 笔记-8 背景音乐子弹音效
  2. canopen服务器协议,CANopen
  3. (五) : iview 时间选择器,校验不成功
  4. Class.getResource和ClassLoader.getResource
  5. Django 博客教程(三):创建应用和编写数据库模型
  6. mybatis源码解析(五) --- typehandler注册和处理的查询结果对象的类型转换
  7. 从优先级排序看敏捷开发的自相似性
  8. php取excel中的值,在Php Excel中使用列名获取单元格值
  9. Java-多线程第四篇线程池
  10. PCA人脸识别详解——初学者必看
  11. 配置管理系统和整体变更系统有什么区别与联系
  12. 舞蹈课(2020NOIP)
  13. 高红梅:第三章 第二节 身份焦虑与英雄梦
  14. java实现二维码的生成和解析包含工具类
  15. android xml画斜线,API返回XML引号通过反斜线
  16. 移动端网页禁止下拉刷新css
  17. Lynda课程中文字幕 Network Automation Quick Start 网络自动化快速入门
  18. BPF编程-使用libbpf-bootstrap构建BPF应用程序【译】
  19. windows10上传文件到服务器
  20. 如何用C语言编写简单的日历查询程序

热门文章

  1. Swagger2的使用
  2. redis单线程原理___Redis为何那么快-----底层原理浅析
  3. socket和http区别有哪些
  4. Java面向对象编程篇4——内部类
  5. java开发安装mysql_从零开始搭建Java开发环境第二篇:如何在windows10里安装MySQL
  6. android 关闭软键盘失去焦点,Android - html输入在软键盘打开时失去焦点(ASP.net)...
  7. vue 手机端路由切换滑动_vue移动端router-view嵌套实现底部导航切换
  8. (并查集)小希的迷宫
  9. java创建目录时带权限_java – 无法在外部存储中创建目录,尽管权限显然设置正确...
  10. 理解计算机网络的拓扑结构,认识计算机网络拓扑结构