Autoconf解释

主体如下

一般用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了。

原文地址:https://www.cnblogs.com/fuhaidasheng/p/2880057.html