### Setting Up Prerequisites Currently, only Ubuntu 14.04+ is officially supported as primary development environment. There are several dependencies, that should be installed manually. The following list is required for building: - `gcc` higher than `4.8.2` - native - arm-none-eabi - `cmake` higher than `2.8.12.2` - `make` higher than `3.81` - `bash` higher than `4.3.11` - `cppcheck` higher than 1.61 - `vera++` higher than 1.2.1 ```bash sudo apt-get install gcc g++ gcc-arm-none-eabi cmake cppcheck vera++ ``` To make our scripts run correctly, several shell utilities should be available on the system: - `find` - `bc` - `awk` - `sed` - `sha256sum` - `wget` Upon first build, `make` would try to setup prerequisites, required for further development and pre-commit testing: - STM32F3 and STM32F4 libraries ```bash make prerequisites -j ``` It may take time, so go grab some coffee: ```bash Setting up prerequisites... (log file: ./build/prerequisites/prerequisites.log) ``` ### Building Debug Version To build debug version for Linux: ```bash make debug.linux -j ``` To build debug version for Linux without LTO (Link Time Optimization): ```bash LTO=OFF make debug.linux -j ``` ### Checking Patch ```bash make precommit -j ``` If some style guidelines, build or test runs fail during precommit, then this is indicated with a message like this: ``` Build failed. See ./build/bin/unittests/make.log for details. ```