On OpenBSD 6.6, the automake-1.16.1 generated Makefile in the top-level directory of a package fails the "distcleancheck" target in the top-level Makefile because C files created from lex/flex sources are not removed by "make distclean".
automake leaves those C files in place on purpose to facilitate building a package on a system that does not have lex or flex installed. Page 73 of the automake manual for version 1.16.1 dated 26 February 2018 states: "The intermediate files generated by yacc (or lex) will be included in any distribution that is made. That way the user doesn’t need to have yacc or lex." For example, if a package has a lex source named myprog.l, automake will convert it via lex or flex to myprog.c, and leave the C file in place during a "make distclean" along with the original myprog.l file. This does not happen on other distros running automake 1.16.1 that I have tried. I am trying to work on my unibetacode package on OpenBSD. Version 1.3 is located here: http://unifoundry.com/pub/unibetacode/unibetacode-1.3/ "make distcheck" fails because three plain files remain: ./src/unibetaprep.c ./src/beta2uni.c ./src/uni2beta.c Those are generated from src/unibetaprep.l, src/beta2uni.l, and src/uni2beta.l, respectively, and they are supposed to stay. Version 2.0 of my Unibetacode package is also under http://unifoundry.com/pub/unibetacode but it won't build on OpenBSD 6.6 because (among other reasons) the latest version of libtool available through pkg_add is older than what the latest version of autoconf requires, but that is another issue. Thank you, Paul Hardy