makefile中patsubst和wildcard函数怎样使用
在makefile中,`patsubst`和`wildcard`是两个经常使用的函数。
1. `patsubst`函数的语法为:
`$(patsubst pattern,replacement,text)`
它将`text`中符合`pattern`模式的部份替换为`replacement`字符串,并返回替换后的结果。其中,`pattern`可以包括通配符`%`。
例如,假定我们有一个变量`OBJS`保存了一组目标文件名,我们可使用`patsubst`函数将`.c`文件名替换为`.o`文件名:
```makefile
OBJS = main.c foo.c bar.c
OBJS_O = $(patsubst %.c,%.o,$(OBJS))
```
这样,`$(OBJS_O)`的值将为`main.o foo.o bar.o`。
2. `wildcard`函数的语法为:
`$(wildcard pattern)`
它返回符合`pattern`模式的文件列表。
例如,假定我们有一个目录中包括了一组`.c`文件,我们可使用`wildcard`函数来获得这些文件的列表:
```makefile
SRCS = $(wildcard src/*.c)
```
这样,`$(SRCS)`的值将为`src/main.c src/foo.c src/bar.c`。
综合使用`patsubst`和`wildcard`函数,我们可以方便地处理一组文件的扩大名转换或文件列表的获得。
TOP