Linux下make和makefile作用和实现

1.什么是make和makefile?

make:

make是linux中的一个常用命令,在当前目录下,输入make,系统会自动在当前目录中寻找名为Makefile或makefile的文件,并对之进行解释处理,根据makefile文件内容,针对目标(可执行文件)进行依赖性检测(要生成该可执行文件之前要有哪些中间文件)并执行相关动作(编译等)。

Make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件的内容来执行大量的编译工作。Make将只编译改动的代码文件,而不用完全编译。

当你对某个源文件进行了修改,你再次执行 make 命令,它将只编译与该源文件相关的目标文件而不是整个代码工程,因此,为编译完最终的目标(可执行文件)节省了大量的时间提高工作连贯性。比如一个工程下面有A.c 、B.c、 B.c三个文件,在make生成可执行目标文件之后,改动了A.c,则再次make时,只会执行有关A.c处理动作,其它的不处理。

Makefile文件

Liunx 上的工程管理工具,可以实现自动化编译;

Makefile是Make读入的唯一配置文件,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作。类似一个脚本,其中内容包含make所要进行的处理动作以及依赖关系。Makefile简单点理解就是各程序文件的组织结构;

makefile所要进行的主要内容是明确目标、明确目标所依赖的内容、明确依赖条件满足时应该执行对应的处理动作。例如我们最终要实现a这个目标,但是需要依赖b,而b依赖于c的存在

2.安装make

sudo apt install make

3.makefile文件

准备三个文件

Linux下make和makefile作用和实现_第1张图片

手动写了一个makefile 文件

vim makefile:

注意:顶格

tab键

了解makefile文件的生成规则;

 Linux下make和makefile作用和实现_第2张图片

Linux下make和makefile作用和实现_第3张图片

 总结makefile文件:

makefile可以提高编译效率,使用make命令每次都只会编译那些修改了的或者依赖 修改了的文件(间接修改),没有修改的文件不会重新编译

你可能感兴趣的:(Linux基础,linux,运维,服务器)