一、ifeq

1、举例
根据 $(CC) 取值不同,执行不同的处理逻辑

libs_for_gcc = -lgnu 
normal_libs =

foo: $(objects) 
ifeq ($(CC),gcc) 
      $(CC) -o foo $(objects) $(libs_for_gcc) 
else 
      $(CC) -o foo $(objects) $(normal_libs) 
endif

  • ifeq:表示条件语句的开始,并指定一个条件表达式。表达式包含两个参数,以逗号分隔,表达式以圆括号括起,表示判断表达式与某个值是否相等
  • else:表示条件表达式为假的情况
  • endif:表示一个条件语句的结束,任何一个条件表达式都应该以endif结束

2、条件表达式的语法

// 表示条件关键字,如“ifeq”
<conditional-directive>; 
   <text-if-true>; 
else 
   <text-if-false>; 
endif

二、ifneq(与 ifeq 相反)

举例:
比较参数“arg1”和“arg2”的值是否相同。如果不同,则为

ifneq (<arg1>;, <arg2>;)

三、ifdef

举例:
如果变量 variable-name; 的值 非空,表达式为。否则,表达式为假。当然,variable-name; 同样可以是一个函数的返回值。注意,ifdef只是测试一个变量是否有值,其并不会把变量扩展到当前位置

ifdef <variable-name>;

四、ifndef(与 ifdef 相反)

举例:

ifndef <variable-name>;

Linux:Makefile条件判断ifeq、ifneq、ifdef、ifndef的含义相关推荐

  1. 【Scripts系列】之Makefile中条件分支ifeq/else/endif/else ifeq/ifneq/ifdef/ifndef用法详解

    DATE: 2019-2-22 前言       条件分支的用法在任何编程语言和脚本以及逻辑中都广泛使用.前文讲述过C语言中预处理的条件编译#ifdef/#if/#elif/#else/#endif用 ...

  2. ifeq makefile 或语句_makefile中的 ifeq ifneq ifdef ifndef条件判断

    feq ifneq ifdef ifndef 条件语句中使用到了三个关键字:"ifeq"."else"和"endif".其中: 1.     ...

  3. Makefile 条件判断(多条件,或条件)

    多条件 Makefile 使用 ifeq/ifneq 进行多条件判断如下 condition=CONDITION1 #condition=CONDITION2ifeq ($(condition), C ...

  4. linux脚本条件判断或,Shell脚本IF条件判断和判断条件总结

    前言:      无论什么编程语言都离不开条件判断.SHELL也不例外. if list then do something here elif list then do another thing ...

  5. linux常见条件判断

    linux条件判断:eq.ne.gt.lt.ge.le.-n.-z -eq: 测试两个整数是否相等:比如 $A -eq $B -ne: 测试两个整数是否不等:不等,为真:相等,为假: -gt: 测试一 ...

  6. makefile条件判断语句和函数

    1.makefile中支持条件判断语句 可以根据条件的值来决定make的执行 可以比较两个不同变量或者变量和常量值 ifxxx(arg1,arg2)elseendif 注意事项:条件判断语句只能用于控 ...

  7. Linux shell条件判断if中的-a到-z的意思

    [ -a FILE ]  如果 FILE 存在则为真.   [ -b FILE ]  如果 FILE 存在且是一个块特殊文件则为真.   [ -c FILE ]  如果 FILE 存在且是一个字特殊文 ...

  8. Linux shell 条件判断if

    -a到-z的意思 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 FILE 存在且是一个字特 ...

  9. Makefile中条件判断ifeq、ifneq、ifdef、ifndef的含义

    一.ifeq 1.举例 根据 $(CC) 取值不同,执行不同的处理逻辑 libs_for_gcc = -lgnu normal_libs = foo: $(objects) ifeq ($(CC),g ...

最新文章

  1. ++和+的运算优先级和++i和i++混合用法解析
  2. VIT自适应语音转文本可预测长度和内容(ocr也可)
  3. Numpy生成二项分布随机数
  4. 计算机vb选择题题题库,2013计算机二级VB真考选择题题库(4
  5. 「 每日一练,快乐水题 」693. 交替位二进制数
  6. LINQ体验(6)——LINQ语句之Join和Order By
  7. 一个列表包揽所有你需要的Windows应用
  8. 数据库中的超码、候选码、主码
  9. java学习笔记14-多态
  10. 薅羊毛!如何让趣头条自动阅读挣钱
  11. 简单的新闻分类算法(流程图描述)
  12. 普通定时器输出互补PWM带死区
  13. 什么软件可以测试自己有没有近视,微信APP中怎么测试自己的视力
  14. (三)CSS前端开发面试会问到的问题有哪些?
  15. 语法俱乐部3:动词时态
  16. LeetCode题解(1425):带限制的子序列和(Python)
  17. 坑爹的hiredis API使用
  18. 读彬彬有礼压缩感知相关论文笔记3——沙威程序解读
  19. MySQL将表中的价格全部加五_MySQL浅见(五)修改表
  20. 泛函分析笔记(十三) 傅里叶级数、紧自伴算子

热门文章

  1. Pb (数据存储单位)
  2. 不仅仅是营收170亿这么简单 腾讯云已经成为一切业务的基础
  3. intValue()的用法,以及与parseInt()和valueOf 的区别
  4. java 灰度直方图_【数字图像处理】灰度直方图、直方图均衡化、直方图规定化...
  5. 记录贴/阴阳师式神培养core loop
  6. MySQL:8.0 运行在 1G 内存服务上的内存配置
  7. python绘制花色分形树
  8. 最伤害眼睛的7大恶习
  9. 【分享日记】藏趣云浏览器网络收藏夹书签,多浏览器办公神器提高浏览器切换便捷性
  10. Flutter下载图片和视频