主体如下
一般用autoconf会生存configure.scan下面解释下里面部分含义
AC_PREREQ([2.66])这个宏是用来检测autoconf的版本的。
AC_INIT()是个初始化宏,括号中内容分别为:要生成的软件名称,版本号,bug报告邮箱。
AM_INIT_AUTOMAKE(family,1.0)这个宏是新添加的,不过好像1.8的automake不用添加这个也可以,但是我没有添加的时候在后面make的时候会有“Makefile:15: *** 遗漏分隔符 。
AC_CONFIG_SRCDIR([src/wife.c])这个宏是用来检测源码目录的有效性,srcdir就可以看出来,括号里边的文件不一定非得是wife.c,也可以改成其他的。
AC_CONFIG_HEADERS([config.h])这个宏用来生成标准的config.h文件。
接下来的内容就是众多的check了
AC_PROG_CC这个是检测编译器的宏
其他的就是执行aclocal,autoconf,autoheader
编写Makefile.am
上图我也不是很明白
说几个简单的
1) 标准安装路径
默认安装路径为:$(prefix) = /usr/local,可以通过./configure --prefix=<new_path>的方法来覆盖。
其它的预定义目录还包括:bindir = $(prefix)/bin, libdir = $(prefix)/lib, datadir = $(prefix)/share, sysconfdir = $(prefix)/etc等等。
2) 定义一个新的安装路径
比如test, 可定义testdir = $(prefix)/test, 然后test_DATA =test1 test2,则test1,test2会作为数据文件安装到$(prefix)/ /test目录下。
AUTOMAKE_OPTIONS为设置automake的选项,三种软件等级:foreign、gnu和gnits
编写完Makefile.am就可以使用automake --add-missing
最后Makefile就over了。