1.Autoconf/Automake工具介绍
Autoconf/Automake工具用于自动创建功能完善的Makefile文件。当前大多数软件包都用此工具生成Makefile文件。本节首先介绍Autoconf/Automake工具的功能以及Makefile创建过程中所涉及的文件和命令。最后以一个实例介绍如何使用Autoconf/Automake工具自动创建Makefile文件。
Autoconf/Automake工具组主要包括autoconf、automake、perl语言环境和m4。其中FC4默认安装的autoconf和automake软件包信息如下:
(1) 查看各安装包安装情况
rpm -qa | grep autoconf
rpm -qa | grep automake
rpm -qa | grep perl
rpm -qa | grep m4
(2)未安装的软件包进行安装
yum install autoconf
yum install automake
yum install perl
yum install m4
(3)查询命令所在的位置
whereis aclocal
whereis autoscan
whereis autoconf
whereis autoheader
whereis automake
2、Autoconf/Automake工具使用示例
(1)当前目录下存放有以下几个源文件
(2)autoscan工具用来扫描源代码以搜寻一般的可移植性问题,比如检查编译器、库和头文件等,并创建configure.scan文件。它会在给定目录及子目录树中检查源文件,若没有给出目录,就在当前目录及其子目录树中进行检查。如下
(3) 复制configure.scan并重命名为configure.ac,修改configure.ac
注意:下图中,最后一句AC_OUTPUT(Makefile),也进行了修改
(4)Automake工具会根据configure.in中的参量把Makefile.am转换成Makefile.in文件。在使用Automake工具前,需要手工创建脚本配置文件Makefile.am。
(5) 使用aclocal工具生成aclocal.m4
aclocal工具用于扫描configure.ac文件生成aclocal.m4。此工具根据已经安装的宏、用户定义宏和acinclude.m4文件中的宏将configure.ac文件需要的宏,集中定义到文件aclocal.m4中
(6)使用autoconf工具生成configure文件
将configure.ac中的宏展开,生成configure脚本。这个过程可能用到aclocal.m4中定义的宏
(7) 使用autoheader工具生成config.h.in文件
autoheader工具负责生成config.h.in文件。该工具会从“acconfig.h”文件中复制用户附加的符号定义
(8)使用Automake生成“Makefile.in”
输入automake -a
再运行一次,可以辅助生成几个必要的文件
手动创建没有生成的几个文件
再运行一次
(8) 运行自动配置文件configure,把Makefile.in变成最终的Makefile
(9) 运行make,进行编译,并执行vector