Use the power of make to manage dependencies. 
Speeds up compilation and ensures modified dependencies are always recompiled before executing the test runner.