2014-03-14 106 views
1

我最近開始使用automake和autoconf,我對如何分發代碼有些困惑。autoconf沒有安裝文件

通常,當我得到一個與配置文件一起工作的代碼時,我唯一能得到的就是一個confiure文件和代碼本身,以及Makefile.am等等。通常我做

./configure 
make 
sudo make install 

和多數民衆贊成,但是當我生成我從configure.ac配置文件就折騰了很多,我認爲在那裏只是臨時文件,但如果我給的代碼到一個合作伙伴,他讓配置,它不起作用,它需要重新創建autoreconf或具有所有這些文件(即instal.sh,config.sub ...)。

有什麼,我失蹤?我該如何輕鬆分發代碼並保持清潔? 我搜查了很多,但我想我正在尋找正確的東西,因爲我找不到任何有用的東西。

非常感謝!

回答

2

Automake提供了一個make dist目標。這會自動從您的項目中創建一個.tar.gz。該存檔的設置方式使收件人可以簡單地提取它並運行通常的調用./configure && make && make install

通常是不建議檢查Autotools生成的文件到您的存儲庫。這是因爲它們是派生對象。您不會檢查您的.o文件!

通常,提供一個autogen.sh腳本是一個好主意,該腳本執行在新版本控制系統結帳中重新創建Autotools構建基礎結構所需的任何操作。通常情況下,它可以是簡單的:

#!/bin/sh 
autoreconf -i 

然後將其設置chmod +x,並從一個乾淨的檢出編譯指令可以./autogen.sh && ./configure && make

+0

感謝您的回答。 我有我的項目在一個混帳存儲庫,我想有什麼需要運行通常的命令。是否有可能創建需要的內容並將其添加到存儲庫而不是tar.gz? –

+0

這是**可能**,但它通常是一個**不好的主意**。請參閱最新的答案。 –

+0

好的,我會那樣做。我看過幾個包含單個配置文件的軟件包,但可能已經以不同的方式生成了。然後我將添加autogen腳本。謝謝! –