Makefile笔记之二------make的递归执行
1.make的递归过程指的是:
在Makefile中使用“make”作为一个命令来执行本身或者其它makefile文件的过程。
2.递归的意义:
当前目录下存在一个“subdir”子目录,在这个子目录中有描述此目录编译规则的makefile文件,在执行make时需要从上层目录(当前目录)开始并完成它所有子目录的编 译。那么在当前目录下可以使用这样一个规则来实现对这个子目录的编译。
3.用法举例:
我们有一个子目录叫subdir,这个目录下有个Makefile文件,来指明了这个目录下文件的编译规则。那么我们总控的Makefile可以这样书写:
subsystem:
cd subdir && $(MAKE)
其等价于:
subsystem:
$(MAKE) -C subdir
对这两个规则的命令进行简单说明,规则中“$(MAKE)”是对变量“MAKE”的引用(变量“MAKE”的值指向make可执行文件,一般为/usr/bin/make)。第一个规则命令的意思是:进入子目录,然后在子目录下执行make。第二个规则使用了make的“-C”选项,同样是首先进入子目录而后再执行make。
第二个规则的命令意思即为“cd subdir && usr/bin/make”
这两个例子的意思都是先进入“subdir”目录,然后执行make命令。
我们把这个Makefile叫做“总控Makefile”,总控Makefile的变量可以传递到下级的Makefile中(如果你显示的声明),但是不会覆盖下层的Makefile中所定义的变量,除非指定了“-e”参数。
4.make递归时关于变量的传递
如果你要传递变量到下级Makefile中,那么你可以使用这样的声明:
export ;
如果你不想让某些变量传递到下级Makefile中,那么你可以这样声明:
unexport ;
如:
示例一:
export variable = value
其等价于:
variable = value
export variable
其等价于:
export variable := value
其等价于:
variable := value
export variable
转载于:https://www.cnblogs.com/echo93/p/6252316.html
Makefile笔记之二------make的递归执行相关推荐
- Python数据结构与算法笔记(二):递归介绍及汉诺塔问题
递归 内容介绍 func1和func2没有结束条件. 图解func递归过程: 长框代表func3,窄框代表print.函数执行过程是从上至下. 长框代表func4,窄框代表print.函数执行过程是从 ...
- 算法笔记(二)暴力递归回溯搜索
文章目录 前缀树 贪心算法 有限时间完成最多次的会议 最省钱的切割金条方法 赚钱最多的项目安排方案 字典序比较方法 一个数据流中随时可以取得中位数 N皇后问题 位运算优化的N皇后问题 汉诺塔问题 打印 ...
- 汇编笔记之二——如何使用test执行jnz(或jz )
测试条件 JZ ZF=1 // JZ=jump if zero (结果为0则设置ZF零标志为1,跳转) JNZ ZF=0 // JNZ=jump if not zero test属于逻辑运算 ...
- Windows APC学习笔记(二)—— 挂入过程执行过程
Windows APC学习笔记(二)-- 挂入过程&执行过程 基础知识 挂入过程 KeInitializeApc ApcStateIndex KiInsertQueueApc Alertabl ...
- 多文件目录下makefile文件递归执行编译所有c文件 很不错
下面是网上找到的,思路很不错,当然也无法满足所有的需求,我执行又修改了一套.解决了下面的方法存在的问题:每次编译都是全编译的问题,解决思路是.o文件需要跟编译的makefile文件同目录. 首先说说本 ...
- Flowable学习笔记(二、BPMN 2.0-基础 )
转载自 Flowable学习笔记(二.BPMN 2.0-基础 ) 1.BPMN简介 业务流程模型和标记法(BPMN, Business Process Model and Notation)是一套图 ...
- 【Java编程思想】读书笔记(二)第六章---第十章
Java编程思想(第四版)学习笔记 第六章---第十章 第六章:访问权限控制 6.2Java访问权限修饰词 第七章:复用类 7.1 组合语法 7.2 继承语法(extends) 7.4.2名称屏蔽(重 ...
- Python语言入门这一篇就够了-学习笔记(十二万字)
Python语言入门这一篇就够了-学习笔记(十二万字) 友情提示:先关注收藏,再查看,12万字保姆级 Python语言从入门到精通教程. 文章目录 Python语言入门这一篇就够了-学习笔记(十二万字 ...
- 编译原理笔记(二)之词法分析
编译原理笔记(二)之词法分析 1. 词法分析中的若干问题 1.1 基本概念 1.2 记号的属性 1.3 词法分析器的作用与工作方式 1.4 输入缓冲区 2. 模式的形式化描述 2.1 字符串与语言 2 ...
最新文章
- Python中printf函数中逗号引发的区别
- 编写微信小程序常用到的界面参数
- sql server 2008 64位连接sql 2000服务器出错解决办法
- 怎么让热图显示基因名_R 生信数据可视化 01 | 聚类热图
- [BUUCTF-pwn]——[ZJCTF 2019]EasyHeap
- 老男孩教育参观云计算公司
- 学习LD_PRELOAD之摘抄
- Struts2 拦截器: 拦截器与过滤器区别
- SQL Server执行计划那些事儿(3)——书签查找
- 利用CVE-2019-1040 - 结合RCE和Domain Admin的中继漏洞
- Linux钩子拦截删除文件,在Linux中保存钩子文件
- 华为Mate 40 Pro屏幕贴膜曝光:双孔曲面屏实锤?
- 开课吧Java课堂:如何使用isAlive()和join()
- xp的guest访问
- linux mysql 管理员,Linux管理员-CentOS 7上的MySQL设置
- 保存的离线网页总是自动跳转
- 在Xperia XZ上刷入AOSP
- 计算机的进制的转换公式,计算机进制转换公式
- 微信公众号接入自己的客服系统,自定义客服系统
- 【生活中的逻辑谬误】以泪掩过和以笑饰非