### 5.2.20. `build/tmp/work/`

This directory contains architecture-specific work sub-directories for packages built by BitBake. All tasks execute from a work directory. For example, the source for a particular package is unpacked, patched, configured and compiled all within its own work directory. Within the work directory, organization is based on the package group for which the source is being compiled.

It is worth considering the structure of a typical work directory. As an example, consider the `linux-yocto-kernel-3.0` on the machine `qemux86` built within the Yocto Project. For this package, a work directory of `tmp/work/qemux86-poky-linux/linux-yocto-3.0+git1+<.....>`, referred to as `WORKDIR`, is created. Within this directory, the source is unpacked to `linux-qemux86-standard-build` and then patched by Quilt (see the "Modifying Package Source Code with Quilt" section in the Yocto Project Development Manual. Within the `linux-qemux86-standard-build` directory, standard Quilt directories `linux-3.0/patches` and `linux-3.0/.pc` are created, and standard Quilt commands can be used.

There are other directories generated within WORKDIR. The most important directory is WORKDIR`/temp/`, which has log files for each task (`log.do_*.pid`) and contains the scripts BitBake runs for each task (`run.do_*.pid`). The WORKDIR`/image/` directory is where "make install" places its output that is then split into sub-packages within WORKDIR`/packages-split/`.