- Do not use wildcards to generate the list of sources (this has many
problems and is discouraged, especially for bigger problems)
- Specify the toolchain to be used through implicit variables
* mingw32 vs. i686-w64-mingw32
* g++ vs clang++
- Use g++ binary instead of gcc
- automatically generate dependencies (header files) for compilation