The Make Build System - jonas-rem/RIOT GitHub Wiki

The general structure

RIOT uses a recursive Makefile system. The starting point for these structure is typically the Makefile within the application's Makefile. Among other variables it sets the path to the RIOT repository as $RIOTBASE.

Makefiles

Makefile.include

Usually, the last thing in an application's Makefile is to include the Makefile.include from $RIOTBASE.

Makefile.base

In the simplest case a module just needs to provide a Makefile that does nothing more than including Makefile.base from $RIOTBASE. If the name of your module does not match the name of the directory containing the code, one has to set the variable MODULE as well. E.g. by adding MODULE = FOOBAR as the first line of the module's Makefile.

Makefile.vars

All RIOT specific variables used in the Make build system are listed and briefly explained in Makefile.vars.