autoconf 简单demo试用
1. 安装工具
yum install -y automake
2. 基本项目
a. 项目参考结构
├── AUTHORS
├── COPYING
├── ChangeLog
├── Makefile.am
├── NEWS
├── README
├── README.md
├── a.out
├── configure.ac
├── main
└── main.c
b. configure.ac Makefile.am main.c
configure.ac Makefile.am
configure.ac
AC_INIT([main],[0.0.1])
AC_CONFIG_SRCDIR("main.c")
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([1.11 -Wall -Werror])
AC_CONFIG_FILES([Makefile])
AC_PROG_CC
AC_OUTPUT
Makefile.am
bin_PROGRAMS = main
main_SOURCES =main.c
main.c
#include <stdio.h>
int main (){
printf("%s","appdemo");
return 0;
}
c. 生成文档
autoreconf -i 提示的错误信息如下:
Makefile.am: error: required file './NEWS' not found
Makefile.am: error: required file './README' not found
Makefile.am: error: required file './ChangeLog' not found
Makefile.am: installing './COPYING' using GNU General Public License v3 file
Makefile.am: Consider adding the COPYING file to the version control system
Makefile.am: for your code, to avoid questions about which license your project uses
autoreconf: automake failed with exit status: 1
解决方法
list="INSTALL NEWS README AUTHORS ChangeLog COPYING"
touch $list
重新生成之后 ./configure
d. make && install
make install
备注:或者使用autoscan 帮助生成部分代码,也是一个不错的选择
3. 一张参考图
4. 参考资料
https://github.com/rongfengliang/autoconf-demo
https://www.gnu.org/software/autoconf/autoconf.html
https://github.com/rongfengliang/autoconf-project