When you build a component with imake, the structure of your component source is reproduced in your build-component directory. This is called a projected tree. This means that the build directory will contain a directory hierarchy that mirrors the source file tree.
Each directory contains a makefile that enables the component to be built from the component root. These makefiles are generated automatically from the Imake files contained in the component directory in the source. They are generated when you make your build environment.
In the build_dir component, source files are referenced in their original location in the source file tree. However, the built .o files are stored in the equivalent directory in the build-component tree.
To recapitulate, the main tasks performed by an Imake build are the following:
The "all" makefile target of the Makefile.src file invokes ChorusOS MkMf, a wrapper over imake, to generate the root Makefile.
The build tree is built recursively by the makefile target (standard imake profile)
The "all" makefile target of the root Makefile performs a recursive build of objects (.o), libraries and binaries
For more information on these two build methods see "Build Management".