2015-03-03 27 views
2

當我打開bitbake文件(以.bb擴展名結尾)時,大多數文件都使用WORKDIR變量,如下所示。WORKDIR in yocto receipe

S = "${WORKDIR}/git" 

您能否告訴我這個WORKDIR在哪裏定義。

回答

1

對於任何配方,你可以得到一個環境文件發現任何變量的值

1

WORKDIR在下列文件中定義。

bitbake/conf/bitbake.conf 
oe-core/meta/conf/bitbake.conf 
1

從Yocto計劃參考手冊

WORKDIR

其中OpenEmbedded構建系統建立一個食譜的工作目錄的路徑名。該目錄位於TMPDIR目錄結構內,並且特定於正在構建的配方以及它正在構建的系統。

的WORKDIR目錄的定義如下:

${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR} 

實際目錄取決於幾個因素:

TMPDIR: The top-level build output directory 
    MULTIMACH_TARGET_SYS: The target system identifier 
    PN: The recipe name 
    EXTENDPE: The epoch - (if PE is not specified, which is usually the >case for most recipes, then EXTENDPE is blank) 
    PV: The recipe version 
    PR: The recipe revision 

舉個例子,假設源目錄的頂層文件夾名稱狹小,一在poky/build下的默認Build Directory以及一個qemux86-poky-linux機器目標系統。此外,假設你的配方命名爲foo_1.3.0-r0.bb。在這種情況下,工作目錄的構建系統用來構建軟件包將如下所示:您Yocto內

poky/build/tmp/work/qemux86-poky-linux/foo/1.3.0-r0 

http://www.yoctoproject.org/docs/2.1/ref-manual/ref-manual.html#var-WORKDIR

$ {TMPDIR}將文件夾命名爲「TMP」建設目錄。

bitbake -e recipe_name > env 
ENV文件

,你可以搜索WORKDIR的價值:

grep -rin "workdir=" env