1、介绍

EXTRA_CFLAGS,  EXTRA_AFLAGS,  EXTRA_LDFLAGS,  EXTRA_ARFLAGS
所有的EXTRA_变量只能使用在定义该变量后的makefile文件中。EXTRA_变量被makefile文件所有的执行命令语句所使用。
$(EXTRA_CFLAGS) 是使用$(CC)/gcc编译C文件的编译参数选项。
例如:

# drivers/sound/emu10k1/Makefile
EXTRA_CFLAGS += -I$(obj)
ifdefDEBUG EXTRA_CFLAGS += -DEMU10K1_DEBUG
endif

定义这个变量是必须的,因为顶层makefile定义了 $(CFLAGS) 变量并使用该变量编译整个代码树。
$(EXTRA_AFLAGS) 是每个目录编译汇编语言源文件的选项。
例如:

#arch/x86_64/kernel/Makefile
EXTRA_AFLAGS := -traditional

$(EXTRA_LDFLAGS) 和 $(EXTRA_ARFLAGS) 用于每个目录的 $(LD) 和 $(AR) 选项。

2、理解以及使用方法

CFLAGS += $(EXTRA_CFLAGS)

理解:在外部传入CFLAGS会将makefile中的变量CFLAGS中的值覆盖掉,而采用EXTRA_FLAGS变量的目的应该就是在外部传入CFLAGS变量时不会将makefile中该变量的值被覆盖掉,而是将相应的值追加上去。

使用方法:

make  PLATFORM=arm  CROSS=aarch64-hisiv610-linux-gnu-  EXTRA_FLAGS+=-DARM

使用情况:在arm平台中存在很多交叉编译工具链,可以通过外部输入交叉编译工具(CROSS?=arm-hisiv400-linux-)和CFLAGS或者其他参数选项的值,从而实现makefile编译脚本的灵活编译。

linux makefile 编译标记 EXTRA_CFLAGS 简介相关推荐

  1. Linux 内核编译配置选项简介(转)

    Linux 内核编译配置选项简介 作者:金步国 版权声明 本文作者是一位自由软件爱好者,所以本文虽然不是软件,但是本着 GPL 的精神发布.任何人都可以自由使用.转载.复制和再分发,但必须保留作者署名 ...

  2. Linux 内核编译配置选项简介

    Linux 内核编译配置选项简介 作者:金步国 版权声明 本文作者是一位自由软件爱好者,所以本文虽然不是软件,但是本着 GPL 的精神发布.任何人都可以自由使用.转载.复制和再分发,但必须保留作者署名 ...

  3. linux 编译 cflags,【PE/makefile】编译标记EXTRA_CFLAGS介绍和使用方法

    ###Date: 2018.3.24 =========================================================== 1.介绍 EXTRA_CFLAGS, EX ...

  4. 加快linux编译速度,Linux Makefile 编译速度的优化【转】

    前言 如何提高 Makefile 的编译速度呢?既然是提高,那肯定是对于大项目而言,因为小项目本身源文件不多,Makefile 优化与否,对于编译速度而言,影响并不大.当然对于那些追求速度达到极致的人 ...

  5. 【PE/makefile】编译标记EXTRA_CFLAGS介绍和使用方法

    ###Date: 2018.3.24 =========================================================== 1.介绍 EXTRA_CFLAGS, EX ...

  6. [转]Linux 2.6.19.x 内核编译配置选项简介

    Linux 2.6.19.x 内核编译配置选项简介 作者:金步国,转载地址:http://lamp.linux.gov.cn/Linux/kernel_options.html 版权声明 本文作者是一 ...

  7. Linux 2.6.19.x 内核编译配置选项简介(内核裁剪)

    Linux 2.6.19.x 内核编译配置选项简介 Code maturity level options 代码成熟度选项 Prompt for development and/or incomple ...

  8. [Linux]Linux 2.6.19.x 内核编译配置选项简介

    Linux 2.6.19.x 内核编译配置选项简介 Code maturity level options 代码成熟度选项 Prompt for development and/or incomple ...

  9. (转载) Linux 2.6.19.x 内核编译配置选项简介

    Linux 2.6.19.x 内核编译配置选项简介 作者:金步国 版权声明 本文作者是一位自由软件爱好者,所以本文虽然不是软件,但是本着 GPL 的精神发布.任何人都可以自由使用.转载.复制和再分发, ...

最新文章

  1. rails2.3.5 添加jquery ui 找不到images
  2. 55.Jump Game
  3. 程序员妈妈的“work-life balance”,直面想象中的困难
  4. 我的2020年度总结
  5. java中多态的例子_java中的多态案例
  6. 将asp.net1.1的应用程序升级到asp.net2.0的一点心得
  7. 苹果供应商:iPhone SE 3 5G和AirPods生产平稳
  8. [2019杭电多校第七场][hdu6656]Kejin Player
  9. Linux下shell命令——处理目录的常用命令
  10. 橘子origin游戏平台如何绑定登陆验证/二次验证码?
  11. 酷派7269_酷派7269(联通版)救砖教程 线刷教程 图文详解 附线刷工具下载
  12. 游戏开发中常见的10种编程语言
  13. android捕获全局异常lin,全局获取 (Activity)Context,实现全局弹出 Dialog
  14. android项目epub格式电子书开源开发
  15. 高等数学(第七版)同济大学 总习题七 (前4题)个人解答
  16. [日常] NOI2019 退役记
  17. 惠普星 TP01-055ccn电脑重装系统步骤
  18. AT命令的简单介绍和使用
  19. markdown的checkbox综述
  20. 华为交换机本地查看登录和操作日志

热门文章

  1. Go 语言编程 — 逻辑控制语句
  2. DPDK — IGB_UIO,与 UIO Framework 进行交互的内核模块
  3. C 语言编程 — 高级数据类型 — 字符串
  4. 全球可持续发展标准化城市联盟首个海外会议基地落户杭州
  5. C++基础代码--20余种数据结构和算法的实现
  6. Sprinig泛型依赖注入
  7. 亿景WideLink系统与微软统一通信的整合
  8. thinkphp 整合 swiftmailer 实现邮件发送
  9. RQNOJ 83 魔兽世界
  10. 《SPARK/TACHYON:基于内存的分布式存储系统》-史鸣飞(英特尔亚太研发有限公司大数据软件部工程师)...