2010-07-08 18 views
14

因此,几年前,我花了一些时间来挖掘make,并且付出了巨大的代价。编写构建我的项目和自动执行任务的小makefile非常有趣且富有成效。如何学习Autotools的喜悦?

当然,缺点是我的makefile文件过于具体,尤其是涉及到平台和库位置时。

所以这就是人们告诉我“autotools救援!”的点。当他人这样做的时候,他们当然似乎在做这个伎俩(我喜欢下载一些东西并运行configure && make && sudo make install并且看着它刚刚工作),但是我无法把头围绕在他们身上。

我看了一些configure.acMakefile.am文件,我只是不明白发生了什么事情。我不知道标识符的哪部分是开发人员的选择,哪部分对自动工具有意义。我不确定我是否理解整个流程和Makefile.in的要点。我认为我只是打了一道从我习惯于的系统(make)转变为一个高于这个层次的系统。

任何人都可以指向我的教程或书籍(最好不要过度干燥),可以教我自动工具的乐趣吗?步骤是什么,以及如何使用它们,我如何从头开始写我自己的configure.acMakefile.am?告诉我怎样才能有效,并与他们玩得开心?

+2

没有真正回答你的问题,但你可能也想考虑cmake。我发现它比通常的自动工具更简单。 – 2010-07-08 21:34:59

+9

作为用户,您了解了自动工具的乐趣。现在你要学习它的痛苦:) – 2010-07-08 21:37:32

+1

我真的可以承认@Evan Teran和@Vitor Py的评论。 autotools(特别是当它们与libtool一起使用时)确实有导致很多痛苦的倾向。在公司里,我们目前正在从autotools转移到cmake,而没有后悔。 – Rudi 2010-07-09 07:32:02

回答

5

虽然我认为亚历山大Duret的 - 鲁兹的自动工具教程,在Elmarco公司的答复中提到,要最好的,您还是应该也知道山羊书:

http://sourceware.org/autobook/

的它涉及相当老的工具的版本,但它是一个很好的介绍,它的逻辑顺序呈现。它也比教程更完整。在完成教程之后,它可能最适合作为补充阅读材料。

UPDATE 还有John Calcote's book,它是在2010年8月左右发布的,它非常好。我不确定整本书是否在该链接上在线,但至少有一部分是。

9

我不确定你可以玩构建系统......你是否阅读过Autotools教程?

http://www.lrde.epita.fr/~adl/autotools.html

大约有自动工具的各种资源,问题是,他们往往是不完整的,有点过时等等

最近的一个和出色的文件是自动工具流言终结者,虽然它不是一个介绍:

http://www.flameeyes.eu/autotools-mythbuster/index.html

+2

+1为链接,谢谢!但是我希望你对最初的主张有错。随着编程(以及任何足够复杂的构建系统就是编程),我经常会想如果你没有乐趣,那么你做错了。这可能会导致程序员在简单的解决方案中选择最复杂的解决方案的趋势相同,但这似乎是一种比任何其他方式更适合调节的投票。 – rampion 2010-07-09 00:11:09

+1

对于我来说,Autotools Tutorial最启发人的地方就是使用哪些文件来生成哪些其他文件,以及它们都是用来做什么的。那一刻我明白了Autotools的喜悦,并且不再把它们视为巫毒。 – ptomato 2010-07-09 09:50:51

+1

我非常感谢Alexandre Duret-Lutz的Autotools Tutorial(第一个上述链接)。只需要一两个小时的时间投资,您就可以学习足够多的Autotools以满足大多数用例的需求。 – 2010-11-29 10:15:45