Build file structure

laze uses yaml files to describe a project.

Each laze project consists of a file named laze-project.yml in the project's root folder, and any number of laze.yml files in subdirectories.

Please see the reference for a detailed description of the file format.

laze will always read laze-project.yml and all referenced laze.yml files of a project. Don't worry, that's fairly fast, e.g., reading and parsing ~650 build files of RIOT takes ~35ms on a Thinkpad T480s. And it's cached, if no buildfile has been changed since it was last read, loading the cache takes less than 10ms.

Once laze has read the build files, it will configure builds as requested when executing it. This will resolve all dependencies for the requested builds, configure the environments and write a Ninja build file.

Once done configuring, laze will automatically call Ninja with the changed build configuration. Ninja will then do the actual building.