Makefile总结

Makefile规则
目标: 依赖
命令以tab开头



Makefile思想:编译C其实就是编译过程中文件的依赖关系,理清依赖关系即可写出Makefile。
make会把目标当做文件看待,比如当前目录下存在clean文件,执行make clean 即无效
应该采用假目标的方式执行。.PHONY 假目标应该大写。.PHONY:clean

Makefile变量

目的:解决重复出现的问题,方便修改。

变量规则

不需要声明类型 

变量的引用格式:$(变量名)、${变量名}
变量的目的:更改的时候只需要改变变量赋值即可。


自动变量
解决目标和先决条件在命令中重复出现的问题。
$@:表示目标,有多个目标是我不理解。
$^:表示的是规则中的所有先决条件。
$<:表示的是规则中的第一个先决条件。
特殊变量
MAKE和 makecmdgoals
make:当前处理Makefile的命令是什么,需采用引用的方式访问$(MAKE)
对变量的操作


:=:我认为是常量 ,变量值为右边的值,覆盖原先的。
+=:追加赋值
?=:条件赋值,变量没有定义就定义了就赋值,定义了就无效。
高级变量( 引用替换)
变量名:.c = .o :文件名后缀的替换。

函数

函数参数不需要括号,采用引用的方式调用函数。

对Makefile生成的文件进行管理
采用自动生成目录的方式进行管理


OBJTREE         := $(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR))

$(if <condition>, <then-part>, <else-part>)

CURDIR:特殊变量

makefile 中 export 的变量可以在shell 脚本中使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值