Linux的make和Makefile

目录

  • 一、 介绍
  • 二、快速使用
  • 三、依赖关系和依赖方法
  • 四、语法

一、 介绍

1、makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。
2、make是一个命令工具,是一个解释makefile中指令的命令工具。
3、make是一条命令,makefile是一个文件,两个搭配使用,完成项目自动化构建。

二、快速使用

首先创建一个.c文件,然后简单输入c语言代码,如下:
r
Linux的make和Makefile_第1张图片
然后创建一个Makefile文件**(注意Makefile文件命名只能用Makefile或者makefile这两个名称),在里面输入依赖关系依赖方法**,如下:
在这里插入图片描述
Linux的make和Makefile_第2张图片
第一行是依赖关系,第二行是依赖方法。

然后,进行make命令的使用,如下:
Linux的make和Makefile_第3张图片
我们会发现生成了一个根据mytest.c文件生成了mybin可执行程序。
在这里插入图片描述

这就是make和Makefile文件的大致使用。

三、依赖关系和依赖方法

依赖关系就相当于我帮助你的理由,依赖方法相当于怎么去帮。
例如:一个大学生到了月末没有钱了,就给他爸爸打电话告诉他爸爸:“爸爸,我是你儿子,我要你给我打500块钱。”这里的“我是你儿子”就是依赖关系,这是他爸爸为什么帮他的理由,“我要你给我打500块钱”就是依赖方法,这是他爸爸怎么去帮助他的方法。

四、语法

Linux的make和Makefile_第4张图片
以上面的Makefile文件为例:
在这里插入图片描述

mybin就是目标文件,mytest.c就是依赖文件列表(依赖文件可以有多个文件)。
在这里插入图片描述
上面的就是依赖方法,以键盘上 TAB 这个按键开头(语法要求)。

当我们再进行make命令时,我们会发现以下问题:
在这里插入图片描述
这是因为当我们执行make命令时,所产生的文件时间比Makefile中的依赖文件时间新时就不会产生新的文件了。

当我们改变mytest.c文件之后就可以产生新的可执行程序文件了,如下:
Linux的make和Makefile_第5张图片
Linux的make和Makefile_第6张图片
然后我们在Makefile文件中加入clean,(clean可以一直执行,因为加了-f)如下:
Linux的make和Makefile_第7张图片
我们就需要在make命令后面加上clean,这是因为make 命令默认是执行第一个依赖方法。

我们还可以使用 .PHONY+文件名 这样是修饰mybin目标文件,成为一个伪目标总是被执行,如下:
Linux的make和Makefile_第8张图片
Linux的make和Makefile_第9张图片
但是我们一般将clean设为伪目标。

以上就是对make和Makefile的大概介绍了。

你可能感兴趣的:(linux)