make执行过程解析

makefile的执行过程:
a、读取makefile中的变量和规则,遇到include包含的所有文件则包含到当前位置
b、开始分析目标依赖
c、要是某个目标依赖需要 -f指定执行某个特定文件作为Makefile,则重复a和b


1)
Makefile里面的‘printf’调试函数为warning 
用法:
@(warning ...)
2)
make --debug=v target
详细输出:
a、读取Makefile的过程和顺序
b、每一个目标依赖
3)
目标的分析分为以下几种状况:
a、目标不存在
Considering target file `scripts_basic'.
File `scripts_basic' does not exist.
Finished prerequisites of target file `scripts_basic'.
/* 依赖的分析结果:
* Prerequisite `scripts/basic/fixdep.c' is older than target `scripts/basic/fixdep'.
* Prerequisite `FORCE' of target `scripts/basic/fixdep' does not exist.
*/
Must remake target `scripts_basic'.
/* 编译过程:
***********compiling*******************************
*/
Successfully remade target file ‘scripts_basic’
b、目标存在且没有依赖和命令,一般是对于源文件
Considering target file `scripts/basic/fixdep.c'.
Finished prerequisites of target file `scripts/basic/fixdep.c'.
No commands for `scripts/basic/fixdep.c' and no prerequisites actually changed.
No need to remake target `scripts/basic/fixdep.c'.
c、目标已经为最新的
Pruning file `FORCE'.
4)
查看Makefile的隐含规则和内嵌变量
make -p -f/dev/null
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值