more makefile tweaks to keep targets from being run when they don't need to be