强大的 GNU AUTO MAKE工具集

 

一.功能简述

快速方便帮助你生成在众多LINUXBSDUNIX下可移植的Makefile.inconfigure脚本。

完整文档参考:http://sources.redhat.com/automake/automake.html

 

二.工具集成员

以使用的执行顺序为作生后顺序.

 

1.autoscan

扫描的代码目录,自动把所有的库调用函数抽取出来生成检查的M4宏,最后生成一个configure.scan文件,你可以重命名它为configure.ac(老版本是configure.in,仍然支持)。你因此可以省下寻找有兼容性的函数的时间。configure.ac的存在是它要作为aclocalautoconf的输入文件.

AC_INIT([zardoz], [1.0])
 AM_INIT_AUTOMAKE

 

2.aclocale

把当前目录下的 configure.ac文件中的AM_*之类的宏处理成M4宏,生成一个后缀为.m4文件.

 

3.autoheader

生成作为AC_CONFIG_FILE的输入文件config.h.in

4.autoconf

如果configure.ac中定义了AC_CONFIG_FILE([config.h]),这个autoconf会把相关的检测结果转成头文件,同时设置HAVE_CONFIG编译器预处理器, 可以在源文件都包含以下代码,

#if HAVE_CONFIG

#include "config.h"

#endif

这样不必把那些检测结在最后编译的时候直接传给gcc,编译的时候看来简洁一些。

但这不是必要的,你可以不定义AC_CONFIG_FILE,如果不定义的话autoconf把这些结果直接存到configure文件中.

 

5.automake

Makefile.am为输入文件生成Makefile.in

Makefile.am文件需要你手工编写。Makefile.am是一种比Makefile更高层次的规则。只需指定要生成什么目标,它由什么源文件生成,要安装到什么目录等构成。


以下Makefile.am的一个示例:

noinst_PROGRAMS=test

test_SOURCES=test.c

test_LDADD=$(top_srcdir)/src/ModuleA/apple/shell/apple.o $(top_srcdir)/src/lib/libswap.a

test_LDFLAGS=-D_GNU_SOURCE

DEFS+=-D_GNU_SOURCE

Now you can run ‘automake --add-missing’ to generate your Makefile.in and grab any auxiliary files you might need, and

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值