automatic remake when given different config

- changing DEBUG, GCC32 or anything resulting in a different libdir causes
  make to remake all
- makefile now uses non-deferred variable assignment where possible