what's the correct way to get rid of them with make?
The "correct" way is not to generate them in the first place.
Apart from that, the only way to get rid of them is to add another
line to the clean target in the top level Makefile.in (and the one in
the mk subdirectory).
should 'make distclean' or 'make clean' delete them too?
Yes.
"clean" should delete almost everything; "distclean" also deletes
files which are generated by configure (which includes the Makefile,
so you can't make anything after distclean), and "maintainer-clean"
also deletes files which are generated by lex/yacc (distclean leaves
them behind, resulting in a source tree which can be built without
requiring lex/yacc).