The ModusToolbox™ build system is based on GNU make. It performs application builds and provides the logic required to launch tools and run utilities. It consists of a light and accessible set of Makefiles deployed as part of every application. This structure allows each application to own the build process, and it allows environment-specific or application-specific changes to be made with relative ease. The system runs on any environment that has the make and git utilities.

Note: User-defined command line make parameters are not supported and the only supported variables are TOOLCHAIN and TARGET.


The ModusToolbox™ command line interface (CLI) and supported IDEs all use the same build system. Hence, switching between them is fully supported. Program/Debug and other tools can be used in either the command line or an IDE environment. In all cases, the build system relies on the presence of ModusToolbox™ tools included with the ModusToolbox™ installer.



The tools contain a

start.mk

file that serves as a reference point for setting up the environment before executing the recipe-specific build in the base library. The file also provides a

getlibs

make target that brings libraries into an application. Every application must then specify a target board on which the application will run. These are provided by the

<BSP>.mk

files deployed as a part of a BSP library.



The majority of the

Makefiles

are deployed as git repositories (called "repos"), in the same way that libraries are deployed in the ModusToolbox™ software. There are two separate repos: core-make used by all recipes and a recipe-make-xxx that contains BSP/target specific details. These are the minimum required to enable an application build. Together, these

Makefiles

form the build system.