Makefile常用函数总结
1、realpath 返回一个绝对路径
例:ROOT = $(realpath ./) 返回当前路径的绝对地址,赋值给ROOT
2、wildcard 通配符函数,类似于linux中的 “*”
命令格式:
$(wildcard pattern)
例子 :SRCS = $(wildcard *.c) 得到当前目录下的所有.c文件
3、patsubst 字符串替换函数,是pattern substitute的缩写
命令格式
$(patsubst pattern, replacement, text)
例: OBJS = $(patsubst %.o %.c SRCS) SRCS是上面的当前目录的.c文件,将当前目录的.c文件替换为.o文件,赋值给OBJS
4、addprefix 加前缀函数
命令格式
$(addprefix prefix, name..)
例子:
file = a.c b.c
dir_file = $(addprefix src/,$(file))
在a.c b.c文件前面加入文件夹名称src/
5、filter函数
命令格式:
$(filter patern...,text)
例子:
SOURCE = foo.c foo.o foo.h main.c main.o boot.s
SOURCE :=$(filter %.c %.s,$(SOURCE) )
从SOURCE当中抽取.c .s文件
6、filter-out函数
剔除某些字符串
$(filter-out patern...,text)
例子:
SOURCE = foo.c foo.o foo.h main.c main.o boot.s
SOURCE :=$(filter %.c %.s,$(SOURCE) )
从SOURCE当中剔除.c .s文件