autotools-package架構是從generic-package所繼承的,然後在去額外處理autotools的機制。這部分通常就是有三個部份-『configuration』,『make』,『install』,除了這三個部份和meta以外,理論上不會有其它步驟,而這三個部份描述如下:

  • <pkg>_CONFIGURE_CMDS

    這邊會用適當的參數和環境變數去呼叫『./configure』。

  • <pkg>_BUILD_CMDS

    就是呼叫『make』去建置套件。

  • <pkg>_INSTALL_TARGET_CMDS

  • <pkg>_INSTALL_STAGING_CMDS

  • <pkg>_INSTALL_CMDS

    跟章節『mk file』一樣,都是給予相對應的『DESTDIR』,然後呼叫『make install』來安裝套件。

就像剛才說的autotools-package的架構,主要就是由generic-package繼承下來的架構來下載,解壓縮和套用patch,然後接下來就用autotools的機制去建立組態,建置和安裝專案如下圖所示:

(來源 : free-electrons )

額外參數

  • <pkg>_CONF_ENV
    這個變數會將一些環境變數的值傳給『./configure』。

  • <pkg>_CONF_OPTS
    會將額外的options傳給『./configure』。

  • <pkg>_INSTALL_OPTS

  • <pkg>_INSTALL_STAGING_OPTS

  • <pkg>_INSTALL_TARGET_OPTS
    這三個選項可以去調整make的target和installation的options。

  • <pkg>_AUTORECONF
    這個選項預設是設成NO,代表是它不會去重跑『Makefile.in』,也不會去重新建置檔案『configure』,如果你想要讓它在建置前這部分重跑的話就可以設定成YES。

  • <pkg>_GETTEXTIZE
    如果你的套件需要支援多國語言的話,可以將這個開關打開,但是當然要有相對應的程式碼搂。

results matching ""

    No results matching ""