To support switching between configurations without doing a full rebuild, we should have config specific intermediate folders. This could be done by setting appropriate variables, such as BUILDDIR=".build/debug/", though in a config specific manner.
Looks like we already have config specific intermediate folders. At least, in terms of debug or release builds. What we're really missing is compiler specific intermediate folders.
Splitting this off from Issue #867: