Compiling MESS is the same process as building MAME, but after the
make command you add
TARGET=mess. Read on for step-by-step instructions.
Note: the compile environment used for MESS has changed several times over the years. If you are trying to compile an old version, refer to previous versions of this document:
Download the build tools installer and perform the installation (this may take some time).
buildtools.bat (plain) or
cmder.exe (fancy) to get a command-line environment.
Then run the following commands to install mingw:
For 32 bit OS:
install-mingw32For 64 bit OS:
Install SDL (optional):
Install QT (optional, only needed if you want to compile the QT-based debugger interface):
Starting with version 0.162, MESS is included in the MAME source tree, so download the latest MAME source release from the release page and extract it into an appropriate directory, or clone the GitHub repository:
git clone https://github.com/mamedev/mame.git
Note that the latest git revision may not necessarily work or even compile!
You are now ready to compile MESS. To do so, change to the directory where you installed the MAME sources using the cd command and drive letters. For example:
C:\>D: D:\>cd mess D:\mess>
To start the build process, type
make TARGET=mess (Note capitalization! It will not work if you capitalize MESS here)
D:\mess>make TARGET=mess mkdir.exe -p obj/windows/mess mkdir.exe -p obj/windows/mess/build mkdir.exe -p obj/windows/mess/emu/audio mkdir.exe -p obj/windows/mess/emu/cpu mkdir.exe -p obj/windows/mess/emu/cpu/apexc ...
This builds the code and creates the mess executables…
When it's finished, you will have a new executable,
mess64.exe for 64-bit).
You will need to create MESS's config files before running, to do that, type
mess -cc (or
You have now fully compiled MESS, have fun! :)
To compile the MESS tools (chdman, imgtool, etc.), use
If you are building on a windows platform and you want to build the mess.chm help file (you will need to have installed the HTML Help Workshop), type:
D:\mess>make mess.chm TARGET=mess
To compile a symbols-enabled version for backtracing add
D:\mess>make TARGET=mess SYMBOLS=1
Once you've set up the source, building MESS on Linux or other UNIX-based systems is simple (assuming you have the appropriate packages installed for make, gcc, etc.):
$ make TARGET=mess
To compile the MESS tools (chdman, imgtool, etc.), add
$ make TARGET=mess tools
MESS does not provide a 'make install' target at this time; binaries are placed in the top-level MESS directory.