makefile文件的使用
格式
目标文件:依赖文件
命令
其中第一条规则是用来生成终极目标的规则
默认make命令只执行第一条规则的目标
初级使用:
//makefile文件中的代码
main:main.c sub.c sum.c
gcc main.c sub.c sum.c -o main
运行过程如下图:
中级使用:
检测更新机制:比较.c和.o两者的更新时间
//makefile文件中的代码
main:main.o sub.o sum.o
gcc main.o sub.o sum.o -o main
main.o:main.c
gcc -c main.c
sub.o:sub.c
gcc -c sub.c
sum.o:sum.c
gcc -c sum.c
.PHONY:clean //伪目标
clean:
rm .*o main1 -f//强行删除所有生成的目标文件(*.o)
运行过程如下图:
高级使用:
makefile中的模式规则:
1、$^—— 所有的依赖文件
2、$<——第一个依赖文件名称
3、$@——目标名称
4、CC——gcc
5、$(wildcard ./*.c) //从当前目录查找所有的.c文件
6、$(patsubst ./%.c , ./%.o , $(src)) //将src中的所以.c文件替换成.o文件。
一、下图用$()预定义变量替换
二、
三、图中的%.o:%.c 与上一行的依赖文件一一对应,可视为循环取依赖文件名。