在前面的标准编译安装中,第一步是./configure
,它会根据Makefile.in
生成Makefile
文件,然后make
根据Makefile
自动编译软件。
通常在一个源码包中,已经包含了configure脚本和Makefile文件,作为课外知识,我们大致了解一下怎么生成这两个文件。
autoconf
autoconf用来生成configure脚本,它可以检查系统特性、编译环境、环境变量、软件参数、依赖关系等。
autoconf需要用到 m4
1. 用autoscan命令描源代码目录生成configure.scan文件;
2. 将configure.scan改名为configure.in(需要在configure.in文件中添加 AM_INIT_AUTOMAKE(projectName,Version) );
3. 用aclocal根据configure.in文件的内容,自动生成aclocal.m4文件;
4. 使用autoconf,根据configure.in和aclocal.m4来产生configure文件;
automake
automake可以从Makefile.am文件自动生成Makefile.in,它主要用来配置源代码。
automake需用到perl。
· 手工写Makefile.am;
· 使用automake,根据configure.in和Makefile.am来产生Makefile.in;
Makefile
使用configure脚本,配合Makefile.in可以生成Makefile文件,然后用make自动化的编译软件。
这里有一张生成Makefile的流程图: