转载:http://www.laruence.com/2008/11/11/606.html
1.autoscan (autoconf): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。
2.aclocal (automake):根据已经安装的宏,用户定义宏和acinclude.m4文件中的宏将configure.ac文件所需要的宏集中定义到文件 aclocal.m4中。aclocal是一个perl 脚本程序,它的定义是:“aclocal - create aclocal.m4 by scanning configure.ac”
user input files optional input process output files
================ ============== ======= ============
acinclude.m4 - - - - -.
V
.-------,
configure.ac ------------------------>|aclocal|
{user macro files} ->| |------> aclocal.m4
`-------'
3.autoheader(autoconf): 根据configure.ac中的某些宏,比如cpp宏定义,运行m4,声称config.h.in
user input files optional input process output files
================ ============== ======= ============
aclocal.m4 - - - - - - - .
|
V
.----------,
configure.ac ----------------------->|autoheader|----> autoconfig.h.in
`----------'
4.automake: automake将Makefile.am中定义的结构建立Makefile.in,然后configure脚本将生成的Makefile.in文件转换为Makefile。如果在configure.ac中定义了一些特殊的宏,比如AC_PROG_LIBTOOL,它会调用libtoolize,否则它会自己产生config.guess和config.sub
user input files optional input processes output files
================ ============== ========= ============
.--------,
| | - - -> COPYING
| | - - -> INSTALL
| |------> install-sh
| |------> missing
|automake|------> mkinstalldirs
configure.ac ----------------------->| |
Makefile.am ----------------------->| |------> Makefile.in
| |------> stamp-h.in
.---+ | - - -> config.guess
| | | - - -> config.sub
| `------+-'
| | - - - -> config.guess
|libtoolize| - - - -> config.sub
| |--------> ltmain.sh
| |--------> ltconfig
`----------'
5.autoconf:将configure.ac中的宏展开,生成configure脚本。这个过程可能要用到aclocal.m4中定义的宏。
user input files optional input processes output files
================ ============== ========= ============
aclocal.m4 - - - - - -.
V
.--------,
configure.ac ----------------------->|autoconf|------> configure ----->autoconfig.h,Makefile
=====================================================
分享到:
相关推荐
3. 使用autoconf工具处理configure.in文件,生成configure脚本。 4. 使用autoheader工具从configure.in生成config.h.in模板文件。 5. 使用automake工具处理Makefile.am模板文件,生成Makefile.in模板文件。 6. 运行...
在使用Autoconf和Automake之前,开发者需要准备一些基本文件,包括configure.ac(配置脚本的源文件)、Makefile.am(描述编译规则的文件)等。以下是使用这两款工具的基本步骤: 1. **编写configure.ac**:这个文件...
调用aclocal工具,收集configure.ac中的各种非Autoconf宏,包括自定义宏。 ⑸. 调用autoheader工具,扫描configure.ac文件和acconfig.h文件,生成config.h.in宏定义文件。 ⑹. 编写Makefile.am文件,按照automake...
开发者使用autoreconf工具,它会自动调用aclocal、autoheader、automake和autoconf,生成configure脚本和Makefile.in文件。 3. **运行configure** 在目标系统上,用户或构建系统执行configure脚本。这个脚本会...
Autotools是一组用于生成makefile的工具,它们包括autoscan、autoconf、autoheader、aclocal、automake和configure等。使用Autotools可以帮助开发者自动化生成配置和编译文件的过程。以下是使用Autotools制作...
本文旨在介绍如何使用 `autoconf` 和 `automake` 自动生成 `Makefile` 文件,使开发的软件能够轻松地通过 `./configure`, `make`, `make install` 等步骤完成安装配置。此外,我们还将探讨 `Makefile` 生成的基本...
Autotools是一套工具集合,包括autoconf、automake、autoheader和aclocal,它们主要用来帮助开发者在不同的操作系统和编译器环境下创建可移植的Makefile配置。下面将详细阐述这些工具的作用以及它们如何协同工作。 ...
aclocal autoconf autoheader automake --add-missing ./configure make sudo make install sudo make installdb 要从系统中删除库: make uninstalldb make uninstall 职能 bloommatch( blob a, blob b ) 对...
这就是autotools的用武之地,它是一系列工具的集合,包括aclocal、autoconf、autoheader和automake,用于自动生成Makefile和其他构建系统所需的文件。 `autotools`的使用流程如下: 1. **aclocal**:这个工具主要...
这些宏帮助 Automake 和 Autoconf 生成适当的 `configure` 脚本。 ##### 6.3 自动生成 `aclocal.m4` `aclocal` 是一个工具,用于扫描 `configure.ac` 文件,并生成 `aclocal.m4` 文件。这个文件包含了 Automake 和...
在确保已经生成了 `aclocal.m4` 和 `configure.in` 文件之后,运行 `autoheader` 命令生成 `config.h.in` 文件。这是一个配置文件,用于存放编译时的定义和宏。 4. **autoconf命令生成 configure 文件** 使用 `...
本文将详细介绍如何使用`autoconf`和`automake`这两个强大的工具来自动生成符合自由软件规范的Makefile。这不仅适用于开源软件开发者,也适用于那些希望简化本地项目构建流程的个人开发者。 #### 二、Makefile简介 ...
### 使用AutoMake轻松生成Makefile #### 知识点概览 1. **Makefile的基础概念** 2. **AutoMake的简介与优势** 3. **系统环境准备** 4. **AutoMake工作流程详解** - **步骤1:使用autoscan生成configure.scan文件*...
5. 使用aclocal命令生成M4宏文件,这些文件是autoconf用来生成configure脚本所需要的。 6. 运行autoconf命令,基于configure.ac生成最终的configure脚本。这个脚本会根据系统环境运行不同的检测并配置Makefile。 7. ...
3. **aclocal**: 这个脚本根据`configure.in`中的宏生成`aclocal.m4`文件,包含所有必要的系统宏。 4. **autoheader**: 生成`config.h.in`模板,包含了项目中定义的预处理器宏。 5. **autoconf**: 最后,`autoconf...
AutoTools是Linux下用于构建C语言项目的工具集合,主要包括autoconf、automake、libtool、aclocal等组件。这些工具帮助开发者创建出跨平台、可移植的配置脚本和Makefile,使得源代码能适应不同的操作系统和编译环境...
Autotools系列工具,包括aclocal、autoscan、autoconf、autoheader和automake等,提供了一种自动化生成Makefile的方法。这些工具的出现,极大地简化了在不同平台间移植软件的工作。 首先,我们要了解Makefile的基本...
- **生成configure脚本**:使用`aclocal`和`autoconf`命令生成configure脚本。 ```bash aclocal autoconf ``` 此时,目录下应该有以下文件:`aclocal.m4`, `autom4te.cache`, `autoscan.log`, `configure`, `...
使用`aclocal`、`autoheader`、`autoconf`和`automake`命令序列,自动生成和更新`configure`脚本以及相关的`Makefile.in`文件,为跨平台构建做好准备。 ### 执行configure并编译 通过运行`./configure`命令,根据...