Makefile中的wildcard和patsubst
来源:互联网 发布:用sql列出同表上下级 编辑:程序博客网 时间:2024/05/22 17:39
makefile 里的函数跟它的变量很相似——使用的时候,你用一个 $ 符号跟开括号,函数名,空格后跟一列由逗号分隔的参数,最后用关括号结束。
例如,在 GNU Make 里有一个叫 'wildcard' 的函数,它有一个参数,功能是展开成一列所有符合由其参数描述的文件名,文件间以空格间隔。
你可以像下面所示使用这个命令:
SOURCES = $(wildcard *.c)
这行会产生一个所有以 '.c' 结尾的文件的列表,然后存入变量 SOURCES 里。当然你不需要一定要把结果存入一个变量。
另一个有用的函数是 patsubst ( patten substitude, 匹配替换的缩写)函数。它需要3个参数——第一个是一个需要匹配的式样,第二个表示用什么来替换它,第三个是一个需要被处理的由空格分隔的字列。例如,处理那个经过上面定义后的变量,
OBJS = $(patsubst %.c,%.o,$(SOURCES))
这行将处理所有在 SOURCES 字列中的字(一列文件名),如果它的结尾是 '.c' ,就用 '.o' 把 '.c'取代。注意这里的 % 符号将匹配一个或多个字符,而它每次所匹配的字串叫做一个‘柄’(stem) 。 在第二个参数里,
SOURCES = $(wildcard *.c)
这行会产生一个所有以 '.c' 结尾的文件的列表,然后存入变量 SOURCES 里。当然你不需要一定要把结果存入一个变量。
另一个有用的函数是 patsubst ( patten substitude, 匹配替换的缩写)函数。它需要3个参数——第一个是一个需要匹配的式样,第二个表示用什么来替换它,第三个是一个需要被处理的由空格分隔的字列。例如,处理那个经过上面定义后的变量,
OBJS = $(patsubst %.c,%.o,$(SOURCES))
这行将处理所有在 SOURCES 字列中的字(一列文件名),如果它的结尾是 '.c' ,就用 '.o' 把 '.c'取代。注意这里的 % 符号将匹配一个或多个字符,而它每次所匹配的字串叫做一个‘柄’(stem) 。 在第二个参数里,
%被解读成用第一参数所匹配的那个柄。
例子:
include /usr/local/AFEPack/Make.global_options
source = $(wildcard *.cpp)
object = $(patsubst %.cpp, %.o, $(source))
LDFLAGS += -L/usr/local/AFEPack/library/lib -lAFEPack
all : main
%.o : %.cpp
$(CXX) -c -o $@ $< $(CXXFLAGS)
main : $(object)
$(CXX) -o $@ $(object) $(LDFLAGS) $(LIBS)
clean :
-rm -rf $(object)
-rm -rf main
-rm -f *.[nes]
-rm -f *.dx
.PHONY : default clean
0 0
- Makefile中的wildcard和patsubst
- Makefile中的 wildcard patsubst
- Makefile中的wildcard、patsubst
- Makefile中的patsubst和wildcard函数
- Makefile 中的wildcard 函数和patsubst函数
- makefile中的notdir,wildcard和patsubst
- makefile中的notdir,wildcard和patsubst
- Makefile中的wildcard和patsubst的用法
- makefile中的notdir,wildcard和patsubst
- makefile中的notdir,wildcard和patsubst
- Makefile中的 patsubst ,wildcard 用法
- makefile中的patsubst, wildcard, notdir
- makefile中的notdir,wildcard和patsubst(附加万能makefile)
- makefile中的notdir,wildcard和patsubst 以及万能makefile
- makefile的patsubst和wildcard
- makefile中的notdir,wildcard和patsubst notdir,wildcard和patsubst是makefile中几个有用的函数
- makefile 中的 wildcard 与 patsubst 函数
- makefile 中的 wildcard 与 patsubst 函数
- Android-ViewGroup完全了解
- 计算几何模板补充(三维空间体积、平面、直线、向量相关计算。附上hdu4741,求异面直线的最短距离与交点)
- Android中联系人和通话记录详解(联系人的增删改查)(3)
- “不死兔”与斐波那契数列
- 来自西弗吉利亚大学li xin整理的CV代码合集
- Makefile中的wildcard和patsubst
- c-memcpy
- Minimum Inversion Number
- 在系里服务器安装python module到自己的home目录
- (使用lua++)Lua脚本和C++交互(三)
- HBase rest
- linux获取网线插拔状态的实现
- stderr stdout stdin
- ssh-key配置