在实际的项目中,总不会是只有一个 Makefile 文件,我们会在 Makefile 中调用另外的 Makefile 文件,呈现出 Makefile 的层级结构。

上层 make 过程要将所执行的 Makefile 中的变量传递给子 make 过程,需要明确地指出。

在 GNU make 中,实现此功能的指示符是 export。当一个变量使用 export 进行声明后,变量和它的值将被加入到当前工作的环境变量中,以后在 make 执行的所有规则的命令都可以使用这个变量。

而当没有使用指示符 export 对任何变量进行声明的情况下,上层 make 只将那些已经初始化的环境变量(在执行 make 之前已经存在的环境变量)和使用命令行指定的变量(如命令make CFLAGS +=-g 或者 make –e CFLAGS +=-g)传递给子 make 过程。

例子:对比下面的两个示例的输出结果。

Makefile中export的用法相关推荐

  1. Makefile中的wildcard用法

    Makefile中的wildcard用法 在Makefile规则中,通配符会被自动展开.但在变量的定义和函数引用时,通配符将失效.这种情况下如果需要通配符有效,就需要使用函数"wildcar ...

  2. MAKEFILE【4】-Makefile中的wildcard用法

    文章目录 前言 前言 语法: $(wildcard PATTERN...) 在Makefile中,它被展开为已经存在的.使用空格分开的.匹配此模式的所有文件列表 一般我们可以使用"$(wil ...

  3. Makefile中命令if用法

    $(if <condition>,<then-part>,<else-part>)         如果<condition>为真(非空字符串),< ...

  4. makefile 的export问题

    from http://againinput4.blog.163.com/blog/static/172799491201132693532418/ 1.在(parent,上层的)makefile中e ...

  5. makefile中常用函数

    Linux下编译c/c++源码需要编写makefile文件,文章参看 http://blog.sina.com.cn/s/blog_4c4d6e74010009jr.html 一函数的调用语法 二字符 ...

  6. makefile中的patsubst、notdir、wildcard介绍以及用法

    1.1 patsubst:模式替换函数 格式:格式:$(patsubst pattern, replacement, text) 功能:查找text中的单词(单词以"空格".&qu ...

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

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

  8. Makefile中wildcard、notdir、patsubst函数的用法

    Makefile 里的函数跟它的变量很相似--使用的时候,你用一个 $ 符号跟开括号,函数名,空格后跟一列由逗号分隔的参数,最后用关括号结束. 在 GNU Make 里有一个叫 'wildcard' ...

  9. android file函数,Android Makefile中wildcard、notdir、patsubst函数的用法

    Makefile 里的函数跟变量的使用方法很相似--用一个$符号跟左括号,函数名,空格后跟一列由逗号分隔的参数,最后用右括号回括. 在GNU Make里有一个叫 'wildcard' 的函数,它有一个 ...

最新文章

  1. 你的企业客户服务,离卓越还有多远?
  2. 实践Jenkins集成Cobertura自动化构建SpringBoot工程
  3. halcon算子之tuple_gen_const,用于生成特定长度的元组并且初始化其元素
  4. html如何播放h264视频,浏览器 – 我如何播放H264视频?
  5. 陕西师范大学计算机科学学院保研院校,陕西师范大学计算机科学学院(专业学位)现代教育技术保研细则...
  6. python convert函数_Python内置函数
  7. gvim同时处理中日韩文
  8. 架构初识之 —— 使用kafka进行商品维度化缓存解决方案
  9. Debian 9 + Windows 10 双系统安装体验
  10. 访问vector元素方法的效率比较(转)
  11. 技术支持诈骗手段翻新:借勒索软件类锁屏界面恐吓用户
  12. Javascript 事件入门
  13. settings sync 怎么用_用好这7个VS Code插件,前端编程效率蹭蹭涨
  14. 解决Eclipse10配置Pydev不成功的问题
  15. MongoDB同步原理解析
  16. 南信大学生怎样看知网,看外文文献
  17. 51单片机之串行通信
  18. JavaScript的toast
  19. jw player 6 断点续播 seek()
  20. js pug 代码_pug模板引擎(原jade)

热门文章

  1. VC++:SetWindowPos
  2. linux卸载锐速,卸载BBR回退到锐速
  3. HTML标签学习---第二天
  4. python动态数组怎么实现_如何创建动态数组
  5. 初心大陆-----python宝典   第三章
  6. Active Directory 证书服务(一)
  7. Zookeeper基本使用
  8. Kettle连接Oracle
  9. cloudflare
  10. 关于vs2022 C6031 “scanf返回值被忽略”的解决办法