Yocto中`${S}`和`${WORKDIR}`的联系与区别
在Yocto项目中,${S}
和${WORKDIR}
是构建过程中两个核心路径变量,它们的关系及用途如下:
- 定义与层级关系
-
${WORKDIR}
(工作目录)
是Recipe所有任务执行的基础目录,路径结构为:
build/tmp/work/<arch>/<recipe-name>/<version>/
。
该目录包含源码解压后的所有文件、补丁、临时编译文件及任务日志(如temp/
子目录)19。 -
${S}
(源码主目录)
是${WORKDIR}
下的子目录,默认指向解压后的源码根目录,例如:
${WORKDIR}/${BPN}-${PV}/
(如helloworld-1.0/
)。
开发者可通过Recipe显式覆盖该路径39。
- 功能区别
变量 用途 示例场景
${WORKDIR}
存储Recipe所有相关文件ÿ