Makefile wildcard

TPLOAD_SRCS=$(wildcard $(TPLOAD_DIR)/*.c)
TPLOAD_OBJS=$(patsubst %.c,%.o,$(TPLOAD_SRCS))
一般我们可以使用“$(wildcard *.c)”
来获取工作目录下的所有的.c文件列表。复杂一些用法
可以使用“$(patsubst %.c,%.o,$(wildcard *.c))”,
首先使用“wildcard”函数获取工作目录下的.c文件列表;
之后将列表中所有文件名的后缀.c替换为.o。
这样我们就可以得到在当前目录可生成的.o文件列表。
因此在一个目录下可以使用如下内容的Makefile来将工作目录下的所有的.c文件
进行编译并最后连接成为一个可执行文件;
#sample Makefile
objects := $(patsubst %.c,%.o,$(wildcard *.c))
foo : $(objects)
cc -o foo $(objects)

posted on 2024-01-14 11:58  lydstory  阅读(3)  评论(0编辑  收藏  举报

导航