Modular Makefile that doesn't have to rebuild everything each time