Handle putting the final error message by prepending the output.
This removes issue with errors being concatenated and gives an
interractive output.
The errors are now send to stderr.
Handle differently variables that are exported in `vars.inc.mk` from the
ones that should not.
This is needed for the upcoming variables change that should also be
removed from `vars.inc.mk` right now.
Keeping the old behavior will help migrating other variables more easily
by keeping them only exported in vars.inc.mk in the first time.
Check that some variables are not exported in the build system.
This should track variables that managed to not be exported anymore so
that they do not reappear in a BSP.
It is not a whitelist but just a way to keep things cleaned in the
future.
Add a script to execute sanity checks on build system files.
It should prevent bad patterns to re-appear after being cleaned.
Currently adds a check for using the content of `FEATURES` instead of
`USEMODULE`.
Modules should not check the content of FEATURES_PROVIDED/_REQUIRED/OPTIONAL
Handling specific behaviors/dependencies should by checking the content of:
* `USEMODULE`
* maybe `FEATURES_USED` if it is not a module (== not a periph_)