不经意之前稍微玩了下automake, 记录一下, 大致留点印象:
我用的linux发行版是FC9, 怕别的版本的automake/autoconf要设置的东东不一样, 先说明。
在用automake之前, 先建一个tmp目录, 然后写一个hello.c,
vi hello.c
#include
int main(void)
{
printf("hello, world\n");
return 0;
}
1、首先执行autoscan命令,生成configure.scan文件;
2、执行mv configure.scan configure.in,将其改名;
3、编辑configure.in,
修改: AC_INIT(hello.c, 0.0.1, xxx@xxx.com)
新增: AM_INIT_AUTOMAKE(hello, 0.0.1)表示软件包名为hello,版本为1.0,如此在make编译后,执行make dist会生成一个名为 hello-0.0.1.tar.gz源代码包
4、执行aclocal命令,生成aclocal.m4宏文件;
5、执行autoconf命令,生成configure shell可执行脚本;
6、编辑Makefile.am文件,内容如下:
AUTOMAKE_OPTIONS = foreign
bin_PROGRAMS = hello
hello_SOURCES = hello.c
说明:第一行为AUTOMAKE命令的参数,表示为外部的,不按GNU标准(即不加说明、安装、更改记录等文件) ;第二行表示输出的可执行文件名;第三行表示可执行文件的源程序文件,可以有多个文件名。
6、执行autoheader
7、执行命令automake --add-missing,表示创建Makefile.in文件并加入遗失的文件,同时复制过来(默认情况下是做符号链接,这在不同的文件系统间会出问题),至此操作完成。
8、./configure; make dist
阅读(894) | 评论(0) | 转发(0) |