1.autoscan (autoconf): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。

your source files --> [autoscan*] --> [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 - - - - -.
                                      .-------,
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 - - - - - - - .
                                     .----------,
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 ,autoconfig.h.in - - - - - - -.
                                     .--------,
configure.ac ----------------------->|autoconf|------> configure
6. ./configure的过程
                                           .-------------> [config.cache]
     configure* --------------------------+-------------> config.log
              [config.h.in] -.            v            .--> [autoconfig.h]
                             +-------> config.status* -+                   
              Makefile.in ---'                         `-->   Makefile
7. make过程
     [autoconfig.h] -.
                     +--> make* --->  程序
       Makefile   ---'
                                     .---------,
                   config.site - - ->|         |
                  config.cache - - ->|         | - - -> config.cache
                                     |         +-,
                                     `-+-------' |
                                       |         |----> config.status
                   config.h.in ------->|config-  |----> config.h
                   Makefile.in ------->|  .status|----> Makefile
                                       |         |----> stamp-h
                                       |         +--,
                                     .-+         |  |
                                     | `------+--'  |
                   ltmain.sh ------->|ltconfig|-------> libtool
                                     |        |     |
                                     `-+------'     |
                                       |config.guess|
                                       | config.sub |
                                       `------------'

                                   .--------,
                   Makefile ------>|        |
                   config.h ------>|        |
{project sources} ---------------->|        |--------> {project targets}
                                 .-+        +--,
                                 | `--------'  |
                                 |   libtool   |
                                 |   missing   |
                                 |  install-sh |
                                 |mkinstalldirs|
                                 `-------------'
auto - header : generate将更改当前文件的标题注释 默认文本是这样的 要更改此插件生成的模板,可以更改 auto - header .template配置。 当前原子版本不支持多行模板,因此您必须在 conf ig.cson进行更改,例如 ' * ' : ' auto - header ' : ' template ' : ''' All Rights Reserved. {{license- header }} 呈现模板时,将替换由{{}}包装的某些标记。 {{年}} 将由当前年份 一、 configure .ac configure .ac由一些宏组成(如果已经有源代码,你可以运行 auto scan来产生一个 configure .scan文件,在此基础修改成 configure .ac将更加方便) 1) 示列 AC_INIT([amhello], [1.0], [bug- automake @gnu.org]) AM_INIT_ AUTOMAKE ([-Wall -Werror foreig... 转载自:http://www.ivpeng.com/pblog/ configure -ac.html   参考: automake .ac 和 automake .in的区别.配置 configure .ac用自动生成 Make file的工具来生成 Make file的过程中,需要用 auto scan命令来生成 configure .scan文件,然后将它改名字为 configure .ac或者 configure .in,然... me@me-virtual-machine:~/admin4$ bash bootstrap Stamping the version number... Conf iguring the build system... + acl ocal bootstrap: 行 38: acl ocal : 未找到命令 Ubuntu,Debian:sudo apt-get install automake Cent... 本系列文章均翻译自 Automake 官方文档: Automake Manual,github同步项目:question 6.1 配置要求 唯一的要求就是在 configure .ac文件中加上AM_INIT_ AUTOMAKE 宏。 下面是几个 Automake 要求的但是不会被AM_INIT_ AUTOMAKE 运行的宏 AC_ CONF IG_FILES AC_OUTPUT 这两个经常在末尾被调用,指明了哪些文件会... 1. auto scan ( auto conf ): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件 configure .scan,它是 configure .ac的一个雏形。 1. auto scan ( auto conf ): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件 configure .scan,它是 configure .ac的一个雏形。2. acl ocal ( automake ):根据已经安装的宏,用户定义宏和acinclude.m4文件中