Makefile 的引入是为解决多文件项目中手动编译繁琐易错、缺乏自动化构建、项目管理维护困难以及跨平台构建不便等问题,实现自动化、规范化的项目构建与管理
MakeFile
简单的来说,MakeFile就是编写编译命令的文件
文件编写格式
目标:依赖文件列表
<Tab>命令列表
1,目标:通常是要产生的文件名称,目标可以是可执行文件或其他obj文件,也可是一个动作的名称
2,依赖文件:是用来输入从而产生目标文件,一个目标通常有几个依赖文件(也可以没有)
3,命令:make执行的动作,一个规则可以含几个命令(也可以没有);有多个命令是,每个命令占一行
如:
main:main.c
gcc main.c -o mainclear:rm main注意:当目标后没有依赖文件,我们将其称之为假想目标
变量
系统变量
由系统提供的变量
make工具会拷贝系统的环境变量并将其设置为makefile的变量,在makefile中可直接读取或修改拷贝后的变量
查看系统变量命令:
env
修改或添加系统变量
export 变量名=值
注意:
export是导入的意思
注意:
只是临时修改,当dos关闭后,将不存在
如:makefile编写如下
main:make.o myutils.o
gcc main.o myutils.o -o main
clear:
rm main *.o
myprint:
echo ${PWD}
*.o
是一个通配符表达式,表示要删除