configure指令碼引數介紹

2022-03-28 08:23:27 字數 3315 閱讀 6433

configure指令碼有大量的命令列選項。

下面對每乙個選項進行簡略的介紹:

--cache-file=file

'configure' 會在你的系統上測試存在的特性(或者bug!)。為了加速隨後進行的配置,測試的結果會儲存在乙個cache file裡。當configure乙個每個子樹裡都有'configure'指令碼的複雜的原始碼樹時,乙個很好的cache file的存在會有很大幫助。

--no-create

'configure'中的乙個主要函式會製作輸出檔案。此選項阻止'configure'生成這個檔案。你可以認為這是一種演習(dry run),儘管快取(cache)仍然被改寫了。

--quiet

--silent

--prefix=/export/servers/nginx

'--prefix'是最常用的選項。使用上述引數,則執行make install之後,相關檔案會被安裝在/export/servers/nginx目錄

個人認為,你可以忽略其他的一切,但請把—prefix加上。這裡以安裝supersparrow-0.0.0為例,我們打算把它安裝到目錄 /usr/local/supersparrow,於是在supersparrow-0.0.0目錄執行帶選項的指令碼./configure --prefix=/usr/local/supersparrow,執行成功後再編譯、安裝(make,make install);安裝完成將自動生成目錄supersparrow,而且該軟體所有的檔案都被複製到這個目錄。為什麼要指定這個安裝目錄?是為了以後的 維護方便,如果沒有用這個選項,安裝過程結束後,該軟體所需的軟體被複製到不同的系統目錄下,很難弄清楚到底複製了那些檔案、都複製到**去了—基本上是 一塌糊塗。用了—prefix選項的另乙個好處是解除安裝軟體或移植軟體。當某個安裝的軟體不再需要時,只須簡單的刪除該安裝目錄,就可以把軟體解除安裝得乾乾淨淨;移植軟體只需拷貝整個目錄到另外乙個機器即可(相同的作業系統)。

不指定prefix,則可執行檔案預設放在/usr/local/bin,庫檔案預設放在/usr/local/lib,配置檔案預設放在 /usr/local/etc。其它的資源檔案放在/usr/local/share。你要解除安裝這個程式,要麼在原來的make目錄下用一次make uninstall(前提是make檔案指定過uninstall),要麼去上述目錄裡面把相關的檔案乙個個手工刪掉。

指定prefix,直接刪掉乙個資料夾就夠了。

--exec-prefix=eprefix

與'--prefix'選項類似,但是他是用來設定結構倚賴的檔案的安裝位置,編譯好的'emacs'二進位制檔案就是這樣乙個問件。如果沒有設定這個選項的話,預設使用的選項值將被設為和'--prefix'選項值一樣。

--bindir=dir

指定二進位制檔案的安裝位置,這裡的二進位制檔案定義為可以被使用者直接執行的程式。

--sbindir=dir

指定超級二進位制檔案的安裝位置。這是一些通常只能由超級使用者執行的程式。

--libexecdir=dir

指定可執行支援檔案的安裝位置。與二進位制檔案相反,這些檔案從來不直接由使用者執行,但是可以被上面提到的二進位制檔案所執行。

--datadir=dir

指定通用資料檔案的安裝位置。

--sysconfdir=dir

指定在單個機器上使用的唯讀資料的安裝位置。

--sharedstatedir=dir

指定可以在多個機器上共享的可寫資料的安裝位置。

--localstatedir=dir

指定只能單機使用的可寫資料的安裝位置。

--libdir=dir

指定庫檔案的安裝位置。

--includedir=dir

指定c標頭檔案的安裝位置。其他語言如c++的標頭檔案也可以使用此選項。

--oldincludedir=dir

指定為除gcc外編譯器安裝的c標頭檔案的安裝位置。

--infodir=dir

指定info格式文件的安裝位置.info是被gnu工程所使用的文件格式。

--mandir=dir

指定手冊頁的安裝位置。

--srcdir=dir

這個選項對安裝沒有作用,他會告訴'configure'原始碼的位置。一般來說不用指定此選項,因為'configure'指令碼一般和原始碼檔案在同乙個目錄下。

--program-prefix=prefix

指 定將被加到所安裝程式的名字上的字首。例如,使用'--program-prefix=g'來configure乙個名為'tar'的程式將會使安裝的程 序被命名為'gtar'。當和其他的安裝選項一起使用時,這個選項只有當他被`makefile.in'檔案使用時才會工作。

--program-suffix=suffix

指定將被加到所安裝程式的名字上的字尾。

--program-transform-name=program

這裡的program是乙個sed指令碼。當乙個程式被安裝時,他的名字將經過`sed -e program'來產生安裝的名字。

--build=build

指定軟體包安裝的系統平台。如果沒有指定,預設值將是'--host'選項的值。

--host=host

指定軟體執行的系統平台。如果沒有指定。將會執行`config.guess'來檢測。

--target=garget

指定軟體面向(target to)的系統平台。這主要在程式語言工具如編譯器和彙編器上下文中起作用。如果沒有指定,預設將使用'--host'選項的值。

--disable-feature

一些軟體包可以選擇這個選項來提供為大型選項的編譯時配置,例如使用kerberos認證系統或者乙個實驗性的編譯器最優配置。如果預設是提供這些特性,可以使用'--disable-feature'來禁用它,這裡'feature'是特性的名字,例如:

configure常用引數介紹

configure常用引數介紹 configure指令碼有大量的命令列選項,對不同的軟體包來說,這些選項可能會有變化,但許多基本選項是不會改變的.帶上 help 選項執行configure指令碼可以看到可用的所有選項。這裡我只羅列一些常用選項,以備參考 prefix 是最常用的選項,製作出的make...

Shell指令碼 引數

我們可以在執行 shell 指令碼時,向指令碼傳遞引數,指令碼內獲取引數的格式為 n。n代表乙個數字,1 為執行指令碼的第乙個引數,2 為執行指令碼的第二個引數,以此類推 以下例項我們向指令碼傳遞三個引數,並分別輸出,其中 0為執行的檔名 bin bash author 菜鳥教程 url www.r...

訪問Shell指令碼引數

所謂的位置引數 positional parameters 指的也就是shell指令碼的命令列引數 command line arguments 在shell函式裡,它們同事也可以是函式的引數。各引數都由整數來命名。基於歷史的原因,當它超過9,就應該用大括號把數字框起來 echo first arg...