makefile文件可以自动根据用户给定指令进行源文件的编译链接工作。
makefile文件有以下要点:
1、规则
2、函数
3、变量
规则
规则写法如下:
#目标:依赖
# shell命令
#例:
test.out:test.o#目标项为可执行文件test.out,该文件的生成依赖于test.o
gcc test.o -o test.out#利用该命令可以完成依赖项对目标项的生成
函数
wildcard
该函数可以对指定目录下的文件进行匹配并返回给一个变量
src=$(wildcard ./*.c)#意味着将当前目录下所有.c文件生成一个列表并赋值于src
patsubst
该函数可将第三个参数中的与第一个参数相同的内容替换为第二个参数的内容
obj=$(patsubst %.c,%.o,$(src))#将src变量中所有的.o换做.c
变量
- $@:代表了规则中的目标
- $^:代表了规则中的所有依赖
- $<:代表了规则中的第一个依赖,但在模式规则下,代表了所有依赖依次取出并执行规则向目标的转换
模式规则:
将规则写为% :% 形式;例如%.o:%.c即当前目录所有.c文件为依赖条件,并生成相应的目标