目录
- 一、 介绍
- 二、快速使用
- 三、依赖关系和依赖方法
- 四、语法
一、 介绍
1、makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。
2、make是一个命令工具,是一个解释makefile中指令的命令工具。
3、make是一条命令,makefile是一个文件,两个搭配使用,完成项目自动化构建。
二、快速使用
首先创建一个.c文件,然后简单输入c语言代码,如下:
然后创建一个Makefile文件**(注意Makefile文件命名只能用Makefile或者makefile这两个名称),在里面输入依赖关系和依赖方法**,如下:
第一行是依赖关系,第二行是依赖方法。
然后,进行make命令的使用,如下:
我们会发现生成了一个根据mytest.c文件生成了mybin可执行程序。
这就是make和Makefile文件的大致使用。
三、依赖关系和依赖方法
依赖关系就相当于我帮助你的理由,依赖方法相当于怎么去帮。
例如:一个大学生到了月末没有钱了,就给他爸爸打电话告诉他爸爸:“爸爸,我是你儿子,我要你给我打500块钱。”这里的“我是你儿子”就是依赖关系,这是他爸爸为什么帮他的理由,“我要你给我打500块钱”就是依赖方法,这是他爸爸怎么去帮助他的方法。
四、语法
以上面的Makefile文件为例:
mybin就是目标文件,mytest.c就是依赖文件列表(依赖文件可以有多个文件)。
上面的就是依赖方法,以键盘上 TAB 这个按键开头(语法要求)。
当我们再进行make命令时,我们会发现以下问题:
这是因为当我们执行make命令时,所产生的文件时间比Makefile中的依赖文件时间新时就不会产生新的文件了。
当我们改变mytest.c文件之后就可以产生新的可执行程序文件了,如下:
然后我们在Makefile文件中加入clean,(clean可以一直执行,因为加了-f)如下:
我们就需要在make命令后面加上clean,这是因为make 命令默认是执行第一个依赖方法。
我们还可以使用 .PHONY+文件名 这样是修饰mybin目标文件,成为一个伪目标,总是被执行,如下:
但是我们一般将clean设为伪目标。
以上就是对make和Makefile的大概介绍了。