2014-05-21 64 views
0

我的意思是,你從源代碼構建在Linux和UNIX系統中,通常是通過發出的命令,這些C或C++項目:什麼是'./configure,make,make install'項目調用?

./configure 
make 
sudo make install 

而且他們也有文件,如./configure./configure.ac./configure.in頂部目錄。

我聽到他們不同的名爲autotools的項目或AUTOCONF項目,或automake的項目,但我不知道它的名字是正確的。關於他們應該被稱爲什麼,甚至有共識嗎?

+0

當心:configure.in已被棄用。它的替代是configure.ac –

回答

4

Autoconf及automake的統稱爲GNU自動(和libtool可以被包括在該類別中也一樣),因此自動工具是最一般的名稱。這並不是說有一個configure腳本生成一個Makefile中所有的程序都不必使用自動工具,或者不是所有的人

注意。

+0

所以我們稱這樣一個項目爲「一個自動工具項目」? – sashoalm

+0

只是想指出,OP所提到的命令序列根本不需要使用任何自動工具。 [GNU編碼標準](http://www.gnu.org/prep/standards/html_node/Configuration.html)本身就說得很清楚。措辭表明,甚至可以手動編寫一個'configure'腳本,只要它以預期的方式行事,實現某個接口(參數)並強制執行某些事情(比如不先構建而不先配置等)。 – ArjunShankar

+1

@ArjunShankar:這真是一個很好的觀點。爲答案增加了一個例子。 –

4

根據GNU,它正式名爲GNU Build System,您可以在Wikipedia上找到它。但大多數人(呃,幾乎每個人?)都稱之爲「GNU autotools」或「autotools」。正如@larsmans和其他人在他的回答中所述,沒有這些工具是必需的。引用鏈接的最後一段:

Autotools是爲您的包創建GNU構建系統的工具。 Autoconf主要關注Makefiles上的configure和Automake。完全有可能在沒有這些工具的幫助下創建一個GNU構建系統....

0

autoconf信息頁面的第一頁指的是「自動配置」包。