makefile学习记录

一:
1.make命令会在当前目录下查找以makefile命名的文件
2.当找到makefile文件后,会按照makefile中定义的规则去编译生成最终的目标文件
3.当发现目标文件的依赖不存在不存在,或者目标所依赖的文件比目标文件新(也就是修改时间比目标文件晚)的话就会执行后面的命令来更新依赖和目标文件

二:
“=”赋值符:采用等号赋值,变量的真实值取决于它所引用的变量的最后一次有效值
name=wh
curname= ( n a m e ) n a m e = c c p r i n t : @ e c h o c u r n a m e : (name) name=cc print: @echo curname: (name)name=ccprint:@echocurname:(curname)

make print 结果:Curname:cc

“:=”赋值符,不会使用后面定义的变量,只能使用前面已经定义好的,和上面的相反

“?=”赋值符:如果前面没有赋值,就使用当前的赋值,否则就使用前面已经赋过的值

“+=”z追加赋值符,在前面赋值的基础上进行追加

三:模式规则%:表示长度任意的非空字符

四:自动化变量
1. @ , @, @,<.$^

五:伪目标:不代表真正的目标名,在make时通过伪目标来执行其所在规则定义的命令。
clean:
rm *.o
如目录中也存在clean文件,则该命令执行失败,解决方法使用.PHONY声明
.PHONY: clean
clean:
rm *.o

六:函数
1.subst 字符串替换
2.patsubst 模式字符串替换
3.dir 获取目录
4.notdir 去除文件中的目录部分
5.foreach 循环执行
6.wildcard 变量定义或者函数定义时展开通配符

七:静态模式

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值