# Usage

## Build

In order to use VyBuild, you must compile it first. For this, use the `build.sh` script located in the `vybuild` folder. This script should only be used from the root folder of the Vystem project, just like this:

``` bash
vybuild/build.sh
```

The `vybuild` binary will be compiled inside the folder of same name.

## Usage

VyBuild can be used like this:

``` bash
vybuild/vybuild <path to root module> <build args>
```

The first argument must be the path to the root module. Arguments that comes after that will be sorted into two categories:
- VyBuild arguments: if VyBuild recognize an argument specific to the build system, it will remove it from the exposed arguments
- Build arguments: these arguments will be exposed to the build pipeline using system variables

Here is the list of VyBuild arguments to this day:
- `--purge-cache`: purge the cache before starting the build pipeline
- `--disable-smart-cache`: disable the smart cache feature for this execution of the build pipeline

## Licenses

External libraries used inside VyBuild:
- ELFIO, made by Serge Lamikhov-Center, sourced from [serge1/ELFIO](https://github.com/serge1/ELFIO), under the MIT license
- json, made by Niels Lohmann, sourced from [nlohmann/json](https://github.com/nlohmann/json), under the MIT license

Others libraries are used when loading the dynamic library `commoncrypto`, which can be found [here](../boottools/commoncrypto.md)
