亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源配置管理工具 > cvs
CVS、Automake與Autoconf簡介
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2012/12/28 14:18:46 ] 推薦標(biāo)簽:

AM_INIT_AUTOMAKE(PACKAGE,VERSION)
這個是使用 Automake 所必備的宏,PACKAGE 是所要產(chǎn)生軟件的名稱,VERSION 是版本編號。

AC_PROG_CC
檢查系統(tǒng)可用的C編譯器,若源代碼是用C寫的需要這個宏。

AC_OUTPUT(FILE)
設(shè)置 configure 所要產(chǎn)生的文件,若是Makefile ,configure 便會把它檢查出來的結(jié)果填充到Makefile.in 文件后產(chǎn)生合適的 Makefile。

實際上,在使用 Automake 時,還需要一些其他的宏,這些額外的宏我們用 aclocal來幫助產(chǎn)生。執(zhí)行 aclocal會產(chǎn)生aclocal.m4 文件,如果沒有特別的用途,不需要修改它,用 aclocal 所產(chǎn)生的宏會告訴 Automake如何動作。

有了 configure.in 及 aclocal.m4兩個文件以后,便可以執(zhí)行 Autoconf來產(chǎn)生 configure 文件了。

編輯Makefile.am 文件
接下來要編輯Makefile.am 文件,Automake 會根據(jù) configure.in 中的宏并在perl的幫助下把Makefile.am 轉(zhuǎn)成 Makefile.in 文件。 Makefile.am 文件定義所要產(chǎn)生的目標(biāo):

AUTOMAKE_OPTIONS
設(shè)置 Automake 的選項。Automake 主要是幫助開發(fā) GNU 軟件的人員來維護(hù)軟件,所以在執(zhí)行Automake 時,會檢查目錄下是否存在標(biāo)準(zhǔn) GNU 軟件中應(yīng)具備的文件,例如 'NEWS'、'AUTHOR'、
'ChangeLog' 等文件。設(shè)置為foreign 時,Automake 會改用一般軟件的標(biāo)準(zhǔn)來檢查。

bin_PROGRAMS
定義要產(chǎn)生的執(zhí)行文件名。如果要產(chǎn)生多個執(zhí)行文件,每個文件名用空白符隔開。

hello_SOURCES
定義 'hello' 這個執(zhí)行程序所需要的原始文件。如果 'hello'這個程序是由多個原始文件所產(chǎn)生,
必?把它所用到的所有原始文件都列出來,以空白符隔開。假設(shè) 'hello' 還需要 'hello.c'、'main.c'、'hello.h' 三個文件的話,則定義
hello_SOURCES= hello.c main.c hello.h
如果定義多個執(zhí)行文件,則對每個執(zhí)行程序都要定義相對的filename_SOURCES。

編輯好 Makefile.am 文件,可以用 Automake --add-missing來產(chǎn)生 Makefile.in。加上 --add-missing 選項來告訴 Automake順便加入包裝一個軟件所必須的文件,如果你不使用該選項,Automake可能會抱怨缺少了什么文件。Automake產(chǎn)生出?的 Makefile.in 文件是完全符合 GNU Makefile 慣例的,只要執(zhí)行 configure這個shell
script 便可以產(chǎn)生合適的 Makefile 文件了。

使用 Makefile
利用 configure 所產(chǎn)生的 Makefile文件有幾個預(yù)先設(shè)定的目標(biāo)可供使用,這里只用幾個簡述如下:

make all
產(chǎn)生設(shè)定的目標(biāo),既范例中的可執(zhí)行文件。只敲入make 也可以,此時會開始編譯源代碼,然后連接并產(chǎn)生執(zhí)行文件。

make clean
清除之前所編譯的可執(zhí)行文件及目標(biāo)文件(object file, *.o)。

make distclean
除了清除可執(zhí)行文件和目標(biāo)文件以外,也把 configure 所產(chǎn)生的 Makefile 清除掉。 通常在發(fā)布軟件前執(zhí)行該命令。

make install
將程序安裝到系統(tǒng)中,若源碼編譯成功,且執(zhí)行結(jié)果正確,便可以把程序安裝到系統(tǒng)預(yù)先設(shè)定的執(zhí)行文件存放路徑中,若用 bin_PROGRAMS 宏的話,程序會被安裝到 /usr/local/bin下。

make dist
將程序和相關(guān)的文檔包裝為一個壓縮文檔以供發(fā)布 (distribution) 。執(zhí)行完在目錄下會產(chǎn)生一個以
PACKAGE-VERSION.tar.gz 為名稱的文件。PACKAGE 和 VERSION 這兩個參數(shù)是根據(jù) configure.in 文中
AM_INIT_AUTOMAKE(PACKAGE, VERSION) 的定義。在我們的例子中會產(chǎn)生 'hello-1.0.tar.gz' 的文件。

make distcheck
和 make dist 類似,但是加入檢查包裝以后的壓縮文件是否正常,這個目標(biāo)除了把程序和相關(guān)文檔包裝成 tar.gz 文件外,還會自動把這個壓縮文件解開,執(zhí)行 configure,并執(zhí)行 make all ,確認(rèn)編譯無錯誤以后,方顯示這個 tar.gz 文件已經(jīng)準(zhǔn)備好并可以發(fā)布了。當(dāng)你看到:
==========================================
hello-1.0.tar.gz is ready for distribution
==========================================

可以放心地發(fā)布您的軟件了,檢查過關(guān)的套件,基本上可以給任何具備 GNU 開發(fā)環(huán)境的人去重新編譯成功。
要注意的是,利用 Autoconf 及 Automake 所產(chǎn)生出?的軟件套件是可以在沒有安裝 Autoconf 及 Automake 的環(huán)境使用的,因為 configure 是一個 shell script,它己被設(shè)計為可以在一般 Unix 的 sh 這個 shell 下執(zhí)行。但是如果要修改 configure.in 及 Makefile.am 文件再產(chǎn)生新的 configure 及 Makefile.in 文件時一定要有 Autoconf 及 Automake 了。

相關(guān)資料
通常我們掌握了一些入門知識可以開始實踐了,在有新的需求時,參照相關(guān)的文檔和別人的例子解決問題,在實踐中不斷提高。
Autoconf 和 Automake 功能十分強(qiáng)大,可以從它們附帶的 info 文檔中找到詳細(xì)的使用說明。或者您喜歡html,可以從gun站點上下載hmtl版本。你也可以從許多現(xiàn)有的GNU 軟件或 Open Source 軟件如Minigui中找到相關(guān)的 configure.in 或 Makefile.am 文件,他們是學(xué)習(xí) Autoconf 及 Automake 更多技巧的佳范例。

上一頁1234下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 日韩中文精品亚洲第三区 | 波多野结衣178部中文字幕 | 成人高清免费 | 欧美精品在线观看 | 又粗又长又黄又爽视频 | 黄色的视频免费 | 欧美专区在线播放 | 在线看的网站 | 免费人成在线观看69式小视频 | 日本特级黄色 | 在线观看成年 | h动态图男女啪啪27报gif | 国产精品久久久久久夜夜夜夜 | 欧美亚洲国产精品久久第一页 | 韩国理伦在线 | 免费精品一区二区三区第35 | 国产高清不卡一区二区三区 | h视频在线免费观看 | 97青青草原国产免费观看 | 成人午夜久久 | 欧美视频免费在线播放 | 日韩一区二区三区免费视频 | 亚洲黄色一级 | 日批在线| 国产高清精品在线 | 亚洲欧美日韩国产综合久 | 成人动漫视频在线 | 国产精品久久久精品视频 | 57pao国产成视频免费播放 | 欧美一区日韩精品 | 国产一级毛片午夜 | 亚洲成年人网址 | 成年黄页网站大全免费动漫 | 天天摸夜夜添狠狠添2018 | 日韩欧美亚洲一区二区综合 | 国产精品人成在线播放新网站 | 黄色大片视频在线观看 | 特级全黄| 成 人 黄 色 大 片全部 | 欧美日韩欧美日韩 | 国产精品日本一区二区在线看 |