build.py
Utility to build a software app using multiple configuration files.
This utility builds multiple executables from the same application code, provided with different data.
It assumes a build system with a specific interface which most existing kernels comply with. In particular, it assumes the following:
- the build command should be a make target defined by the Snitch cluster target.
- the data generation can be configured through a JSON file. The path to
this file is provided to the build system in the
$(APP)_DATA_CFG
environment variable, where$(APP)
coincides with the build command name. - all build artifacts are created in the directory specified by the
$(APP)_BUILD_DIR
environment variable.
This utility takes a list of data configuration files as input and builds the application with the data generated from each configuration. Build artifacts are stored in a separate directory for each configuration.
The utility can optionally generate a testlist file which can be used to
run the generated executables using the run.py
utility.