compile files only if they have been changed