Autoconf/Automake工具简介

在linux下编程的时候,有时候工程项目很大,文件比较多,此时需要使用自动创建Makefile文件功能。也就是使用Autoconf/Automake工具自动生成Makefile,为编译程序带来了方便,当前大多数软件包都是用此方法生成,Autoconf/Automake工具组主要包括autoconf,automake,perl,m4。

Autoconfig/Automake工具使用实例

一、首先建立编写一个C源程序文件,命名为HelloWorld.c,其代码很简单,就是Hello,World!程序。

二、使用Autoscan工具生成config.ac文件.

该文件的简要说明如下:
1、  AC_PREREQQ宏声明本文件要求的autoconf版本,这里是2.63
2、  AC_INIT定义软件的名称和信息。(DULL-PACKAGE-NAME为软件名,VERSION为软件的版本号,BUG-REPORT-ADDRESS为bug的报告地址,一般为软件作 者的邮箱)
3、  AC_CONFIG_SRCDIR用来侦测指定的源码文件是否存在,确定源码目录的有效性。此处为当前目录下hello.c
4、  AC_CONFIG_HEADER用于生成config.h文件,以便autoheader使用
5、  AC_PROG_CC用来指定编译器,以便不指定的时候默认为gcc
6、  AC_OUTPUT用来设定config要产生的文件。如果是Makefile,config会把它检查出来的结果带入Makefile.in文件产生合适的Makefile.

三、获得并且修改configure.ac

#cp configure.scan configure.ac
并作以下的修改

这里注意重要的一点:AM_INIT_AUTOMAKE宏需要自己进行添加,它是automake所必备的宏。

四、使用aclocal工具生成aclocal.m4

五、使用autoconf工具生成configure文件

六、使用autoheader工具生成config.h.in文件

七、创建Makefile.am文件

Automake工具会根据config.in中的参量把Makefile.am转换成Makefile.in文件。在使用Automake之前,要先手动建立Makefile.am文件。

几点需要说明:
1、AUTOMAKE_OPTIONS为设置的Automake选项。它有三种等级提供给用户选择:foreign,gnu,gnits,默认等级为gnu.在此使用foreign,它只检测必须的文件。
2、bin_PROGRAMS定义要产生的执行文件名。如果要产生多个可执行文件,则每个文件名用空格隔开。
3、hello_SOURCES定义为hello这个程序所需要的原始文件。如果其是由多个文件组成的,则必须用空格进行隔开。

八、使用Automake生成Makefile.in文件

要使用选项“--add-missing”可以让Automake自动添加一些必要的脚本文件。如下

九、配置

运行自动配置设置文件configure,把Makefile.in编程最终的Makefile

十、测试

运行Make命令进行编译。然后运行HelloWorld程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值