Once a file has been modified, for example with an editor, or by a previous compilation, the files that depend on the altered file must be rebuilt. Most development tools only deal with the dependencies between source and binary files. The mkmk system goes further, taking into account any changes which occur in the source files during the build process.
The relationship between the different components is managed through the components' Makefile.bin and Makefile.src files and through the build paths found in the Paths file in your work directory. For example, applications can access both the kernel API and the OS API through the variables set in the Paths file:
NUCLEUS_DIR provides the applications with access to the kernel
BSP_DIR, DRV_DIR, DRV_F_DIR give access to the board support package level information
OS_DIR and IOM_DIR enable access to the operating system level API
The information that is accessed between components is the exported information, which is usually present in the binary deliveries.