GH #36: 'distclean' requires 3 traversals of project tree