根据官方网站的介绍, automake 是一个根据 GNU 代码标准自动生成 Makefile.in文件的工具,个人理解它就是一个自动生成 Makefile 文件的小工具。下面的示例将通过它自动生成Makefile.in,并最终生成可执行文件。
1,首先在tt 上当下建立一个dir1文件夹,在此文件夹下建立四个文件,分别如下:
//code1.h
#include<stdlib.h>
void foo_a();

//code1.c
#include "code1.h"
void foo_a()
{
printf("This is code1. ");
}

//code2.h
#include<stdlib.h>
void foo_b();

//code2.c
#include "code1.h"
#include "code2.h"
void foo_b()
{
printf("This is code2. ");
}

int main()
{
foo_a();
foo_b();
}
2,在tt目录下建立configure.in文件(可用autoscan):
#指定项目的一个源文件
AC_INIT(dir1/code2.c)

#指定项目名称和版本号
AM_INIT_AUTOMAKE(prog1, 0.0.1)

#检查编译器
AC_PROG_CC

#输出Makefile文件
AC_OUTPUT(Makefile
dir1/Makefile
)
bin_PROGRAMS=prog1
prog1_SOURCES=code1.c code2.c
4,完成之后,为了方便操作,再写一个autogen.sh文件,保存在tt目录下。
#!/bin/sh
aclocal

autoconf
automake -a
cd ./dir1
make
存盘之后,用chmod +x改成可执行文件。然后执行autogen.sh。
1,首先在tt 上当下建立一个dir1文件夹,在此文件夹下建立四个文件,分别如下:



























}
2,在tt目录下建立configure.in文件(可用autoscan):













3,同时建立tt目录下的Makefile.am文件,这个文件很简单,就一句话:
SUBDIRS=dir1
然后建立dir1目录下的Makefile.am文件,这才是真正起作用的Makefile.am文件:


4,完成之后,为了方便操作,再写一个autogen.sh文件,保存在tt目录下。





cd ./dir1
make
存盘之后,用chmod +x改成可执行文件。然后执行autogen.sh。
$chmod +x autogen.sh
$./autogen.sh
$./autogen.sh
即可在tt目录下生成configure和makefile文件,同时在dir1目录下也会生成一个makefile文件。进入dir1目录,就可以看到生成的prog1程序。如果再执行make install,prog1将被安装到缺省的/usr/local/bin目录下去。