Automake

✍ dations ◷ 2025-07-11 07:15:12 #Automake

GNU Automake是一种编程工具,可以产生供make程序使用的Makefile,用来编译程序。它是自由软件基金会发起的GNU计划的其中一项,作为GNU构建系统的一部分。automake所产生的Makefile符合GNU编程标准。

automake是由Perl语言所写的,必须和GNU autoconf一并使用。automake包含了以下命令:

是个泛用的程序,对于autoconf用户是相当有用的。举例而言,GNU Compiler Collection使用,即使Makefile是手写的。

就像autoconf,automake并非完全向下兼容的。举例而言,使用automake 1.4的项目可能不能使用automake 1.9。

Automake目标是让用户透过高级语言来写makefile,而不是透过纯手工的方式来写整个makefile。在简单的情况下,它能提供:

经由这些信息,Automake产生makefile能够让用户:

Automake能够自动生成依存性的信息,因此,当一个源文件被修改,下次调用make命令的时候就会知道哪些源文件需要重新编译。如果编译器允许,Automake会试着让依存性系统保持动态:无论何时源文件被编译,都会要求编译器重新产生依存性列表更新该文件的依存性。换句话说,依存性追踪是编译过程的一种边际效应。

这企图避免一些静态依存性系统的问题,比如依存性只会在程序员开始项目时才会被侦测到。在这种情况下,如果源文件获得一个新的依存性(例如,如果程序员增加了一个新的#include指令在C语言的源文件),这样在真实的依存性和编译系统所使用的依存性之间就会产生差异。程序员应该重新产生依存性,但很有可能忘了那样做。在一般情况下,automake透过随附的depcomp脚本生成依存性,这会适当的调用编译器或是回到makedepend。如果gcc编译器的版本够新的话,automake将会inline依存性生成码,直接调用gcc。

Automake还可用来辅助库的编译,它可以自动生成调用Libtool的Makefile文件,从而使程序员避免了直接调用Libtool,而项目也可以从此可移植的库生成工具获益。

相关

  • 伦敦林奈学会伦敦林奈学会(英语:Linnean Society of London)是一个研究生物分类学的协会。出版动物学、植物学以及其他生物学期刊;同时也研究分类学此学门本身的历史沿革。此学会建立于1788
  • 陈杰陈杰或陳傑可以指:
  • 萨马岛萨马岛 (Samar)位于菲律宾中部,是米沙鄢群岛最东的岛屿。下分三省:北萨马省、东萨马省和萨马省。这三个省是东米沙鄢政区的一部分,莱特岛和比利兰岛是附近的岛屿省份。萨马岛面积
  • 游戏米果游戏米果,全称米果网络科技(上海)有限公司,是中国一家游戏公司,于2003年3月成立。曾运营游戏《如来神掌》、《真封神OL》。该公司于2008年倒闭。2006年8月,米果网络发布声明,公布
  • AN-M8烟雾弹AN-M8 HC 烟雾弹(英语: Army/Navy Model 8 HC Smoke Grenade,陆军/海军8型烟雾弹),是一款美国军队使用的烟雾弹。它被用作地对地的掩护用途,设置烟幕或为空对地攻击、炮兵标示
  • 黄君璧黄君璧(1898年11月12日-1991年10月29日),原名允瑄,本名韫之,号君璧、君翁,晚号米寿老人,广东南海禄舟人,当代国画大师。与张大千、溥心畬以“渡海三家”齐名。1898年(光绪二十四年)9月2
  • 高岱高岱(1508年-1567年),字伯宗,号鹿坡居士,湖广钟祥县人,湖广承天府京山县军籍,明朝政治人物、学者。正德三年(1508年)出生。嘉靖十一年(1532年)中举,嘉靖二十九年(1550年)成进士,任刑部郎中。
  • 张之万清人绘《张之万像》张之万(1811年-1897年),字子青,号銮坡,清朝状元,政治人物。直隶南皮县(今属河北省)人。为官数十年,官至太子太保、东阁大学士。卒谥文达。晚清洋务名臣张之洞是其从
  • 弗拉尼奥·图季曼弗拉尼奥·图季曼(Franjo Tuđman,1922年5月14日-1999年12月10日),克罗地亚政治家、历史学家、军人,现代克罗地亚共和国首任总统,“国父”。图季曼出生于一个著名的克罗地亚家庭,其
  • 弗雷德里克斯堡 (得克萨斯州)弗雷德里克斯堡(英语:Fredericksburg)是美国得州基利斯比县中部的一座城市,2005年的人口为10,432。是基利斯比县政府所在地。弗雷德里克斯堡位于北纬30°16′,东经98°52′(30.274058, -98.871822)。弗雷德里克斯堡于1846年由普鲁士人奥特弗里德·汉斯·冯·梅斯伯男爵(Baron Otfried Hans von Meusebach)建立,并以当时的普鲁士王子弗雷德里克威廉三世(Frederick William III)中的弗雷德里克为镇名。而自己在不久之后亦