1.make和makefile
什么是make?为什么需要make?
什么是make?
make是一个特殊功能的应用程序
- 解析源程序之间的依赖关系
- 根据依赖关系自动维护编译工作
- 执行宿主操作系统中的各种命令
什么是makefile?
Makefile是一个描述文件
- 定义一系列的规则来指定源文件编译的先后顺序
- 拥有特定的语法规则,支持函数定义和函数调用
- 能够直接集成操作系统中的各种命令
make和makefile之间的关系
makefile中的描述用于指导make程序如何完成工作;
make根据makefile中的规则执行命令;
最后完成编译输出。
[外链图片转存失败(img-q7ZQpwPY-1564023222694)(./1519606957305.png)]
为什么需要makefile?
在Linux系统中,我们是如何编译源文件的呢?
delphi@delphi-vm:~$ gcc ctest.c test.c
delphi@delphi-vm:~$ ./a.out
i = 8
这种编译方式,在源文件数少的时候可以勉强使用,但我们开发一个项目的时候,不可能只有一两个源文件,而是有很多个.c和.h文件构成。
如果此时我们还按照这种方式在命令行上编译,我们就需要输入一大堆命令,严重影响工作效率。
Makefile就是用于编译大量源文件并且将产生的中间文件管理好而诞生的。