文章目录
一.背景
会不会写makefile,从侧面说明了一个人是否具备完成大型工程的能力。
一个工程中的源文件不计其数,按照类型,功能,模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作。
makefile带来的好处就是–“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。
make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。
make是一条命令,makefile是一个文件,两个搭配使用,完成项目自动化构建。
二.实例
首先我们要使用makefile,我们就得创建一个makefile文件,makefile或者Makefile都可以,允许首字母大写或者小写。
使用touch makefile命令,创建出makefile文件,或者直接使用vim makefile也可以创建出makefile文件。
向下面这样的一个代码,我们不想使用gcc得到可执行程序,而直接使用make命令来得到可执行程序。
源文件:
#include<stdio.h>
2 int main()
3 {
4 printf("makefile自动化构建\n");
5 return 0;
6 }
makefile文件:
mybin:test.c
gcc test.c -o mybin
可以看出,使用了makefile文件,就不需要我们使用gcc生成可执行程序了,使用make命令就可以得到可执行程序。
1.依赖关系
makefile文件的语法:首先写的是可执行程序的名字,然后接着:源文件。