The built-in pattern rule for compiling a C++ source file already
considers CXXFLAGS, so this default behaviour is exactly what we want.
This Makefile really is now stripped to its bare form.
Made version and commit variables static, and local to the version
display function. Previously, they would be globals, and as such would
collide with those from linked shared libraries. Now, all project types
will have them local.