Not all operating systems name the GNU Make `make`. FreeBSD e.g. uses a
different dialect of Make, that seems to be incompatible with GNU make.
(I wasn't able to get `make` run, but `gmake` works).
This allows our test scripts to be configured via the environment
variable `MAKE` to point to a different make command.
We are at a point were building all of RIOT takes massive amounts of
storage. Since my machine runs full after only compiling ~20
applications (I have ~170 GB free storage if the RIOT repo is clean).
Thus the easiest solution for the compile tests is to just clean-up the
mess they made ;-).
`compile_test.py` fails if there are empty folders in `/examples` or
`tests`. This is not a problem for Travis, because it always has a clean
repo.
For the average users there is a problem if they work on multiple
branches and one branch has new examples or tests. If they don't delete
the residual `bin` folders, then `compile_test.py` will print out these
applications as having failed.
This change checks for the existence of a `Makefile` in the application
folder. Also I added a progress indicator, because I like it. :)
Having many tests is quite futile if they aren't executed once in a
while<sup>[citation needed]</sup>.
Alas, this is not the purpose of this PR. This PR adds the tool
"compile_test.py", which executes `make buildtest` for all applications
in `examples` and `tests`, and prints a comprehensive list of the
results.