makefile
makefile是一个项目的代码管理工具,把代码的编译扔到makefile中
有这么三大规则:
1、目标
2、依赖
3、命令
格式编写:
目标:依赖条件
tab缩进 命令
自动变量:
$< 规则中的第一个依赖
$@ 规则中的目标
$^ 规则中的所有依赖
在底下代码中 $()这个是用来提取关于括号里的具体含义
src = $(wildcard ./*.c) *//查找当前目录下的c文件
obj = $(patsubst ./%.c, ./%.o,$(src)) //把当前目录下的c文件匹配替换成 .o文件
target = app //target是目标,后面的app是目标生成文件名字,可替换
CC =gcc
$(target):$(obj)
$(CC) $(obj) -o $(target)
%.o:%.c
$(CC) -c $< -o $@
.PHONY:clean //声明伪命令
clean:
rm $(obj) $(target) -f