2010-07-08 23 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