图解aclocal、autoconf、automake、autoheader、configure

原文地址:http://hi.baidu.com/yzkuang/blog/item/557e4f24423d8136c9955908.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
时间: 2024-12-13 21:22:12

图解aclocal、autoconf、automake、autoheader、configure的相关文章

autoscan; aclocal; autoconf; automake --add-missing; ./configure; make

1.autoscan 在源码目录下执行autoscan,生成configure.scan,重命名为configure.in或者configure.ac,然后编辑文件内容: ===============configure.in内容开始===================== # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_INIT(helloworld, 1.0, **

linux使用autoconf和automake生成configure

引子 无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令.不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或 make install.利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和 makefile工具就可以轻而易举的理顺各个源文件之间纷繁复杂的相互关系. 但是如果通过查阅make的帮助文档来手工编写Makefile,对任何程序员都是一场挑战.幸而有GNU 提供的Autoconf

Autoconf/Automake工具简介

http://www.cnblogs.com/xf-linux-arm-java-android/p/3590770.html 在linux下编程的时候,有时候工程项目很大,文件比较多,此时需要使用自动创建Makefile文件功能.也就是使用Autoconf/Automake工具自动生成Makefile,为编译程序带来了方便,当前大多数软件包都是用此方法生成,Autoconf/Automake工具组主要包括autoconf,automake,perl,m4. Autoconfig/Automak

[转]mac下autoconf automake安装

curl -O http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz tar -xzvf m4-1.4.13.tar.gz cd m4-1.4.13 ./configure –prefix=/usr/local make sudo make install cd .. curl -O http://mirrors.kernel.org/gnu/autoconf/autoconf-2.65.tar.gz tar -xzvf autoconf-2.65.

安装 Autoconf, Automake & Libtool

今天在使用sudo apt-get install命令安装autoconf和automake时,出现了问题,说是不能sudo apt-get install安装这些软件似乎不是最新的.由此,我通过搜索引擎在CSDN中找到了对应的解决方案,虽然该方案有点麻烦,不过最终还是成功安装autoconf和automake. 至于下面的libtool是可以通过sudo apt-get install完成安装的,贴一下主要考虑哪些没有使用ubuntu系统的,编译安装无论是Ubuntu还是CentOS同样适用.

autoconf,automake,libtool

(1)autoscan, automake, autoconf 之间的协作关系 (2)libtool o: 编译的目标文件 a: 静态库,其实就是把若干o文件打了个包 so: 动态链接库(共享库) lo: 使用libtool编译出的目标文件,其实就是在.o文件中添加了一些信息. la: 使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息和依赖关系.该文件中的dependency_libs变量记录该库依赖的所有库(可以是so.a.la文件):libdir变量为库的

Mac下安装MacProt,并GNU autotools的安装和使用 autoconf,automake

1 MacPort的下载:http://www.macports.org/install.php, 需要安装xCode支持macport 2 安装MacPorts 与其他Mac的软件的安装方式相同,挂载dmg后,打开pkg,按照引导一步步next,然后没有drag到Application的动作. (注:这一步骤非常慢.有的网友说是断了网就好了,如果这样的话,或许是在更新一些多余信息.) 3 然后将/opt/local/bin和/opt/local/sbin添加到$PATH搜索路径中  编辑/et

收录的一部分关于autoconf automake makefile的网址

1.例解 autoconf 和 automake 生成 Makefile 文件 https://www.ibm.com/developerworks/cn/linux/l-makefile/ 2.Linux下Makefile的automake生成全攻略 http://www.yesky.com/120/1865620.shtml 3.Makefile.am详解 http://linux.chinaunix.net/techdoc/develop/2009/02/09/1061563.shtml

mac, xcode 6.1 安装command line tools 支持,autoconf,automake等

以下软件包 都去我的环境库找到 1 先安装 tcl库 2 安装macports /opt/local/bin/port 一般装到这里 安装autoconf时提示: Warning: The Xcode Command Line Tools don't appear to be installed; most ports will likely fail to build. Warning: Install them by running `xcode-select --install'.