简单示例
src = $(wildcard ./*.c)
objs = $(patsubst %.c, %.o, $(src))
target = app
$(target):$(objs)
$(CC) $^ -o $@
%.o:%.c
$(CC) -c $< -o $@
.PHONY:clean
clean:
rm -f $(objs) $(target)
预定义变量
AR : 归档维护程序的名称,默认值为 ar
CC : C 编译器的名称,默认值为 cc
CXX : C++ 编译器的名称,默认值为 g++
$@ : 目标的完整名称
$< : 第一个依赖文件的名称
$^ : 所有的依赖文件
函数
wildcard
示例:$(wildcard ./*.c)
获取指定目录下指定类型的文件列表,返回的结果是 add.c sub.c mult.c div.c main.c
patsubstr
示例:$(patsubst %.c, %.o, x.c bar.c)
将 x.c bar.c 中符合模式 %.c 的单词替换为 %.o,返回结果是 x.o bar.o
原文链接: https://www.cnblogs.com/cong0221/p/17039892.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/311016
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!