1.0 简介
–Makefile而且常常会受到自己的开发环境的限制,只要环境参数不同或者路径更改,可能 Makefile 就得跟着修改修改。虽然有 GNU Makefile Conventions (GNU Makefile惯例)订出一些使用 GNU 程式设计时撰写 Makefile 的一些标准和规范,但是内容很长而且很复杂,并且经常作一些调整,为了减轻程序开发人员维护Makefile 的负担 , autotools系列工具应运而生。
–必需的工具autoconf/automake/m4/perl/libtool
–使用autotools生成Makefile的流程为:autoscan-> aclocal -> autoconf-> automake.
•autoconf是一个用于生成可以自动地配置软件源码包,用以适应多种UNIX类系统的shell脚本工具,其中autoconf需要用到 m4,便于生成脚本。 最后生成可执行程序configure
•automake是一个从Makefile.am文件自动生成Makefile.in的工具。为了生成Makefile.in
注意,不要在windows共享文件夹内使用,会出错
2.0 按装autotool
Ubuntu18.04
sudo apt-get install autoconf
可以使用switch 可测试安装是否成功,如下
@ubuntu:/mnt/hgfs/share/20181211_AutoTool/alib$ which aclocal
/usr/bin/aclocal
@ubuntu:/mnt/hgfs/share/20181211_AutoTool/alib$ which autoscan
/usr/bin/autoscan
@ubuntu:/mnt/hgfs/share/20181211_AutoTool/alib$ which automake
/usr/bin/automake
@ubuntu:/mnt/hgfs/share/20181211_AutoTool/alib$ which autoheader
/usr/bin/autoheader
@ubuntu:/mnt/hgfs/share/20181211_AutoTool/alib$ which autoconf
/usr/bin/autoconf
3.0 Autotools运行流程
1. 执行autoscan命令。这个命令主要用于扫描工作目录,并且生成configure.scan文件。
2. 修改configure.scan为configure.ac文件,并且修改配置内容。
3. 执行aclocal命令。扫描 configure.ac 文件生成 aclocal.m4文件。
4. 执行autoconf命令。这个命令将 configure.ac 文件中的宏展开,生成 configure 脚本。
5. 执行autoheader命令。该命令生成 config.h.in 文件。
6. 新增Makefile.am文件,修改配置内容
7. 执行automake --add-missing命令。该命令生成 Makefile.in 文件。
8. 执行 ./congigure命令。将Makefile.in命令生成Makefile文件。
9. 执行make命令。生成可执行文件。