Changes to the build system:

- 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.
This commit is contained in:
couriersud 2015-02-01 18:42:03 +01:00
commit 06b848185f
24 changed files with 31 additions and 32 deletions

View File

@ -369,7 +369,6 @@ RM = @rm -f
OBJDUMP = @objdump
PYTHON = @python
#-------------------------------------------------
# form the name of the executable
#-------------------------------------------------
@ -415,7 +414,7 @@ NAME = $(TARGET)$(SUBTARGET)
endif
# fullname is prefix+name+suffix+suffix64+suffixdebug
FULLNAME ?= $(PREFIX)$(PREFIXSDL)$(NAME)$(SUFFIX)$(SUFFIX64)$(SUFFIXDEBUG)$(SUFFIXPROFILE)
FULLNAME ?= $(BIN)$(PREFIX)$(PREFIXSDL)$(NAME)$(SUFFIX)$(SUFFIX64)$(SUFFIXDEBUG)$(SUFFIXPROFILE)
# add an EXE suffix to get the final emulator name
EMULATOR = $(FULLNAME)$(EXE)
@ -708,7 +707,7 @@ endif
# this variable
#-------------------------------------------------
OBJDIRS = $(OBJ) $(OBJ)/$(TARGET)/$(SUBTARGET)
OBJDIRS += $(OBJ) $(OBJ)/$(TARGET)/$(SUBTARGET)
#-------------------------------------------------
@ -797,8 +796,8 @@ LIBS += -lsqlite3
SQLITE3_LIB =
endif
# add BGFX library
BGFX_LIB = $(OBJ)/libbgfx.a
# add BGFX library - this is one in sdl.mak / windows.mak
# BGFX_LIB = $(OBJ)/libbgfx.a
# add PortMidi MIDI library
ifeq ($(BUILD_MIDILIB),1)

View File

@ -754,7 +754,6 @@ OSDOBJS += \
$(OSDOBJ)/modules/debugger/debugwin.o \
$(OSDOBJ)/modules/debugger/debugqt.o \
#-------------------------------------------------
# BGFX
#-------------------------------------------------
@ -764,6 +763,7 @@ DEFS += -DUSE_BGFX
OSDOBJS += $(SDLOBJ)/drawbgfx.o
INCPATH += -I$(3RDPARTY)/bgfx/include -I$(3RDPARTY)/bx/include
USE_DISPATCH_GL = 0
BGFX_LIB = $(OBJ)/libbgfx.a
endif
#-------------------------------------------------
@ -790,7 +790,6 @@ INCPATH += -I$(MESA_INSTALL_ROOT)/include
endif
endif
#-------------------------------------------------
# X11
#-------------------------------------------------

View File

@ -417,6 +417,7 @@ OSDOBJS += \
# add a stub resource file
RESFILE = $(WINOBJ)/mame.res
BGFX_LIB = $(OBJ)/libbgfx.a
INCPATH += -I$(3RDPARTY)/bgfx/include -I$(3RDPARTY)/bx/include
#-------------------------------------------------
@ -472,7 +473,7 @@ $(LIBOSD): $(OSDOBJS)
# rule for making the ledutil sample
#-------------------------------------------------
LEDUTIL = ledutil$(EXE)
LEDUTIL = $(BIN)ledutil$(EXE)
TOOLS += $(LEDUTIL)
LEDUTILOBJS = \

View File

@ -51,18 +51,18 @@ OBJDIRS += \
#-------------------------------------------------
TOOLS += \
romcmp$(EXE) \
chdman$(EXE) \
jedutil$(EXE) \
unidasm$(EXE) \
ldresample$(EXE) \
ldverify$(EXE) \
regrep$(EXE) \
srcclean$(EXE) \
src2html$(EXE) \
split$(EXE) \
pngcmp$(EXE) \
nltool$(EXE) \
$(BIN)romcmp$(EXE) \
$(BIN)chdman$(EXE) \
$(BIN)jedutil$(EXE) \
$(BIN)unidasm$(EXE) \
$(BIN)ldresample$(EXE) \
$(BIN)ldverify$(EXE) \
$(BIN)regrep$(EXE) \
$(BIN)srcclean$(EXE) \
$(BIN)src2html$(EXE) \
$(BIN)split$(EXE) \
$(BIN)pngcmp$(EXE) \
$(BIN)nltool$(EXE) \
#-------------------------------------------------
@ -72,7 +72,7 @@ TOOLS += \
ROMCMPOBJS = \
$(TOOLSOBJ)/romcmp.o \
romcmp$(EXE): $(ROMCMPOBJS) $(LIBUTIL) $(ZLIB) $(EXPAT) $(LIBOCORE)
$(BIN)romcmp$(EXE): $(ROMCMPOBJS) $(LIBUTIL) $(ZLIB) $(EXPAT) $(LIBOCORE)
@echo Linking $@...
$(LD) $(LDFLAGS) $^ $(BASELIBS) -o $@
@ -85,7 +85,7 @@ romcmp$(EXE): $(ROMCMPOBJS) $(LIBUTIL) $(ZLIB) $(EXPAT) $(LIBOCORE)
CHDMANOBJS = \
$(TOOLSOBJ)/chdman.o \
chdman$(EXE): $(CHDMANOBJS) $(LIBUTIL) $(ZLIB) $(EXPAT) $(FLAC_LIB) $(7Z_LIB) $(LIBOCORE)
$(BIN)chdman$(EXE): $(CHDMANOBJS) $(LIBUTIL) $(ZLIB) $(EXPAT) $(FLAC_LIB) $(7Z_LIB) $(LIBOCORE)
$(CC) $(CDEFS) $(CFLAGS) -c $(SRC)/version.c -o $(VERSIONOBJ)
@echo Linking $@...
$(LD) $(LDFLAGS) $(VERSIONOBJ) $^ $(BASELIBS) $(FLAC_LIB) -o $@
@ -99,7 +99,7 @@ chdman$(EXE): $(CHDMANOBJS) $(LIBUTIL) $(ZLIB) $(EXPAT) $(FLAC_LIB) $(7Z_LIB) $(
JEDUTILOBJS = \
$(TOOLSOBJ)/jedutil.o \
jedutil$(EXE): $(JEDUTILOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(EXPAT)
$(BIN)jedutil$(EXE): $(JEDUTILOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(EXPAT)
@echo Linking $@...
$(LD) $(LDFLAGS) $^ $(BASELIBS) -o $@
@ -113,7 +113,7 @@ UNIDASMOBJS = \
$(TOOLSOBJ)/unidasm.o \
# TODO: Visual Studio wants $(FLAC_LIB) and $(7Z_LIB) during linking...
unidasm$(EXE): $(UNIDASMOBJS) $(LIBDASM) $(LIBEMU) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(EXPAT) $(FLAC_LIB) $(7Z_LIB)
$(BIN)unidasm$(EXE): $(UNIDASMOBJS) $(LIBDASM) $(LIBEMU) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(EXPAT) $(FLAC_LIB) $(7Z_LIB)
@echo Linking $@...
$(LD) $(LDFLAGS) $^ $(BASELIBS) -o $@
@ -126,7 +126,7 @@ unidasm$(EXE): $(UNIDASMOBJS) $(LIBDASM) $(LIBEMU) $(LIBUTIL) $(LIBOCORE) $(ZLIB
LDRESAMPLEOBJS = \
$(TOOLSOBJ)/ldresample.o \
ldresample$(EXE): $(LDRESAMPLEOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(FLAC_LIB) $(7Z_LIB) $(EXPAT)
$(BIN)ldresample$(EXE): $(LDRESAMPLEOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(FLAC_LIB) $(7Z_LIB) $(EXPAT)
@echo Linking $@...
$(LD) $(LDFLAGS) $^ $(BASELIBS) $(FLAC_LIB) -o $@
@ -139,7 +139,7 @@ ldresample$(EXE): $(LDRESAMPLEOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(FLAC_LIB) $
LDVERIFYOBJS = \
$(TOOLSOBJ)/ldverify.o \
ldverify$(EXE): $(LDVERIFYOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(FLAC_LIB) $(7Z_LIB) $(EXPAT)
$(BIN)ldverify$(EXE): $(LDVERIFYOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(FLAC_LIB) $(7Z_LIB) $(EXPAT)
@echo Linking $@...
$(LD) $(LDFLAGS) $^ $(BASELIBS) $(FLAC_LIB) -o $@
@ -152,7 +152,7 @@ ldverify$(EXE): $(LDVERIFYOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(FLAC_LIB) $(7Z_
REGREPOBJS = \
$(TOOLSOBJ)/regrep.o \
regrep$(EXE): $(REGREPOBJS) $(LIBUTIL) $(FLAC_LIB) $(LIBOCORE) $(ZLIB) $(EXPAT)
$(BIN)regrep$(EXE): $(REGREPOBJS) $(LIBUTIL) $(FLAC_LIB) $(LIBOCORE) $(ZLIB) $(EXPAT)
@echo Linking $@...
$(LD) $(LDFLAGS) $^ $(BASELIBS) -o $@
@ -165,7 +165,7 @@ regrep$(EXE): $(REGREPOBJS) $(LIBUTIL) $(FLAC_LIB) $(LIBOCORE) $(ZLIB) $(EXPAT)
SRCCLEANOBJS = \
$(TOOLSOBJ)/srcclean.o \
srcclean$(EXE): $(SRCCLEANOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(EXPAT)
$(BIN)srcclean$(EXE): $(SRCCLEANOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(EXPAT)
@echo Linking $@...
$(LD) $(LDFLAGS) $^ $(BASELIBS) -o $@
@ -178,7 +178,7 @@ srcclean$(EXE): $(SRCCLEANOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(EXPAT)
SRC2HTMLOBJS = \
$(TOOLSOBJ)/src2html.o \
src2html$(EXE): $(SRC2HTMLOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(EXPAT)
$(BIN)src2html$(EXE): $(SRC2HTMLOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(EXPAT)
@echo Linking $@...
$(LD) $(LDFLAGS) $^ $(BASELIBS) -o $@
@ -192,7 +192,7 @@ SPLITOBJS = \
$(TOOLSOBJ)/split.o \
# TODO: Visual Studio wants $(FLAC_LIB) and $(7Z_LIB) during linking...
split$(EXE): $(SPLITOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(EXPAT) $(FLAC_LIB) $(7Z_LIB)
$(BIN)split$(EXE): $(SPLITOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(EXPAT) $(FLAC_LIB) $(7Z_LIB)
@echo Linking $@...
$(LD) $(LDFLAGS) $^ $(BASELIBS) -o $@
@ -205,7 +205,7 @@ split$(EXE): $(SPLITOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(EXPAT) $(FLAC_LIB) $(
PNGCMPOBJS = \
$(TOOLSOBJ)/pngcmp.o \
pngcmp$(EXE): $(PNGCMPOBJS) $(LIBUTIL) $(FLAC_LIB) $(LIBOCORE) $(ZLIB)
$(BIN)pngcmp$(EXE): $(PNGCMPOBJS) $(LIBUTIL) $(FLAC_LIB) $(LIBOCORE) $(ZLIB)
@echo Linking $@...
$(LD) $(LDFLAGS) $^ $(BASELIBS) -o $@
@ -217,7 +217,7 @@ NLTOOLOBJS = \
$(TOOLSOBJ)/nltool.o \
$(NETLISTOBJS) \
nltool$(EXE): $(NLTOOLOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(EXPAT)
$(BIN)nltool$(EXE): $(NLTOOLOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB) $(EXPAT)
@echo Linking $@...
$(LD) $(LDFLAGS) $^ $(BASELIBS) -o $@