You can simply run mkgmap like that:
>java -jar mkgmap.jar file.mp
Mkgmap is quite compatible with cgpsmapper, but there are some missing features. Main problem is that multiple "data" lines aren't processed correctly. You have to convert all objects with multiple "data" into simpler versions with single "data".
Line "numbers" doesn't support address (country, region, city, zip) and there is no support for double addresses for a single road. Road signs are missing. There is no equivalent of "MG=Y" or "Numbering=Y". You either have a routable map or no addressing at all (but you can remove routing after creating img). I'm not sure about sections like [Countries], [Regions], [Cities] or [Dictionary], probably not supported.
Cpreview functionality is build in, you can create full mapset with a following command:
>java -jar mkgamp.jar --tdb *.img
or simply in a single pass:
>java -jar mkgmap.jar --tdb *.mp
Cpreview parameters, that comes in control file (FID, map name), are replaced with command line options. The same goes for some directives from mp header. See doc for command line options, doc comes with mkgmap.
Mkgmap supports multithreading, last command example can compile multiple mp sources simultaneously. It runs with 64-bit and 32-bit java, but 64-bit version have access to more RAM memory, which helps.