在yocto食谱中的WORKDIR

时间:2015-03-03 09:05:23

标签: yocto

当我打开bitbake文件(以.bb扩展名结尾)时,大多数文件都使用WORKDIR变量,如下所示。

S = "${WORKDIR}/git" 
你可以告诉我这个WORKDIR的定义。

3 个答案:

答案 0 :(得分:5)

来自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,poky / build的默认构建目录和qemux86-poky-linux机器目标系统。此外,假设您的配方名为foo_1.3.0-r0.bb。在这种情况下,构建系统用于构建程序包的工作目录如下:

    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}将是Yocto构建目录中名为“tmp”的文件夹。

答案 1 :(得分:1)

WORKDIR在以下文件中定义。

答案 2 :(得分:1)

使用bitbake环境选项-e

bitbake -e <recipe-name> | grep ^WORKDIR=

对于任何配方,您可以通过获取环境文件来找到任何变量的值:

bitbake -e recipe_name > env