GNU Autotools [一]


文章目录

  • GNU Autotools [一]
    • Autotools
      • 系列工具包:Autoconf、Automake、Libtool
        • 工具安装
        • 手动安装:
    • Autotools自动创建Makefile流程
      • 示例:
    • 工具的发展史
    • linux发行版

Autotools

系列工具包:Autoconf、Automake、Libtool

工具安装

检测系统是否已经安装:which autoconf 自动安装:apt install autoconf automake libtool 需要依赖的包:m4\perl\autotools-dev\autoconf-archive\gnu-standards\ autobook …

手动安装:

»下载对应.tar.gz源码包;解压tar xvf *.tar.gz »编译:./configure;make;make install

Autotools自动创建Makefile流程

•生成Makefile的通用规则文件Makefile.in •(1)手工编写Makefile.am文件
•(2)#automake:将Makefile.am->Makefile.in •生成配置脚本configure •(1)#autoscan:生成configure.scan ->configure.ac
•(2)修改、配置configure.ac
•(3)#aclocal:生成aclocal.m4,存放autoconf运行需要的宏
•(4)#autoconf:将configure.acàconfigure •通过configure生成Makefile •(1)#./configure:Makefile.inàMakefile
•(2)#make;make install

示例:

  1. 在autotools下创建hello.c

  2. 用autoscan生成configure.scan

  3. mv configure.scan configure.ac

  4. 修改configure.ac

  1 #                                               -*- Autoconf -*-2 # Process this file with autoconf to produce a configure script.3 4 AC_PREREQ([2.69])5 AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])  //FULL-PACKAGE-NAME 为软件包名, 6 AC_CONFIG_SRCDIR([hello.c])7 AC_CONFIG_HEADERS([config.h])8 9 # Checks for programs.10 AC_PROG_CC11 12 # Checks for libraries.13 14 # Checks for header files.15 16 # Checks for typedefs, structures, and compiler characteristics.17 18 # Checks for library functions.19 20 AC_OUTPUT

  1 #                                               -*- Autoconf -*-2 # Process this file with autoconf to produce a configure script.3 4 AC_PREREQ([2.69])5 AC_INIT(hello, 1.0, mail.original.com)6 AC_CONFIG_SRCDIR([hello.c])7 AC_CONFIG_HEADERS([config.h])8 AM_INIT_AUTOMAKE            //使用Automake编译9 10 # Checks for programs.11 AC_PROG_CC12 13 # Checks for libraries.14 15 # Checks for header files.16 17 # Checks for typedefs, structures, and compiler characteristics.18 19 # Checks for library functions.20 21 AC_OUTPUT(Makefile)  //指定输出文件 Makefiel22 23

  1. aclocal:生成aclocal.m4,存放autoconf运行需要的宏

  2. autoconf:将configure.ac->configure

  3. 创建 Makefile.am

  4. autoheader 生成配置文件

  5. automake --add-missing(-a) 生成隐式配置

  6. 编译

        ./configuremakemake installmake uninstall

工具的发展史

linux发行版

GNU Autotools [一]相关推荐

  1. Autobook中文版(七)—9.一个小的GNU Autotools项目

    9.一个小的GNU Autotools项目 本章介绍一个真实的小例子,演示一些GNU Autotools具有的特性,指明一些GNU Autotools使用上的陷阱.所有的源码能被下载从本书的主页上.这 ...

  2. GNU Autotools 简介

    如果你还没有使用过 Autotools,本教程将改变你交付代码的方式. 图片来源: 亚历克斯·桑切斯.CC BY-SA 4.0. 你有没有下载过一个流行的软件项目的源代码,需要你输入几乎仪式化的./c ...

  3. 《Autotools – GNU Autoconf, Automake与Libtool实践者指南》第一章

    最近项目中有用到此部分工具,所以在此转载一篇相关文章,如有侵权,请留言告知! 转载于http://www.xuebuyuan.com/2147621.html 前言 本文根据<Autotools ...

  4. 使用 GNU Libtool 创建库

    介绍 在不同的系统中建立动态链接库的方法有很大的差别,这主要是因为每个系统对动态链接库的看法和实现并不相同,以及编译器对动态链接库支持的选项也不太一样.对于开发人员,如果尝试将使用动态库的软件在这些系 ...

  5. 转载:使用 GNU Libtool 创建库

    转载自:http://www.ibm.com/developerworks/cn/aix/library/1007_wuxh_libtool/ 介绍 在不同的系统中建立动态链接库的方法有很大的差别,这 ...

  6. autotools入门笔记(一)

    GNU autotools作用:收集系统配置信息并自动生成Makefile文件. GNU autotools主要包括三个工具:autoconf.automake.libtool,还有很多辅助的工具,包 ...

  7. GNU toolchain —— (一)介绍

    GNU工具链(GNU toolchain)是一个包含了由GNU项目所产生的各种编程工具的集合.这些工具形成了一条工具链(串行使用的一组工具),用于开发应用程序和操作系统. GNU工具链中包含的项目有: ...

  8. 使用autotools自动生成Makefile并在此之上使用dh-make生成可发布的deb程序包(详解)

    一.前言 本文将介绍如何使用autotools生成一个Makefile文件,并在此基础上使用dh-make和debuild生成一个可发布的deb程序包,这也是我们在Linux下开发应用程序以及想要发布 ...

  9. TQ2440开发板学习纪实(0.1)--- GNU Freestanding(Naked)C ARM交叉开发环境创建与测试

    0 由来 在我的博文 GNU ARM交叉汇编环境的搭建与测试中,详细讲解了GNU ARM汇编环境的创建与使用方法.实际开发中,直接使用汇编语言写的代码往往很少,尽在系统启动和性能要求极其苛刻的时候才会 ...

最新文章

  1. linux 32位redis安装,CentOS 5.5 32位上安装Redis 2.6报错解决
  2. 就算是戴上口罩,AI也知道你在说什么丨EMNLP 2020最佳论文
  3. linux shell 执行 几种方式区别 bash source .
  4. Web 探索之旅 | 第二部分第一课:客户端语言
  5. Shell脚本调试工具set
  6. 网络编程中如何得知一次请求(或响应)的数据已接收完
  7. 嵌入式计算机的特点和应用,以下描述中,()不是嵌入式操作系统的特点。A.面向应用,可以进行裁剪和移植B.用 - 信管网...
  8. 2021年KOL市场研究报告
  9. matlab删掉txt文件中的数据,matlab中读取txt数据文件(txt文本文档)
  10. 物联网|ZETA技术助力远超抄表实现智能化、精细化
  11. xubuntu language support
  12. 使用application记录页面访问次数
  13. SSD(ECCV 2016)
  14. Ubuntu18.04风扇狂转的解决办法
  15. Gobelieve 架构(转载)
  16. 美的苏宁“超级带货趴”来袭,养成带货达人,大牌净味冰箱带回家
  17. js基础--数据类型
  18. ftp下载怎么操作,使用教程
  19. postgresql 查看用户名
  20. AutoCAD 使用平铺视口

热门文章

  1. linux smit工具,Linux安全基础 SMIT入门
  2. 互联网游戏-数据分析项目
  3. oracle中 unino,union all,minus,intersect的用法
  4. 【活动】高效学习方法分享
  5. MySQL编码致使varchar类型不区分大小写
  6. 山东大学计算机学院夏令营经验贴.2019
  7. ThinkPad安装Mac
  8. DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampl
  9. 回归生活:清理微信公众号
  10. Elastic的Workplace Search如何使用Gmail或Google Drive等数据源