(Linux)make编译用法详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/GX_1_11_real/article/details/81068412

前言


在Linux系统中我们经常会使用到make编译的命令来对一些源码包进行编译安装,下面就详细的解析一下make系列命令的用法。



命令详解



【1】make


等同于 make all

它是一个解释makefile中指令的命令工具

执行make时,默认会去(当前文件夹下),找名为Makefile的文件

根据Makefile文件来编译源代码,生成目标文件及可执行文件

在每次使用make时,都会重新生成objects,新产生的object会覆盖旧的objects



【2】make clean


清除以前的make命令编译后所产生的object文件(即后缀为“.o”的文件)及其生成的可执行文件

一般来说,在每次使用make时,都会重新生成objects,新产生的object会覆盖旧的objects

但是实际用时,经过多次编译后,必须使用make clean(直接make,以前留下来的错误不能清除干净)



【3】make install


将编译成功的可执行文件移动到make编译时填写的目录,依据生成的makefile文件

一般默认系统目录/usr/local/bin



【4】make dist


产生发布软件包.

即将可执行文件及相关文件打包成一个tar.gz格式的压缩文件,会在当前目录下生成XXX.tar.gz的文件



【5】make distcheck


相当于make dist命令的进化版

生成发布软件包并对其进行检查,以确定发布包的正确性

它会自动把压缩包文件解开,然后执行configure命令,并且执行make,来确认编译不出现错误,并会在最后提示你软件包是否正确



【6】make distclean


类似于make clean

清除以前的make命令编译后所产生的object文件(即后缀为“.o”的文件)及其生成的可执行文件,并将configure生成的文件全部删除掉

通常在使用make clean后使用,清理的更干净,避免影响再次编译



makefile概念



makefile有些类似于脚本,通过定义了一系列的规则,指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,并且它也可以执行操作系统的命令

当编译安装源码包时,使用make编译,它会默认找当前目录下的makefile文件,依据makefile中的规则,执行编译安装

makefile可以实现自动化编译,原理上来说,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率

makefile成为了一种被广泛应用于在工程方面的编译方法

猜你喜欢

转载自blog.csdn.net/GX_1_11_real/article/details/81068412