auotools入门

autotools基本介绍:

autotools系列工具可以自动生成makefile,它只需要用户输入简单的目标文件,依赖文件,文件目录等就可以轻松生成makefile。此外,这些工具嗨可以完成系统配置信息的收集,从而可以更加方便的处理各种移植性的问题。这就为我们提供了很大的便捷,此文就是学习简单的autotools的入门操作。

autotools是系列工具,其组成说明如下:
 1. aclocal;
 2. autoscan;
 3. autoconf;
 4. autoheader;
 5. automake;

使用 autotools 就是利用各个工具的脚本文件以生成最后的 makefile 的过程,其总体流程如下两个主题步骤:
1. 使用 aclocal 生成一个 “aclocal.m4”文件,该文件主要处理本地的宏定义
2. 改写“configure.sacn”文件,并将其重命名为 “configure.ac”或者 “configure.in”,并使用 autoconf 文件生成 configure 文件。

autotools基本入门:

  1. 安装autotools
    在这里插入图片描述 2.查看是否安装成功
    在这里插入图片描述 3.建立一个.c文件,进行编译
    在这里插入图片描述4.使用autoscan工具在给定目录及其子目录树中检查源文件,它会搜索源文件以寻找一般移植性问题创建一个文件“configure.scan”,该文件就是下面要使用到生成“configure.ac”的原型
    在这里插入图片描述5.使用命令 cp configure.scan configure.ac;并且用编辑打开 configure.ac 文件,在AC_INIT后面加入:AM_INIT_AUTOMAKE,并且在倒数最后一行加入的内容:AC_CONFIG_FILES([Makefile]);具体的可以看下图所示:
    在这里插入图片描述上图这是未修改的情况
    在这里插入图片描述上图这里是修改后的一个情况。
解释一下大概脚本文件:
1. `AC_PREREQ宏定义本文件要求的autoconf版本
2.`AC_INIT宏用来定义软件的名称和版本等信息。后面的参数 第一个表示输出的程序的名称,第二个表示版本号,第三个表示报错内容接收的邮箱地址
3.`AM_INIT_AUTOMAKE 是 automake 所必备的宏,使得automake 自动生成 makefile.in
4.`AC_CONFIG_SRCDIR 宏用来检查所指定的源码文件是否存在,以及确定源码目录的有效性。
5.`AC_CONFIG_HEADER 宏用来生成 config.h 文件,以编autoheader使用
6.`AC_CONFIG_FILES 宏用于生成相应的 makefile 文件
7.`中间注释之间可以分别添加用户测试程序,测试函数库,测试头文件等宏定义。

6.接下来运行aclocal,生成 “aclocal.m4”文件
在这里插入图片描述7.然后使用autoheader 工具,负责生成config.h文件
8.接着是创建 Makefile.am ,这是很重要的一布,automake 要用到的脚本配置文件就是它。这里需要用户自己去创建,如下图所示:
在这里插入图片描述

解释以下该脚本文件:
1. AUTOMAKE_OPTIONS 为设置 automake 的选项,automake提供了 3 种软件等级:foreign,gnu,gnits。默认情况下为gnu,本文使用的是foreign,它值检测必需的文件
2.bin_PROGRAMS 定义要产生的执行文件名。如果是多个文件,那每个文件名之间用空格隔开
3. test_SOURCES 定义 test 这个程序所需要用到的原始文件
  1. 接下来值总结使用 automake -a命令
    在这里插入图片描述10.然后就可以采用./configure 和 make 进行编译le
    在这里插入图片描述在这里插入图片描述备注:如果需要更改编译器直接可以使用命令 ./configure CC=/编译器的绝对路径/ --host=/用户名/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值