1. 程式人生 > >詳解Linux下auto工具製作Makefile原始碼包(工具安裝篇)

詳解Linux下auto工具製作Makefile原始碼包(工具安裝篇)

收藏於 2012-03-25

遷移自個人的百度空間

-------------------------------

一、引子

咱們都知道make好用,但是大型的軟體make是很麻煩的,為了解決這個問題,先人們就發明了autoconf與automake工具,用這些工具可以非常方便的製作configure與Makefile,那麼咱們就開始這個美妙之旅吧。

相關閱讀: 詳解Linux下auto工具製作Makefile原始碼包(製作篇) http://www.linuxidc.com/Linux/2011-05/36615.htm

二、概述和基礎知識

在Linux下得到一個以原始碼形式釋出的包(一般為.tar.gz或.tar.bz2格式),我們可以用 ./confiugure、make、make install來編譯安裝,其中在執行./configure的時候還可以根據自己的需要加入不同的引數(可用./configure --help來檢視引數表)。

那麼究竟這些configure,Makefile是從哪兒來的呢?剛開始安裝過原始碼包的人估計都會犯嘀咕,其實就是通過autoconf與automake等工具生成的。

三、工具軟體介紹

廢話還是少說,簡單的說下automake與autoconf工具。我們說要安裝下面至少四個軟體,我是說至少,當然有可能在安裝的過程中還要安裝其他軟體,腦瓜靈活點兒

這個四個就是Automake、autoconf、m4、perl,如果你需要sharedlibrary,那麼不好意思,你還要裝Libtool。這些工具都是幹什麼的?且聽我一一到來。

automake用來生成Makefile.in檔案。

autoconf是用來產生configure檔案的。

m4主要用來提供生成aclocal.m4檔案所需要的庫,具體什麼是m4,人家都說就是macro,也就是說m後面有四個字母,這雖然有點扯,但是姑且信之。

perl呢?就是在製作Makefile的過程中要用到perl指令碼,所以得安裝這個庫。其他的就不多介紹了,都是成人了。

四、工具軟體的安裝

上面也已經介紹的差不多了,我想大多數人都會安裝,為了方便你我他,我還是記錄下來為妙。首先,我悄悄的把這些原始碼包下載的地址告訴大家,一條龍服務:

各軟體下載地址:

automake-1.8.tar.gz下載地址:http://ftp.gnu.org/gnu/automake/


m4-1.4.14.tar.bz2下載地址:    http://ftp.gnu.org/gnu/m4/
autoconf-2.66.tar.bz2下載地址:    http://ftp.gnu.org/gnu/autoconf/
perl-5.14.0.tar.gz下載地址:    http://www.perl.org/get.html#unix_like
libtool-1.3.2.tar.gz下載地址:    http://ftp.gnu.org/gnu/libtool/

上面的版本僅供參考,我只是想告訴你地址而已。

其實安裝原始碼包也非常簡單,就是那些依賴有些惱火。所以在安裝原始碼包前閱讀INSTALL或者 README是一個良好的習慣。安裝之前可以用“locate 軟體名”來檢視是否安裝,如果找到了再/usr/bin/下面,那就不用再安裝了,也可以用“軟體名 --version”來檢視軟體的版本。

1、 安裝autoconf

解壓autoconf-2.66.tar.gz,進入autoconf-2.66資料夾,執行命令:

#./configure

#make

#make install

這也是三部曲了。如果不出錯那麼安裝就完成了,如果出錯可以找相應的解決辦法。看看安裝在哪裡可以用命令:locate autoconf,用autoconf –version可以檢視版本。

2、安裝automake

automake-1.8的安裝需要依賴autoconf,所以autoconf版本必須在2.58以上,這裡上一步驟我們用autoconf-2.66

解壓automake-1.8.tar.gz,進入automake-1.8目錄,執行如下命令:

[[email protected] perl-5.14.0]# ./Configure -des -Dprefix=$HOME/localperl

[[email protected] perl-5.14.0]# make test

[[email protected] perl-5.14.0]# make install

雖然這幾個命令怪怪的,但是這是從INSTALL中看的,我相信它。

3、安裝m4

安裝m4時候有可能會出現/m4-1.4.14/src/path.c:118: undefined reference to `S_ISDIR'的錯誤,據網上傳說這是個bug,要想解決這個問題,有兩種方法:

a、修改m4目錄下的原始檔path.c,

開啟path.c

在#include "m4.h"後面加上#include "sys/stat.h"。

b、在http://bugs.gentoo.org/332839下載patch,用patch命令打上補丁,這裡的補丁比較簡單,我們就用方法a。

打上補丁後就可以按照常規方法安裝了

#./configure

#make

#make install

4、安裝libtool

解壓# tar xvzf libtool-1.3.2.tar.gz,再用cd進去 # cd libtool-1.3.2

然後進行安裝軟體的三部曲:

[[email protected] libtool-1.3.2]# ./configure

[[email protected] libtool-1.3.2]# make

[[email protected] libtool-1.3.2]# make  install

這個安裝比較順利,風調雨順,一路快馬加鞭就成功了。

基本上我們要製作makefile檔案的工具已經安裝成功了,大功告成!

本文引自http://www.linuxidc.com/Linux/2011-05/36616.htm