The recipe work directory - ${WORKDIR}
.
As described earlier in the
"build/tmp/sysroots/
"
section, beginning with the 2.3.2 release of the Yocto
Project, the OpenEmbedded build system builds each recipe in its
own work directory (i.e.
WORKDIR
).
The path to the work directory is constructed using the
architecture of the given build (e.g.
TUNE_PKGARCH
,
MACHINE_ARCH
,
or "allarch"), the recipe name, and the version of the recipe (i.e.
PE
:
PV
-
PR
).
A number of key subdirectories exist within each recipe work directory:
${WORKDIR}/temp
:
Contains the log files of each task executed for this
recipe, the "run" files for each executed task, which
contain the code run, and a
log.task_order
file, which lists the
order in which tasks were executed.
${WORKDIR}/image
:
Contains the output of the
do_install
task, which corresponds to the
${
D
}
variable in that task.
${WORKDIR}/pseudo
:
Contains the pseudo database and log for any tasks executed
under pseudo for the recipe.
${WORKDIR}/sysroot-destdir
:
Contains the output of the
do_populate_sysroot
task.
${WORKDIR}/package
:
Contains the output of the
do_package
task before the output is split into individual packages.
${WORKDIR}/packages-split
:
Contains the output of the do_package
task after the output has been split into individual
packages.
Subdirectories exist for each individual package created
by the recipe.
${WORKDIR}/recipe-sysroot
:
A directory populated with the target dependencies of the
recipe.
This directory looks like the target filesystem and
contains libraries that the recipe might need to link
against (e.g. the C library).
${WORKDIR}/recipe-sysroot-native
:
A directory populated with the native dependencies of the
recipe.
This directory contains the tools the recipe needs to build
(e.g. the compiler, Autoconf, libtool, and so forth).
${WORKDIR}/build
:
This subdirectory applies only to recipes that support
builds where the source is separate from the
build artifacts.
The OpenEmbedded build system uses this directory as a
separate build directory (i.e.
${
B
}
).