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
文件大小:
评论区