Autotools工具使用

29 篇文章 1 订阅
20 篇文章 6 订阅

1. 工具介绍

Autoconf/Automake 工具用于自动创建功能完善的 Makefile 文件。

Autotools 主要包括:autoconfautomakeperl 语言环境和 m4

2. 使用示范

目录树:

tree
.
|-- login.c
|-- login.h
|-- main.c
|-- welecome.c
`-- welecome.h

0 directories, 5 files

Ⅰ. 使用autoscan生成configure.scan文件

autoscan
tree
.
|-- autoscan.log
|-- configure.scan
|-- login.c
|-- login.h
|-- main.c
|-- welecome.c
`-- welecome.h

0 directories, 7 files

可以看到在当前目录下生成了 configure.scan 文件,这个文件是一个 configure.inconfigure.ac 文件原型。

它会在给定目录及子目录树中检查源文件,若没有给出目录,就在当前目录及其子目录树中进行检查。

configure.scan 文件改名为 configure.in 或者 configure.ac

cp configure.scan configure.ac
tree
.
|-- autoscan.log
|-- configure.ac
|-- configure.scan
|-- login.c
|-- login.h
|-- main.c
|-- welecome.c
`-- welecome.h

0 directories, 8 files

Ⅱ. 修改configure.ac文件

configure.ac 文件内容如下:

修改为如下图所示:

Ⅲ. 创建Makefile.am文件

Automake 工具会根据 configure.in 中的参量把 Makefile.am 转换成 Makefile.in 文件。所以在使用之前要先创建 Makefile.am 文件。

vim Makefile.am

内容如下:

Ⅳ. 创建autogen.sh脚本

vim autogen.sh

内容如下:

aclocal 命令用于扫描 configure.ac 文件生成 aclocal.m4,此工具根据已经安装的宏、用户定义宏和 acinclude.m4 文件中的宏将configure.ac 文件需要的宏,集中定义到文件 aclocal.m4 中。

autoconf 工具生成生成 configure 文件,将 configure.ac 中的宏展开,生成 configure 脚本。这个过程可能用到 aclocal.m4 中定义的宏。

autoheader 工具生成 config.h.in 文件,这个步骤对于本项目可不加。

automake 生成 Makefile.in 文件。

chmod +x autogen.sh
./autogen.sh

会看到如下信息,忽略即可。

查看目录下是否生成了 configure Makefile.in 文件。

Ⅴ. 运行configure生成Makefile

因为 minigui 代码编译需要链接 minigui,pthread,png,jpeg,ttf 几个库,所以运行 configure 时需要加入编译选项。

./configure CFLAGS='-lminigui -lpthread -ljpeg -lpng -lttf'

查看下当前目录是否有 Makefile 文件

Ⅵ. 编译

运行 make 编译代码即可(前提是代码没问题)

可以看到,在当前目录下已经生成了可执行文件 login 说明整个配置没有问题。

3. 总结

本文只介绍了多文件同级目录的使用,更多可以参考这篇文章 Linux c 开发 - Autotools使用详细解读 写的十分详细。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值