Linux下 config/configure/Configure、make 、make test/make check、sudo make install 的做用

  • 這些都是典型的使用GNU的AUTOCONF和AUTOMAKE產生的程序的安裝步驟
  • config/configure/Configure
    • 這個是用來檢測你的安裝平臺的目標特徵的。好比它會檢測你是否是有CC或GCC,並非須要CC或GCC,它是個shell腳本
    • 這一步通常用來生成 Makefile,爲下一步的編譯作準備,你能夠經過在 configure 後加上參數來對安裝進行控制,好比:
      • ./configure --prefix=/usr
      • 上面的意思是將該軟件安裝在 /usr 下面
      • 執行文件就會安裝在 /usr/bin (而不是默認的 /usr/local/bin)
      • 資源文件就會安裝在 /usr/share(而不是默認的/usr/local/share)
      • 同時一些軟件的配置文件你能夠經過指定 --sys-config= 參數進行設定
      • 還有諸如:--with、--enable、--without、--disable 等等參數對編譯加以控制,你能夠經過 ./configure --help 察看詳細的說明幫助
  • make
    • 這一步是用來編譯的,它從Makefile中讀取指令,而後編譯
    • 這一步就是編譯,大多數的源代碼包都通過這一步進行編譯
    • 固然有些perl或python編寫的軟件須要調用perl或python來進行編譯
    • 若是 在 make 過程當中出現 error ,你就要記下錯誤代碼(注意不單單是最後一行),而後你能夠向開發者提交 bugreport(通常在 INSTALL 裏有提交地址),或者你的系統少了一些依賴庫等,這些須要本身仔細研究錯誤代碼
  • make test / make check
    • 顧名思義,這一步就是對上一步 make 的檢查了,要確保 make 是沒有錯誤的,也就是這一步的 test、check要所有是 OK 的,error 爲0
  • sudo make install
    • 這一步是用來安裝的,它也從Makefile中讀取指令,安裝到指定的位置
    • 這條命令來進行安裝,通常須要你有 root 權限(由於要向系統寫入文件),因此前面用了 sudo
  • AUTOMAKE和AUTOCONF是很是有用的用來發布C程序的東西。若是你也寫程序想使用AUTOMAKE和AUTOCONF,能夠參考CNGNU.ORG上的相關文章
相關文章
相關標籤/搜索