Yes, makefiles can be written to do just that. The secret is to define rules for separately named subtargets.
Update: re how much to test, testing only changed file impact is fine for unit testing of changes. But when you are regression testing them, sundial's comments below will of course apply. But even if that were true, you still don't need to rebuild targets whose dependencies haven't changed. The exception is of course where you updated the makefile, then you have to clean and rebuild everything!