在Linux系统中,make
和 configure
是用于从源代码构建和安装应用程序的两个重要工具,它们是源代码编译安装流程中的关键步骤。
./configure
configure
是一个脚本,通常是Shell脚本(sh
),存在于许多开源软件的源代码包中。它的主要职责是检测用户的系统环境,包括操作系统类型、处理器架构、已安装的编译器(如GCC)、必要的库文件和头文件等,确保软件包能够在用户的系统上正确编译和运行。configure
脚本通过一系列检查来定制编译过程,用户可以通过传递不同的选项(例如--prefix
指定安装路径,--enable-feature
启用或禁用某些特性)来调整配置。执行结束后,configure
会生成或更新一个Makefile
文件,这个文件定义了一系列规则来指导make
如何编译和构建软件。
make
make
是一个非常强大的构建工具,它读取Makefile
文件中的指令来编译源代码、链接目标文件以及执行其他构建任务。Makefile
定义了一系列规则,每个规则描述了如何从依赖文件生成目标文件。当用户运行make
命令时,它会检查源文件的修改时间,仅重新编译那些修改过的文件或其依赖项,这大大加速了构建过程。如果Makefile
中定义了默认目标(通常是all
),那么不带参数的make
就会构建这个默认目标。用户也可以指定make
构建特定的目标。
示例工作流程
- 下载源码包:用户从互联网上下载某个软件的源代码压缩包,通常为
.tar.gz
或.tar.bz2
格式。 - 解压:使用
tar
命令解压缩源代码包。 - 进入目录:使用
cd
命令进入解压后的目录。 - 配置:运行
./configure
脚本,可能带有配置选项,如./configure --prefix=/usr/local
。 - 编译:执行
make
命令开始编译过程。 - 安装:编译完成后,使用
sudo make install
(通常需要管理员权限)将编译好的程序和相关文件安装到系统中预定的位置。