Makefile里面常用的函数。
- 文件名搜索wildcard
获取所有的匹配通配符的文件列表。
SOURCE=$(wildcard *.c)
SOURCE=$(wildcard src/*.cpp)
- 字符串替换subst
$(subst from,to,text)
SUB1=$(subst .c,.o,$(SRC1)) # 把SRC1里面的.c后缀替换成.o
SUB2=$(subst src/,dst/,$(SRC2)) # 把SRC2里面的路径src/替换成dst/
- 模版替换patsubst
$(patsubst pattern,replacement,text)
pattern里面使用%表示通配符。
SUB1=$(patsubst %.c,%.o,$(SRC1))
SUB2=$(patsubst src/%,dst/%,$(SRC2))
还有一种简单的写法:
$(var:pattern=replacement)
等价于==
$(patsubst pattern,replacement,$(var))
例如:
$(patsubst %suffix,%replacement,$(var)) == $(var:suffix=replacement)
$(patsubst %.o,%.c,$(objects)) == $(objects:.o=.c)
网友评论