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)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步