linux命令之make

Linux安装软件采用源码安装灵活自由,适用于不同的平台,维护也十分方便。源码的安装一般由3个步骤组成:

  1. configure(配置)
  2. make(编译)
  3. make install(安装)

具体的安装方法一般作者都会给出文档,这里说明配置(configure)的prefix选项
以安装supersparrow-0.0.0为例,我们打算把他安装到目录 /usr/local/supersparrow,于是在supersparrow-0.0.0目录执行带选项的脚本

./configure –prefix=/usr/local/supersparrow

执行成功后再编译、安装(make,make install);安装完成将自动生成目录supersparrow,而且该软件任何的文档都被复制到这个目录。为什么要指定这个安装目录?是为了以后的维护方便,假如没有用这个选项,安装过程结束后,该软件所需的软件被复制到不同的系统目录下,很难弄清楚到底复制了那些文档、都复制到哪里去了—基本上是一塌糊涂。

用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就能够把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。
一个小选项有这么方便的作用,建议在实际工作中多多使用。

注意

  • “configure --prefix=/” 的作用是:编译的时候用来指定程序存放路径 。

    • 不指定prefix,可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc。其它的资源文件放在/usr/local/share。

    • 指定prefix,直接删掉一个文件夹就够了。

还有关键的一点是,编译安装完成后,不要删除源代码,不然就算作者写了unnistall目标,你也没有makefile可以执行了。(这句话的意思是todo)

make 命令说明

makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令

先看一下什么是makefile
makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。

makefile带来的好处就是–“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make.可见,makefile都成为了一种在工程方面的编译方法。

# 根据Makefile文件编译源代码、连接、生成目标文件、可执行文件。
make

# 清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件。
make clean


# 将编译成功的可执行文件安装到系统目录中,一般为/usr/local/bin目录。
make install


# 产生发布软件包文件(即distribution package)。
# 这个命令将会将可执行文件及相关文件打包成一个tar.gz压缩的文件用来作为发布软件的软件包。

# 它会在当前目录下生成一个名字类似“PACKAGE-VERSION.tar.gz”的文件。PACKAGE和VERSION,
# 是我们在configure.in中定义的AM_INIT_AUTOMAKE(PACKAGE, VERSION)。
make dist


# 生成发布软件包并对其进行测试检查,以确定发布包的正确性。这个操作将自动把压缩包文件解开,
# 然后执行configure命令,并且执行make,来确认编译不出现错误,最后提示你软件包已经准备好,可以发布了。
make distcheck

# 类似make clean,但同时也将configure生成的文件全部删除掉,包括Makefile文件。
make distclean

# 清空上次编译失败残留文件
make distclean

电车到站,我跟在她们身后下车,瞥见他们的侧脸,天真得让人吃惊。如果死的是我,她们会怎么议论呢?我开始害怕她们的天真。

放学后
东野圭吾

转载自:https://blog.csdn.net/xhaimail/article/details/95000513

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值