一条规则
两个函数
三个变量
打开 vim makefile
makefile好处就是自动化编译
makefile主要解决两个问题:1、大量代码的关系维护 2、减少重复编译时间
一条规则:
makefile语法规则
目标:依赖文件列表
<Tab>命令列表
目标:要产生的文件名称 目标可以是可执行文件 或obj文件 也可以是一个动作名称
依赖文件:用来输入从而产生目标的文件 一个目标通常由几个依赖文件 也可以没有
命令:make执行的动作,一个规则可以含几个命令 有多个命令时,每个命令占一行
命令格式
make 【】
变量 objs=xx.o xx.o xx.o
test:$(objs)
gcc &(objs) -o test
变量可以用数字开头
大小写敏感
在头部定义
可以在makefile任何地方使用
三个变量:
简易版
两个函数:
makefile中函数
常用的两个
wildacrd 获取当前目录中所有指定类型文件
src=$(wildcard *.c)找到当前目录下所有后缀为。c的文件
patsubst 匹配替换
obj=$(patsubst %.c,%.o$(src))将src中所有后缀为。c的文件替换成。o
伪目标
伪目标声明.PHONY:CLEAN 伪目标不去判断目标文件是否存在或已更新
makefile工作原理