一、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. 2022斯坦福AI指数报告出炉!中国霸榜AI顶会,但引用量最低
  2. 下载apk文件之后变成zip的解决办法
  3. System Center产品相关开发(1)-SCOM和SCVMM简介
  4. 表格布局(TableLayout)及重要属性
  5. 我的.Net+SQLServer更新设计
  6. 查询字段是date类型的数据
  7. Django框架 day02
  8. iOS程序员必须知道的Android要点
  9. html文件变成桌面背景,将HTML文档设置为Windows桌面背景
  10. c语言中大写a对应的数字,123456789a
  11. 样本量重要,还是测序深度重要?
  12. PDMS批量输出ISO图
  13. amcharts php,AMCHARTS+MYSQL+PHP的使用实例
  14. PS——使用 快速选择工具、魔法棒 抠图
  15. 跟零计算机基础的房东女儿讲了一下午的中间人劫持京东事件后,她感激涕零,决定给我免除房租...
  16. UNLIMITED TABLESPACE权限
  17. 十款免费的Web前端开发工具
  18. 计算机主板 开机什么也不显示,电脑开机无显示,不是主板也不是CPU问题,而是它坏了...
  19. PhpStudy简单部署PHP网站项目
  20. 删除电脑上重复文件的方法--好用小软件推荐

热门文章

  1. SAP中工艺路线删除后无法释放组计数器的问题实例
  2. 2021-05-08北岛李工阅读笔记+廖常初
  3. Android双向滑动控件
  4. 谈谈从经纬度坐标到欧式距离的转化【matlab实现】
  5. 小米只能进fastboot(bl已解)救砖
  6. 一对恋人分手后再相聚的对话与心理
  7. [转]微软的面试题及答案(超变态但很经典)
  8. 给ggplot2来个「手绘风」
  9. 京津跨域通勤特征与职住空间分布研究
  10. 【读论文】中国人口空间流动格局与省际流动影响因素研究(2014)