Replace the MAME GENie project generator with a hand-maintained
Makefile.common + Makefile.libretro. Sources, defines and include paths
were extracted from the project files GENie emitted for TARGET=mame
SUBTARGET=mess SOURCES=src/mame/drivers/cdi.cpp OSD=retro (libretro64
config) and are now static.
- Formerly-generated files are committed under gen/: driver list
(drivlist.cpp), version.cpp, compiled layouts (cdi.lh + six emu
layouts), UI fonts (uismall.fh, uicmd14.fh), has_*.h. No python or
lua is required at build time.
- Per-group defines/includes are preserved exactly via target-specific
GRPFLAGS/GRPINCS (flac must not see src/emu/config.h; softfloat and
softfloat3 .c sources keep being compiled by the C++ driver).
- The exe-objects-plus-static-archives link layout is preserved:
several objects (legscsi, mfmhd, parts of ui) carry references to
devices outside this build and are only dead weight while archive
member selection drops them, as it did under GENie.
- retromain.cpp was compiled twice under GENie (mess exe + osd_retro
lib); the mess-project object won the link, so it is kept only there
with the same effective defines.
- asmjit is not referenced by anything in this build (no DRC sources
are compiled) and is removed along with the unused catch, dxsdk,
minimp3 and portmidi trees, GENie itself, scripts/, projects/,
android-project/ and the top-level makefile.
- osdlib.h: add missing <cstdint> (gcc 13).
Verified on linux x86_64: full build from a clean checkout of this
tree links same_cdi_libretro.so with -Wl,--no-undefined; version
script exports exactly the 25 retro_* symbols; dlopen +
retro_get_system_info reports SAME_CDI 0.239 chd|iso|cue.