Makefile中的变量值的替换(⼀)
1.使⽤指定字符串替换变量中的后缀字符(串)
格式:$(var:a=b)或${var:a=b}
注意:替换表达式中不能有空格】
例:
src := acc bcc ccc
obj := $(src:cc=o)
祭英烈手抄报内容test:
@echo "obj => $(obj)"
make test输出结果:
林心如图片图片大全ao bo co
2.变量的模式替换
使⽤%保留变量值中的指定字符串,替换替他字符
格式:$(var:a%b=x%y)或${var:a%b=x%y}
注意:替换表达式中不能有空格
例:
src := a123b.c a234b.c ajkhb.c
obj := $(src:a%b.c=x%y)
test:
@echo "obj => $(obj)"
分析:原串 a123b.c按照a%b.c进⾏模式匹配的时候a与b.c中间的123就会被%匹配到,后边就会被保留下来,a和b.c就会被x和y取代。其他的类似。
make test执⾏结果:
x123y x234y xjkhy
怎么装双系统3.规则中的模式替换
targets:target-pattern:prereq-pattern
command1
command2
意义:通过target-pattern从targets中匹配⼦⽬标,再通过prereq-pattern从⼦⽬标⽣成依赖,进⽽构成完整规则。
例:
马丁劳伦斯
objs := func.o main.o
$(objs): %.o : %.cqq超长个性签名
gcc -o $@ -c $^
金巧巧二胎得子分析:
上述第⼆⾏,通过%.o匹配objs中的func.o,通过func.c⽣成依赖,再匹配main.o⽣成main.c依赖。
上述第⼆⾏会被make程序解析成
func.o: func.c
gcc -o $@ -c $^
main.o: main.c
gcc -o $@ -c $^