源代码-->预处理-->编译-->汇编-->链接-->执行
多文件:文件中的代码之间,很可能存在跨文件依赖关系
使用相关的项目管理工具可以大大减少编译过程的复杂度
configure脚本 --> Makefile.in --> Makefile
autoconf: 生成configure脚本
automake:生成Makefile.in
有了这个脚本就不用使用gcc来一步步编译了。
rpm、yum:批量安装 源码安装:私人定制
(1) 允许添加安装的信息(安装路径、需要启用的功能);执行时会参考用户的指定以及Makefile.in文件生成Makefile
(2) 检查依赖到的外部环境,如依赖的软件包
根据Makefile文件,会检测依赖的环境,进行构建应用程序
复制文件到相应路径
注意:安装前可以通过查看README,INSTALL获取帮助
准备:安装相关的依赖包
开发工具:make, gcc (c/c++编译器GNU C Complier)
开发环境:开发库(glibc:标准库),头文件,可安装开发包组 Development Tools
软件相关依赖包
获取其支持使用的选项: ./configure --help
设置安装路径和其他一些信息
--prefix=/PATH:指定默认安装位置,默认为/usr/local/
--sysconfdir=/PATH:配置文件安装位置
Optional Features: 可选特性
--disable-FEATURE
--enable-FEATURE[=ARG]
Optional Packages: 可选包
--with-PACKAGE[=ARG] 依赖包
--without-PACKAGE 禁用依赖关系
注意:通常被编译操作依赖的程序包,需要安装此程序包的"开发"组件,其包名一般类似于namedevel-VERSION
export PATH=/PATH/TO/BIN:$PATH
有些开源软件编译完成后,还需要创建相关的用户及文件
编辑/etc/man.config|man_db.conf文件,添加一个MANPATH