Overview
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.