2021.3.15学习笔记

企业级Makefile编写

1.总控makefile:进入各个功能子目录执行make命令,并将所有.o文件生成可执行文件
2、功能目录makefile:将功能目录下的所有.c文件编译成.o文件
3、脚本目录makefile:定义其他makefile文件所用到的变量

阅读makefile顺序;3 - 1 - 2
1、$(wildcard 模式参数)

列:result :=$(wildcard *.c )
列出当前目录下所有.c文件

2、$(patsubst 模式参数,参数1,参数2)

列:result:=$(patsubst %.c ,%.o,x.c,y.c)
result:=x.o,y.o
3、:=(防止出现死循环)不可以通过后面的变量给前面的变量赋值
a1:=a.o
a2:=$(a1) b.o
a1=a.o a2=a.o b.o
a1:=$(a2) b.o
a2:=a.o
a1=b.o a2=a.o
4、+=(给这个变量添加值)
a1=a.o
a1+=b.o
a1=a.o b.o
a1=a.o
a1:=$(a1)b.o
a1=a.o b.o
5、$(addsuffix 参数1,参数2)
result:=$(addsuffic .c,x y)
result=x.c y.c
6、foreach
$(foreach 变量参数,参数1,表达式)
功能:循环取出参数1中的单词赋值给变量参数,然后运行表达式。返回值:表达式运行结果
a:=x y z
result:=$(foreach b,$(a), $(b).c)
result = x.c y.c z.c
7、$(call 变量参数, 参数…)
功能:循环把参数依次赋值给变量参数中的$(1)、$(2)…返回值:赋值后的变量值
a:=$(2) $(1)
result :=$(call $(a),x y)
result=yx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值