Build System
- The build system for Cheriette is built on four basic concepts:
Files
Artifacts
Tools
Contexts
Files are base units, like source and header files.
An artifact is generated from a set of input files and artifacts. An artifact is a logical unit. Example: A Cheriette kernel image, an ELF for a service.
A tool is used to take input files and transform them into output files. Example: A compiler or linker.
A context is used by tools to distinguish artficats for different purposes or targets from each other. Example: A cheri context, a morello target context, a kernel context, a usr context. An artifact with the cheri and kernel context for the initial kernel bootstrap code vs. an artifact with the nocheri and loader contexts for the loader.