2016-07-23 54 views
1

我是新的自動工具,但我無法找到autotools文檔中的章節,以核心答覆我的問題。configure.ac爲所有構建文件指定文件夾

是否有命令,我可以在configure.ac腳本中指定,將所有構建stuf(配置文件,Makefile等)存儲在一個文件夾中(例如./build)?或者我應該如何設置自動工具以避免在我的回購中出現混亂? 我的步驟:

$autoreconf --install 
$./configure 
$make 

任何教程或文章將非常有用。

回答

1

您不需要在configure.ac中執行任何特殊操作即可啓用樹外 構建。你只需要不做任何錯誤。一個適當自動處理的軟件包將在樹內或樹外建立。

說你的autotooled包駐留在./foobar,你已經正確的autotooling 使:

cd foobar 
./configure 
make 
make distcheck 

一切運作順利。然後同樣:

mkdir foobar_build 
cd foobar_build 
../foobar/configure 
make 
make distcheck 

也將工作完全一樣,不同之處在於全部由 configure腳本創建的文物和make將在./foobar_build而不是./foobar

你不能得到autoreconf生成創造出的樹 (在configure腳本和朋友)的文件,因爲這些將被包括在make dist產生的 分佈壓縮包(如foobar-1.0.tar.gz) 。一個autotooled包的 最終用戶不應該需要有或理解的自動工具: 他們應該能夠:

  • 克隆,或者下載並解壓
  • 配置
  • 使
  • 爲根,使安裝

出於同樣的原因,configure腳本和朋友應該位於 源代碼管理存儲庫中,至少在 發佈用於克隆的發行分支中。

+0

非常感謝Mike,這真的很好的闡明瞭我的觀點。 – Constantine

相關問題