makefile has changed.
The concept may easily be migrated to other builds. I just don't have
the time to test other builds right now.
The downside of the approach is that you have to force a build stage run
by deleting the build/projects folder. This however is a lot less
frequent than normal "make".
USE_QT: Compile the QT Debugger. Default is USE_QT=1 (except macosx),
use USE_QT=0 to disable.
LDOPTS: Optional LDFLAGs.
These are mainly used for cross compilation. The following will compile
a windows SDL build without QT debugger on linux:
make TARGETOS=windows PTR64=1 OSD=sdl OS=linux \
OVERRIDE_CC="@x86_64-w64-mingw32-gcc" \
OVERRIDE_CXX="@x86_64-w64-mingw32-g++" \
OVERRIDE_LD="x86_64-w64-mingw32-g++" \
WINDRES="x86_64-w64-mingw32-windres" \
USE_QT=0 \
ARCHOPTS="-idirafter ${MINGW64DIR}/x86_64-w64-mingw32/include/ \
-I${MINGW64DIR}/Qt/include/ -v" SUBTARGET=tiny MINGW64=/usr \ \
LDOPTS="-L/mnt/mfhome/andre/mame/w64crosslibs"
differently with different OSDs
Switch back to building for all OSDs in common directory
Move more OSD-specific stuff into OSD scripts
It still isn't completely safe to be building all OSD into same directory
Common OSD "module" files, e.g. debuggers and renderers, build with
different options for each OSD. It works at the moment, but you will end
up with slightly different executables depending on the order you build
OSDs.
make TARGET=mess -j19
will generate all needed files and build MESS, while developing you can use
make TARGET=mess COMPILE=1 -j19
to prevent rebuilding of make files.
Build system have automatic generate of dependencies so will do incremental builds fine.
make clean
will remove all generated files/projects and obj files
- BGFX library is set in windows.mak and sdl.mak now. This ensures the
library is only build when needed.
This is necessary to be able to build MAME on systems without opengl
support.
Support was added for an optional BIN location for executables. The
default is still the root folder. Setting BIN=bin e.g. will put
executables in bin.