简介

automake是使用Makefile.am生成 Makefile.ins文件的工具,Makefile.am由一些变量定义组成,生成的Makefile.ins符合GNU makefile的规范

GNU makefile标准是一个特别复杂而且可改变的状态,automake的目标就是减少开发者在维护makefile的负担,将负担转移到automake工具的维护者身上

典型的automake输入文件就是一些变量定义,每个文件被处理后变成Makefile.in文件

automake工具也会对项目进行一些限制,比如必须是先用Autoconf工具

automake依赖perl去生成Makefile.in文件,但是automake生成的分发包是完全符合GNU标准的构建包格式,构建的时候,无需使用perl

如果你第一次接触Automake,或许你知道,它是AutoTool工具集的一部分,或者你已经知道了Makefile.in,Makefile.am,aclocal.m4等等,但是搞不清楚这些文件之间的关系,
本文将向你介绍他们的机制和强大之处,

2.1 介绍GNU构建系统

普遍认识的公理是开发一个新包,必须有一套构建系统,在unix世界,通常由make命令完成。在makefile文件中编写构建的规则。

当一个包需要被构建在不同的平台,Makefile文件通常需要进行调整,举个例子,编译器可能使用其他名字或者需要更多的选项,1991年,David J. MacKenzie厌倦了需要维护20个平台的makefile构建脚本,他写了一个小型的configure脚本,自动调整makefile文件,编译他的包就变成了 ./configure && make.今天这种方式已经成了GNU项目的标准,GNU编码标准解释了每个GNU包应该有一个configure脚本,同时makefile也要遵循一定的规范,最为结果,安装一个包的过程都变了,运行./configure && make && make install,我们叫这种构建系统,为GNU构建系统
Autoconf工具主要关注configure文件,Automake工具组要关注makefile文件,没有这两个工具,也可以创建一个完整的GNU构建项目,但是非常容易出错和繁琐,后面会将您展示

2.2 GNU构建系统使用案例

2.0.0 标准makefile目标

  • make all
    构建全部的程序,库,文档等,等价于make

  • make install
    安装需要安装的文件到系统目录

make install-strip
类似make install,删除调试符号,减少程序大小

make uninstall

make install 反向操作,需要在原构建目录下运行

make clean

删除make all的输出文件

make distclean

删除./configure生成的文件

make check

运行测试套件

make installcheck

检查已经安装的程序或者库

make dist

生成package-version.tar.gz 源文件包

如果需要完整的资料可以去这里“传送门”

automake的使用(详细1)相关推荐

  1. Sofia-SIP模块开发指南

    源文出处http://sofia-sip.sourceforge.net/refdocs/programming.html 编程指南 编写可移植代码 Sofia-SIP软件代码大部分都是可移植的.所有 ...

  2. ffmpeg java linux水印,Linux环境用FFmpeg给视频加水印详细步骤

    FFmpeg给视频添加水印,根据官方文档的介绍可以知道FFmpeg在编译安装的时候还需要加 –enable-libfreetype.–enable-libfontconfig. --enable-li ...

  3. Nginx反向绑定域名方法和详细操作应用实例:Google和Gravatar

    2019独角兽企业重金招聘Python工程师标准>>> 反向绑定域名,即将域名B绑定到域名A上,用户只要访问B就等同于进入A,内容都是由A提供,它有点像建立了一个A的镜像.什么时候要 ...

  4. Linux下安装Redis php-redis扩展 redis重启shell脚本 超详细!

    前言 前面刚写过nosql其中三款热门产品的对比,这次主要写关于Redis的一些事情,Redis的介绍.安装以及扩展(php-redis,因为我是phper)安装等等.同时是写给我的朋友(cccjjj ...

  5. linux下使用automake、autoconf生成configure文件

    一.生成configure过程中各文件之间的关系图 二.详细介绍 autoscan: 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是con ...

  6. 超详细的CentOS7中安装Git,yum安装和自己编译安装

    预备知识很长,请耐心看,对后面安装过程的理解及其对linux 的理解都很有帮助 一.预备知识 1)什么是自由软件运动? 自由软件运动致力于通过自由软件使计算机用户获得自由权利.自由软件的用户可以自主控 ...

  7. Linux下Makefile的automake生成全攻略--转

    http://www.yesky.com/120/1865620.shtml 作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下 ...

  8. autoconf和automake的安装与使用

    http://hi.baidu.com/luohuazju/blog/item/4e2d930802a2d5d962d986d2.html http://xunet.blog.51cto.com/13 ...

  9. Linux下autoconf和automake使用

    Linux下autoconf和automake使用 转自:http://hi.baidu.com/liuyanqiong/blog/item/0a6f0ad9d28e1d3d32fa1c7b.html ...

最新文章

  1. Go 知识点(06)— for range 切片并对切片进行 append 不会造成死循环
  2. win10浏览器_Win10系统中ie浏览器的证书错误应该如何解决?
  3. PostgreSQL 10.1 手册_部分 III. 服务器管理_第 16 章 从源代码安装_16.5. 安装后设置...
  4. zbb20170606 oracle 查看空表
  5. linux+top+常用参数,linux的top命令参数详细说明
  6. Titanic(泰坦尼克号生存预测)---(1)
  7. 华为云技术开放日(第三季)话题介绍和直播群入口
  8. python中求根公式_用python做个带GUI的求根公式吧
  9. Educational Codeforces Round 51 (Rated for Div. 2) The Shortest Statement
  10. Atitit prj tek dfkt 项目常见技术难点目录第一章 开发效率 2第一节 更加简单的语言 2第二节 简单
  11. CI(CodeIgniter)框架结构介绍
  12. ofd文件转化成pdf的免费方法
  13. 中国交通标志检测数据集
  14. 记事本文件管理器关联文本类
  15. ps4移植android游戏,把PS4游戏《Apex英雄》《只狼》搬到安卓手机上玩,这招够简单!...
  16. revit卸载/完美解决安装失败/如何彻底卸载清除干净revit各种残留注册表和文件的方法
  17. C语言中atof函数功能及用法
  18. 可视化导论 - 第四章 数据可视化流程 - 学习笔记
  19. 安装卡巴斯基个人网络版KIS 7.0之后的蓝屏解决方案
  20. window统计文本字节_在线字数统计工具-统计字符字节汉字数字标点符号-计算word文章字数...

热门文章

  1. canvas 边界模糊_解决canvas画图模糊的问题
  2. shell脚本实战之编译mysql
  3. HTML期末大学生网页设计作业——奇恩动漫HTML (1页面) HTML+CSS+JS网页设计期末课程大作业
  4. 单片机应用系统常用的元器件
  5. JPA只实现局部字段更新的解决办法(一)
  6. 如何对已上架的宝贝进行调整不被降权?
  7. 双系统安装ubuntu服务器分区,[已解决]求助双系统安装ubuntu,分区时看不到windows分区...
  8. Nature综述:应对新出现的抗真菌耐药性对人类健康的威胁
  9. 解决pycharm中中文列表输出'\\xe6\x97\xa5\xe5\x9c\xba\xe6\x88\x90\xe4\xc'之类的字符串
  10. 我的日记本开发手记(3)—— 布局