add code to detect command line and rule changes. we want to update only those
targets that needs to be rebuilt. missing intermediates will not be rebuilt if
all prerequisites are up to date