Meanwhile I also had a look at this puzzle. It originates from the fact that the major and minor functions were/are going to be moved to another header file. Some distributions have done this, others have not (yet). I my freshly installed Ubuntu 18.04.03 compilation of mkcramf succeeds with a warning that major and minor are going to be moved.
At the moment I see not easy fix, because you have to include an extra header file (that does not exist on systems that have not moved the functions yet) at compile time, depending on what host you are on. In my view the author(s) of mkcramf also have to clean up the code, as two relatively small executables generate a plethora of warnings while compiling, although I have meanwhile added a patch the remove most (or on Ubuntu 16.04 and Mint 18.3 all) warnings,
The kernel configs used for the various receivers are located in the patches directory, which in turn have three subdirectories for enigma2, neutrino and tvheaded, so the config can be different depending on what you build. Put the changes you want/need in the config(s) you find there.
Regards,
Audioniek.