Linux指令笔记12

编译程序
• make - 维护程序的工具

构建程序
大多数程序通过一个简单的,两个命令的序列建立:
./configure
make
这个 configure 程序是一个 shell 脚本,由源码树提供。它的工作是分析程序建立环境。大
多数源码会设计为可移植的。也就是说,它被设计成,能建立在多于一个的类 Unix 系统中。
但是为了做到这一点,在建立程序期间,为了适应系统之间的差异,源码可能需要经过轻微的
调整。configure 也会检查是否安装了必要的外部工具和组件。让我们运行 configure 命令。因
为 configure 命令所在的位置不是位于 shell 通常期望程序所呆的地方,我们必须明确地告诉
shell 它的位置,通过在命令之前加上./ 字符,来表明程序位于当前工作目录:
[me@linuxbox diction-1.11]$ ./configure
configure 将会输出许多信息,随着它测试和配置整个构建过程。


我们看到在我们的源码目录中 configure 命令创建了几个新文件。最重要一个是 Makefile。
Makefile 是一个配置文件,指示 make 程序究竟如何构建程序。没有它,make 程序就不能运
行。Makefile 是一个普通文本文件,所以我们能查看它:
[me@linuxbox diction-1.11]$ less Makefile
这个 make 程序把一个 makefile 文件作为输入(通常命名为 Makefile),makefile 文件描述
了包括最终完成的程序的各组件之间的关系和依赖性。
makefile 文件的第一部分定义了变量,这些变量在该 makefile 后续章节中会被替换掉。

[me@linuxbox diction-1.11]$ make
这个 make 程序将会运行,使用 Makefile 文件的内容来指导它的行为。它会产生很多信息。
当 make 程序运行结束后,现在我们将看到所有的目标文件出现在我们的目录中。


安装程序
打包良好的源码经常包括一个特别的 make 目标文件,叫做 install。这个目标文件将在系
统目录中安装最终的产品,以供使用。通常,这个目录是/usr/local/bin,为在本地所构建软件
的传统安装位置。然而,通常普通用户不能写入该目录,所以我们必须变成超级用户,来执行
安装操作:
[me@linuxbox diction-1.11]$ sudo make install

三个编译命令
./configure
make
make install
可以用来构建许多源码包。我们也知道了在程序维护过程中,make 程序起到了举足轻重
的作用。make 程序可以用到任何需要维护一个目标/依赖关系的任务中,不仅仅为了编译源代
码。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值