Makefile 变量替换
Makefile 变量替换进阶
Makefile 提供两种强大的变量替换方法:
1. 字符串替换:
- 语法:
$(var:a=b)或${var:a=b} - 功能: 将变量
var中所有以a结尾的字符串替换为b. - 注意: "结尾" 指的是空格或字符串结束符.
makefile
foo := a.o b.o c.o
bar := $(foo:.o=.c)
# bar 的值为 "a.c b.c c.c"
2. 模式替换:
- 语法:
$(var:pattern=replacement) - 功能: 利用静态模式匹配并替换变量内容.
- 说明:
pattern中需包含一个%通配符,replacement中可以使用%引用匹配到的内容.
makefile
foo := a.o b.o c.o
bar := $(foo:%.o=%.c)
# bar 的值为 "a.c b.c c.c"
变量嵌套:
makefile
x = y
y = z
a := $(x)
# a 的值是 "z",因为 $(x) 会被展开为 y,然后再展开为 z.
文件大小:2.36MB
评论区