2010-02-20 30 views
6

我很欣賞makefiles,並在所有的輝煌,但我不知道是否沒有一個更直觀的方式來維護我的C/C++構建。你用ruby腳本替換了makefiles嗎?

有沒有人嘗試替換他們用Ruby腳本生成文件,允許複雜和適應性建立在不犧牲可讀性?有沒有使這更容易的寶石?

回答

6

看看Rake,一個讓更換用Ruby編寫的。它基本上是一個小領域專用語言,適用於典型的make類任務,可以在Rakefile中編寫普通的ruby代碼。

+0

有希望。我會研究這個。有沒有人在一個體面的團隊,用耙子編譯他們的C++代碼? (如果這很重要,我們也建立在Windows上)。 – thebretness 2010-02-20 21:51:35

+2

http://Rubini.us/是一個很大的C++項目(實際上,它是一個包含大量C++的Ruby項目),它使用Rake作爲其構建系統。 http://IronRuby.Net/也使用Rake;它不是C++,但C#,但可能足夠接近。 Rubinius尚未在Windows上工作,但這與構建過程沒有任何關係。微軟IronRuby顯然適用於Windows。還有一些嵌入式和機器人公司構建C++,C甚至與Rake進行彙編。 – 2010-02-20 22:53:50

+0

經過很多修補之後,我構建了一個我很滿意的rakefile。謝謝。 – thebretness 2010-02-21 18:25:37

3

這是一個非常古老的想法,並且已經嘗試過許多腳本語言。 SRC Modula-3附帶一種稱爲「Quake」的語言,其中編寫了該項目的所有m3makefile。面臨的挑戰是提供接近Makefile的簡潔性和透明性的東西,同時允許更多的表現力。 Rake在接近製造或地震的簡單性和清晰度之前有一定的方法,但它非常有用。我認爲一些可讀性相對於像Plan 9的mk工具犧牲,但Rake是更具可讀性比牛羚的更巴洛克用途製作。

3

使用耙我已經轉換大,多而複雜的C項目,和一些小的Java的。

我永遠不會回去makefile! 我的眼睛裏的rakefiles比makefile或ant更可讀。

耙和紅寶石也有自己的一套的問題,主要一個是體面的文件,它仍然需要一定的知識和經驗手藝不錯的構建系統,除非你是非常方便使用Ruby。