mirror of
https://github.com/holub/mame
synced 2025-10-07 09:25:34 +03:00
sdl.mak rewrite
- TARGETOS=freebsd may now be given on make invocation - modular approach, separate sections for opengl, x11, debugger - most target specific settings parametrized.
This commit is contained in:
parent
b21cdf8e5a
commit
ab8ac327eb
@ -33,7 +33,8 @@
|
|||||||
|
|
||||||
# NO_OPENGL = 1
|
# NO_OPENGL = 1
|
||||||
|
|
||||||
# uncomment next line to build without X11 support
|
# uncomment next line to build without X11 support (TARGETOS=unix only)
|
||||||
|
# this also implies, that no debugger will be builtin.
|
||||||
|
|
||||||
# NO_X11 = 1
|
# NO_X11 = 1
|
||||||
|
|
||||||
@ -52,9 +53,9 @@ USE_DISPATCH_GL = 1
|
|||||||
# There is no need to play with this option unless you are doing
|
# There is no need to play with this option unless you are doing
|
||||||
# active development on sdlmame or SDL.
|
# active development on sdlmame or SDL.
|
||||||
|
|
||||||
ifneq ($(TARGETOS),win32)
|
ifeq ($(TARGETOS),win32)
|
||||||
|
|
||||||
#SDL_INSTALL_ROOT = /usr/local/sdl13w32
|
#SDL_INSTALL_ROOT = /usr/local/sdl13w32
|
||||||
|
else
|
||||||
#SDL_INSTALL_ROOT = /usr/local/sdl13
|
#SDL_INSTALL_ROOT = /usr/local/sdl13
|
||||||
#SDL_INSTALL_ROOT = /usr/local/test
|
#SDL_INSTALL_ROOT = /usr/local/test
|
||||||
endif
|
endif
|
||||||
@ -84,7 +85,6 @@ ifeq ($(DISTRO),ubuntu-intrepid)
|
|||||||
# Force gcc-4.2 on ubuntu-intrepid
|
# Force gcc-4.2 on ubuntu-intrepid
|
||||||
CC = @gcc -V 4.2
|
CC = @gcc -V 4.2
|
||||||
LD = g++-4.2
|
LD = g++-4.2
|
||||||
#LDFLAGS += -lsupc++ -static-libgcc
|
|
||||||
else
|
else
|
||||||
ifeq ($(DISTRO),gcc44-generic)
|
ifeq ($(DISTRO),gcc44-generic)
|
||||||
CC = @gcc -V 4.4
|
CC = @gcc -V 4.4
|
||||||
@ -118,53 +118,54 @@ endif
|
|||||||
# compile and linking flags
|
# compile and linking flags
|
||||||
#-------------------------------------------------
|
#-------------------------------------------------
|
||||||
|
|
||||||
ifdef SYMBOLS
|
# add SDLMAME BASE_TARGETOS definitions
|
||||||
ifdef BIGENDIAN
|
|
||||||
ifeq ($(TARGETOS),macosx)
|
|
||||||
CCOMFLAGS += -mlong-branch
|
|
||||||
endif # macosx
|
|
||||||
endif # PPC
|
|
||||||
endif # SYMBOLS
|
|
||||||
|
|
||||||
# add an ARCH define
|
|
||||||
DEFS += "-DSDLMAME_ARCH=$(ARCHOPTS)" -DSYNC_IMPLEMENTATION=$(SYNC_IMPLEMENTATION)
|
|
||||||
|
|
||||||
# add SDLMAME TARGETOS definitions
|
|
||||||
|
|
||||||
ifeq ($(TARGETOS),unix)
|
ifeq ($(TARGETOS),unix)
|
||||||
|
BASE_TARGETOS = unix
|
||||||
|
SYNC_IMPLEMENTATION = tc
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(TARGETOS),linux)
|
||||||
|
BASE_TARGETOS = unix
|
||||||
SYNC_IMPLEMENTATION = tc
|
SYNC_IMPLEMENTATION = tc
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(TARGETOS),freebsd)
|
ifeq ($(TARGETOS),freebsd)
|
||||||
TARGETOS = unix
|
BASE_TARGETOS = unix
|
||||||
SYNC_IMPLEMENTATION = ntc
|
SYNC_IMPLEMENTATION = tc
|
||||||
|
DEFS += -DNO_AFFINITY_NP
|
||||||
|
# /usr/local/include is not considered a system include directory
|
||||||
|
# on FreeBSD. GL.h resides there and throws warnings
|
||||||
|
CCOMFLAGS += -isystem /usr/local/include
|
||||||
|
# No clue here. There is a popmessage(NULL) in uimenu.c which
|
||||||
|
# triggers a non-null format warning on FreeBSD only.
|
||||||
|
CCOMFLAGS += -Wno-format
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(TARGETOS),openbsd)
|
ifeq ($(TARGETOS),openbsd)
|
||||||
TARGETOS = unix
|
BASE_TARGETOS = unix
|
||||||
SYNC_IMPLEMENTATION = ntc
|
SYNC_IMPLEMENTATION = ntc
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(TARGETOS),solaris)
|
ifeq ($(TARGETOS),solaris)
|
||||||
DEFS += -DNO_AFFINITY_NP -DNO_DEBUGGER -DSDLMAME_X11 -DSDLMAME_UNIX
|
BASE_TARGETOS = unix
|
||||||
|
DEFS += -DNO_AFFINITY_NP
|
||||||
SYNC_IMPLEMENTATION = tc
|
SYNC_IMPLEMENTATION = tc
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(TARGETOS),unix)
|
|
||||||
DEFS += -DSDLMAME_UNIX
|
|
||||||
ifndef NO_X11
|
|
||||||
DEFS += -DSDLMAME_X11
|
|
||||||
else
|
|
||||||
DEFS += -DSDLMAME_NO_X11 -DNO_DEBUGGER
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(TARGETOS),macosx)
|
ifeq ($(TARGETOS),macosx)
|
||||||
|
BASE_TARGETOS = macosx
|
||||||
DEFS += -DSDLMAME_UNIX -DSDLMAME_MACOSX
|
DEFS += -DSDLMAME_UNIX -DSDLMAME_MACOSX
|
||||||
|
DEBUGOBJS = $(SDLOBJ)/debugosx.o
|
||||||
SYNC_IMPLEMENTATION = ntc
|
SYNC_IMPLEMENTATION = ntc
|
||||||
|
SDLMAIN = $(SDLOBJ)/SDLMain_tmpl.o
|
||||||
MAINLDFLAGS = -Xlinker -all_load
|
MAINLDFLAGS = -Xlinker -all_load
|
||||||
|
NO_X11 = 1
|
||||||
ifdef BIGENDIAN
|
ifdef BIGENDIAN
|
||||||
PPC=1
|
PPC=1
|
||||||
|
ifdef SYMBOLS
|
||||||
|
CCOMFLAGS += -mlong-branch
|
||||||
|
endif # SYMBOLS
|
||||||
endif
|
endif
|
||||||
ifdef PPC
|
ifdef PPC
|
||||||
ifdef PTR64
|
ifdef PTR64
|
||||||
@ -186,17 +187,40 @@ endif
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(TARGETOS),win32)
|
ifeq ($(TARGETOS),win32)
|
||||||
DEFS += -DSDLMAME_WIN32 -DNO_DEBUGGER -DX64_WINDOWS_ABI
|
BASE_TARGETOS = win32
|
||||||
SYNC_IMPLEMENTATION = win32
|
SYNC_IMPLEMENTATION = win32
|
||||||
|
NO_DEBUGGER = 1
|
||||||
|
NO_X11 = 1
|
||||||
|
DEFS += -DSDLMAME_WIN32 -DX64_WINDOWS_ABI
|
||||||
|
|
||||||
|
LIBGL = -lopengl32
|
||||||
|
|
||||||
|
SDLMAIN = $(SDLOBJ)/main.o
|
||||||
|
DEFS += -Dmain=utf8_main
|
||||||
|
|
||||||
|
# enable UNICODE flags
|
||||||
|
DEFS += -DUNICODE -D_UNICODE
|
||||||
|
LDFLAGS += -municode
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(TARGETOS),os2)
|
ifeq ($(TARGETOS),os2)
|
||||||
DEFS += -DSDLMAME_OS2 -DNO_DEBUGGER
|
BASE_TARGETOS = os2
|
||||||
|
DEFS += -DSDLMAME_OS2
|
||||||
SYNC_IMPLEMENTATION = os2
|
SYNC_IMPLEMENTATION = os2
|
||||||
|
NO_DEBUGGER = 1
|
||||||
|
NO_X11 = 1
|
||||||
# OS/2 can't have OpenGL (aww)
|
# OS/2 can't have OpenGL (aww)
|
||||||
NO_OPENGL = 1
|
NO_OPENGL = 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
#-------------------------------------------------
|
||||||
|
# Sanity checks
|
||||||
|
#-------------------------------------------------
|
||||||
|
|
||||||
|
ifeq ($(BASE_TARGETOS),)
|
||||||
|
$(error $(TARGETOS) not supported !)
|
||||||
|
endif
|
||||||
|
|
||||||
#-------------------------------------------------
|
#-------------------------------------------------
|
||||||
# object and source roots
|
# object and source roots
|
||||||
#-------------------------------------------------
|
#-------------------------------------------------
|
||||||
@ -206,8 +230,6 @@ SDLOBJ = $(OBJ)/osd/$(OSD)
|
|||||||
|
|
||||||
OBJDIRS += $(SDLOBJ)
|
OBJDIRS += $(SDLOBJ)
|
||||||
|
|
||||||
SDLMAIN =
|
|
||||||
|
|
||||||
#-------------------------------------------------
|
#-------------------------------------------------
|
||||||
# OSD core library
|
# OSD core library
|
||||||
#-------------------------------------------------
|
#-------------------------------------------------
|
||||||
@ -215,8 +237,8 @@ SDLMAIN =
|
|||||||
OSDCOREOBJS = \
|
OSDCOREOBJS = \
|
||||||
$(SDLOBJ)/strconv.o \
|
$(SDLOBJ)/strconv.o \
|
||||||
$(SDLOBJ)/sdldir.o \
|
$(SDLOBJ)/sdldir.o \
|
||||||
$(SDLOBJ)/sdlfile.o \
|
$(SDLOBJ)/sdlfile.o \
|
||||||
$(SDLOBJ)/sdlos_$(TARGETOS).o \
|
$(SDLOBJ)/sdlos_$(BASE_TARGETOS).o \
|
||||||
$(SDLOBJ)/sdlsync_$(SYNC_IMPLEMENTATION).o \
|
$(SDLOBJ)/sdlsync_$(SYNC_IMPLEMENTATION).o \
|
||||||
$(SDLOBJ)/sdlwork.o
|
$(SDLOBJ)/sdlwork.o
|
||||||
|
|
||||||
@ -226,135 +248,95 @@ OSDOBJS = \
|
|||||||
$(SDLMAIN) \
|
$(SDLMAIN) \
|
||||||
$(SDLOBJ)/sdlmain.o \
|
$(SDLOBJ)/sdlmain.o \
|
||||||
$(SDLOBJ)/input.o \
|
$(SDLOBJ)/input.o \
|
||||||
$(SDLOBJ)/sound.o $(SDLOBJ)/video.o \
|
$(SDLOBJ)/sound.o \
|
||||||
$(SDLOBJ)/drawsdl.o $(SDLOBJ)/window.o $(SDLOBJ)/output.o \
|
$(SDLOBJ)/video.o \
|
||||||
|
$(SDLOBJ)/drawsdl.o \
|
||||||
|
$(SDLOBJ)/window.o \
|
||||||
# $(SDLMAIN) \
|
$(SDLOBJ)/output.o
|
||||||
|
|
||||||
|
# Add SDL1.3 support
|
||||||
ifdef SDL_INSTALL_ROOT
|
ifdef SDL_INSTALL_ROOT
|
||||||
OSDOBJS += $(SDLOBJ)/draw13.o
|
OSDOBJS += $(SDLOBJ)/draw13.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# add an ARCH define
|
||||||
|
DEFS += "-DSDLMAME_ARCH=$(ARCHOPTS)" -DSYNC_IMPLEMENTATION=$(SYNC_IMPLEMENTATION)
|
||||||
|
|
||||||
|
#-------------------------------------------------
|
||||||
|
# Generic defines and additions
|
||||||
|
#-------------------------------------------------
|
||||||
|
|
||||||
|
OSDCLEAN = sdlclean
|
||||||
|
|
||||||
# add the debugger includes
|
# add the debugger includes
|
||||||
CCOMFLAGS += -Isrc/debug
|
CCOMFLAGS += -Isrc/debug
|
||||||
|
|
||||||
# add the prefix file
|
# add the prefix file
|
||||||
CCOMFLAGS += -include $(SDLSRC)/sdlprefix.h
|
CCOMFLAGS += -include $(SDLSRC)/sdlprefix.h
|
||||||
|
|
||||||
ifdef NO_OPENGL
|
|
||||||
DEFS += -DUSE_OPENGL=0
|
|
||||||
LIBGL=
|
|
||||||
else
|
|
||||||
OSDOBJS += $(SDLOBJ)/drawogl.o $(SDLOBJ)/gl_shader_tool.o $(SDLOBJ)/gl_shader_mgr.o
|
|
||||||
DEFS += -DUSE_OPENGL=1
|
|
||||||
ifeq ($(TARGETOS),win32)
|
|
||||||
LIBGL=-lGL
|
|
||||||
else
|
|
||||||
ifdef USE_DISPATCH_GL
|
|
||||||
DEFS += -DUSE_DISPATCH_GL=1
|
|
||||||
else
|
|
||||||
LIBGL=-lGL
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
#-------------------------------------------------
|
#-------------------------------------------------
|
||||||
# specific configurations
|
# BASE_TARGETOS specific configurations
|
||||||
#-------------------------------------------------
|
#-------------------------------------------------
|
||||||
|
|
||||||
# Unix: add the necessary libraries
|
#-------------------------------------------------
|
||||||
ifeq ($(TARGETOS),unix)
|
# Unix
|
||||||
|
#-------------------------------------------------
|
||||||
|
ifeq ($(BASE_TARGETOS),unix)
|
||||||
|
|
||||||
|
DEFS += -DSDLMAME_UNIX
|
||||||
|
DEBUGOBJS = $(SDLOBJ)/debugwin.o $(SDLOBJ)/dview.o $(SDLOBJ)/debug-sup.o $(SDLOBJ)/debug-intf.o
|
||||||
|
LIBGL = -lGL
|
||||||
|
|
||||||
# override for preprocessor weirdness on PPC Linux
|
# override for preprocessor weirdness on PPC Linux
|
||||||
ifdef powerpc
|
ifdef powerpc
|
||||||
CCOMFLAGS += -Upowerpc
|
CFLAGS += -Upowerpc
|
||||||
endif
|
|
||||||
|
|
||||||
ifndef USE_DISPATCH_GL
|
|
||||||
ifdef MESA_INSTALL_ROOT
|
|
||||||
LIBS += -L$(MESA_INSTALL_ROOT)/lib
|
|
||||||
LDFLAGS += -Wl,-rpath=$(MESA_INSTALL_ROOT)/lib
|
|
||||||
CCOMFLAGS += -I$(MESA_INSTALL_ROOT)/include
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifndef SDL_INSTALL_ROOT
|
ifndef SDL_INSTALL_ROOT
|
||||||
CCOMFLAGS += `sdl-config --cflags`
|
CCOMFLAGS += `sdl-config --cflags`
|
||||||
LIBS += -lm `sdl-config --libs` $(LIBGL)
|
LIBS += -lm `sdl-config --libs`
|
||||||
else
|
else
|
||||||
CCOMFLAGS += -I$(SDL_INSTALL_ROOT)/include -D_GNU_SOURCE=1
|
CCOMFLAGS += -I$(SDL_INSTALL_ROOT)/include -D_GNU_SOURCE=1
|
||||||
#LIBS += -L/opt/intel/cce/9.1.051/lib -limf -L$(SDL_INSTALL_ROOT)/lib -Wl,-rpath,$(SDL_INSTALL_ROOT)/lib -lSDL $(LIBGL)
|
LIBS += -lm -L$(SDL_INSTALL_ROOT)/lib -Wl,-rpath,$(SDL_INSTALL_ROOT)/lib -lSDL
|
||||||
LIBS += -lm -L$(SDL_INSTALL_ROOT)/lib -Wl,-rpath,$(SDL_INSTALL_ROOT)/lib -lSDL -lpthread $(LIBGL)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifndef NO_X11
|
ifeq ($(NO_X11),1)
|
||||||
LIBS += -lX11 -lXinerama
|
NO_DEBUGGER = 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# the new debugger relies on GTK+ in addition to the base SDLMAME needs
|
|
||||||
# Non-X11 builds can not use the debugger
|
|
||||||
ifndef NO_X11
|
|
||||||
OSDCOREOBJS += $(SDLOBJ)/debugwin.o $(SDLOBJ)/dview.o $(SDLOBJ)/debug-sup.o $(SDLOBJ)/debug-intf.o
|
|
||||||
CCOMFLAGS += `pkg-config --cflags gtk+-2.0` `pkg-config --cflags gconf-2.0`
|
|
||||||
LIBS += `pkg-config --libs gtk+-2.0` `pkg-config --libs gconf-2.0`
|
|
||||||
CCOMFLAGS += -DGTK_DISABLE_DEPRECATED
|
|
||||||
else
|
|
||||||
OSDCOREOBJS += $(SDLOBJ)/debugwin.o
|
|
||||||
endif # NO_X11
|
|
||||||
|
|
||||||
# make sure we can find X headers
|
|
||||||
CCOMFLAGS += -I/usr/X11/include -I/usr/X11R6/include -I/usr/openwin/include
|
|
||||||
# some systems still put important things in a different prefix
|
|
||||||
ifndef NO_X11
|
|
||||||
LIBS += -L/usr/X11/lib -L/usr/X11R6/lib -L/usr/openwin/lib
|
|
||||||
endif
|
|
||||||
endif # Unix
|
endif # Unix
|
||||||
|
|
||||||
# Solaris: add the necessary object
|
#-------------------------------------------------
|
||||||
ifeq ($(TARGETOS),solaris)
|
# Windows
|
||||||
OSDCOREOBJS += $(SDLOBJ)/debugwin.o
|
#-------------------------------------------------
|
||||||
|
|
||||||
# explicitly add some libs on Solaris
|
|
||||||
LIBS += -lSDL -lX11 -lXinerama -lm
|
|
||||||
endif # Solaris
|
|
||||||
|
|
||||||
# Win32: add the necessary libraries
|
# Win32: add the necessary libraries
|
||||||
ifeq ($(TARGETOS),win32)
|
ifeq ($(BASE_TARGETOS),win32)
|
||||||
|
|
||||||
|
# Add to osdcoreobjs so tools will build
|
||||||
|
OSDCOREOBJS += $(SDLMAIN)
|
||||||
|
|
||||||
ifdef SDL_INSTALL_ROOT
|
ifdef SDL_INSTALL_ROOT
|
||||||
CCOMFLAGS += -I$(SDL_INSTALL_ROOT)/include
|
CCOMFLAGS += -I$(SDL_INSTALL_ROOT)/include
|
||||||
LIBS += -L$(SDL_INSTALL_ROOT)/lib
|
LIBS += -L$(SDL_INSTALL_ROOT)/lib
|
||||||
# -Wl,-rpath,$(SDL_INSTALL_ROOT)/lib -lSDL $(LIBGL)
|
#-Wl,-rpath,$(SDL_INSTALL_ROOT)/lib
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# LIBS += -lmingw32 -lSDL
|
||||||
|
# Static linking
|
||||||
|
|
||||||
OSDCOREOBJS += $(SDLOBJ)/main.o
|
|
||||||
SDLMAIN = $(SDLOBJ)/main.o
|
|
||||||
DEFS += -Dmain=utf8_main
|
|
||||||
|
|
||||||
# enable UNICODE flags
|
|
||||||
DEFS += -DUNICODE -D_UNICODE
|
|
||||||
LDFLAGS += -municode
|
|
||||||
|
|
||||||
# at least compile some stubs to link it
|
|
||||||
OSDCOREOBJS += $(SDLOBJ)/debugwin.o
|
|
||||||
|
|
||||||
#LIBS += -lmingw32 -lSDL -lopengl32
|
|
||||||
|
|
||||||
# ensure we statically link the gcc runtime lib
|
|
||||||
LDFLAGS += -static-libgcc
|
LDFLAGS += -static-libgcc
|
||||||
|
|
||||||
# Static linking of SDL
|
|
||||||
LIBS += -Wl,-Bstatic -lSDL -Wl,-Bdynamic
|
LIBS += -Wl,-Bstatic -lSDL -Wl,-Bdynamic
|
||||||
LIBS += -lopengl32 -luser32 -lgdi32 -lddraw -ldsound -ldxguid -lwinmm -ladvapi32 -lcomctl32 -lshlwapi
|
LIBS += -luser32 -lgdi32 -lddraw -ldsound -ldxguid -lwinmm -ladvapi32 -lcomctl32 -lshlwapi
|
||||||
|
|
||||||
endif # Win32
|
endif # Win32
|
||||||
|
|
||||||
# Mac OS X: add the necessary libraries
|
#-------------------------------------------------
|
||||||
ifeq ($(TARGETOS),macosx)
|
# Mac OS X
|
||||||
OSDCOREOBJS += $(SDLOBJ)/osxutils.o
|
#-------------------------------------------------
|
||||||
OSDOBJS += $(SDLOBJ)/SDLMain_tmpl.o
|
|
||||||
|
ifeq ($(BASE_TARGETOS),macosx)
|
||||||
|
#OSDCOREOBJS += $(SDLOBJ)/osxutils.o
|
||||||
|
|
||||||
ifndef MACOSX_USE_LIBSDL
|
ifndef MACOSX_USE_LIBSDL
|
||||||
# Compile using framework (compile using libSDL is the exception)
|
# Compile using framework (compile using libSDL is the exception)
|
||||||
@ -370,47 +352,111 @@ CCOMFLAGS += `sdl-config --cflags | sed 's:/SDL::'` -DNO_SDL_GLEXT
|
|||||||
LIBS += `sdl-config --libs | sed 's/-lSDLmain//'` -lpthread
|
LIBS += `sdl-config --libs | sed 's/-lSDLmain//'` -lpthread
|
||||||
endif
|
endif
|
||||||
|
|
||||||
SDLMAIN = $(SDLOBJ)/SDLMain_tmpl.o
|
|
||||||
|
|
||||||
# the newest debugger uses Cocoa
|
|
||||||
OSDOBJS += $(SDLOBJ)/debugosx.o
|
|
||||||
endif # Mac OS X
|
endif # Mac OS X
|
||||||
|
|
||||||
# OS2: add the necessary libraries
|
#-------------------------------------------------
|
||||||
ifeq ($(TARGETOS),os2)
|
# OS/2
|
||||||
OSDCOREOBJS += $(SDLOBJ)/debugwin.o
|
#-------------------------------------------------
|
||||||
|
|
||||||
|
ifeq ($(BASE_TARGETOS),os2)
|
||||||
|
|
||||||
CCOMFLAGS += `sdl-config --cflags`
|
CCOMFLAGS += `sdl-config --cflags`
|
||||||
LIBS += `sdl-config --libs`
|
LIBS += `sdl-config --libs`
|
||||||
|
|
||||||
|
endif # OS2
|
||||||
|
|
||||||
|
#-------------------------------------------------
|
||||||
|
# Debugging
|
||||||
|
#-------------------------------------------------
|
||||||
|
|
||||||
|
ifeq ($(NO_DEBUGGER),1)
|
||||||
|
DEFS += -DNO_DEBUGGER
|
||||||
|
# debugwin compiles into a stub ...
|
||||||
|
OSDOBJS += $(SDLOBJ)/debugwin.o
|
||||||
|
else
|
||||||
|
OSDOBJS += $(DEBUGOBJS)
|
||||||
|
endif # NO_DEBUGGER
|
||||||
|
|
||||||
|
#-------------------------------------------------
|
||||||
|
# OPENGL
|
||||||
|
#-------------------------------------------------
|
||||||
|
|
||||||
|
ifeq ($(NO_OPENGL),1)
|
||||||
|
DEFS += -DUSE_OPENGL=0
|
||||||
|
else
|
||||||
|
OSDOBJS += $(SDLOBJ)/drawogl.o $(SDLOBJ)/gl_shader_tool.o $(SDLOBJ)/gl_shader_mgr.o
|
||||||
|
DEFS += -DUSE_OPENGL=1
|
||||||
|
ifeq ($(USE_DISPATCH_GL),1)
|
||||||
|
DEFS += -DUSE_DISPATCH_GL=1
|
||||||
|
else
|
||||||
|
LIBS += $(LIBGL)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(USE_DISPATCH_GL),1)
|
||||||
|
ifdef MESA_INSTALL_ROOT
|
||||||
|
LIBS += -L$(MESA_INSTALL_ROOT)/lib
|
||||||
|
LDFLAGS += -Wl,-rpath=$(MESA_INSTALL_ROOT)/lib
|
||||||
|
CCOMFLAGS += -I$(MESA_INSTALL_ROOT)/include
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
#-------------------------------------------------
|
||||||
|
# X11
|
||||||
|
#-------------------------------------------------
|
||||||
|
|
||||||
|
ifeq ($(NO_X11),1)
|
||||||
|
DEFS += -DSDLMAME_NO_X11
|
||||||
|
else
|
||||||
|
# Default libs
|
||||||
|
DEFS += -DSDLMAME_X11
|
||||||
|
LIBS += -lX11 -lXinerama
|
||||||
|
|
||||||
|
# the new debugger relies on GTK+ in addition to the base SDLMAME needs
|
||||||
|
# Non-X11 builds can not use the debugger
|
||||||
|
CCOMFLAGS += `pkg-config --cflags gtk+-2.0` `pkg-config --cflags gconf-2.0`
|
||||||
|
LIBS += `pkg-config --libs gtk+-2.0` `pkg-config --libs gconf-2.0`
|
||||||
|
CCOMFLAGS += -DGTK_DISABLE_DEPRECATED
|
||||||
|
|
||||||
|
# some systems still put important things in a different prefix
|
||||||
|
LIBS += -L/usr/X11/lib -L/usr/X11R6/lib -L/usr/openwin/lib
|
||||||
|
# make sure we can find X headers
|
||||||
|
CCOMFLAGS += -I/usr/X11/include -I/usr/X11R6/include -I/usr/openwin/include
|
||||||
|
endif # NO_X11
|
||||||
|
|
||||||
|
#-------------------------------------------------
|
||||||
|
# Dependencies
|
||||||
|
#-------------------------------------------------
|
||||||
|
|
||||||
|
# due to quirks of using /bin/sh, we need to explicitly specify the current path
|
||||||
|
CURPATH = ./
|
||||||
|
|
||||||
|
ifeq ($(BASE_TARGETOS),os2)
|
||||||
# to avoid name clash of '_brk'
|
# to avoid name clash of '_brk'
|
||||||
$(OBJ)/emu/cpu/h6280/6280dasm.o : CDEFS += -D__STRICT_ANSI__
|
$(OBJ)/emu/cpu/h6280/6280dasm.o : CDEFS += -D__STRICT_ANSI__
|
||||||
endif # OS2
|
endif # OS2
|
||||||
|
|
||||||
OSDCLEAN = sdlclean
|
|
||||||
|
|
||||||
TOOLS += \
|
|
||||||
testkeys$(EXE)
|
|
||||||
|
|
||||||
# drawSDL depends on the core software renderer, so make sure it exists
|
# drawSDL depends on the core software renderer, so make sure it exists
|
||||||
$(SDLOBJ)/drawsdl.o : $(SRC)/emu/rendersw.c
|
$(SDLOBJ)/drawsdl.o : $(SRC)/emu/rendersw.c $(SDLSRC)/drawogl.c $(SDLSRC)/texcopy.c
|
||||||
|
|
||||||
$(SDLOBJ)/drawogl.o : $(SDLSRC)/drawogl.c $(SDLSRC)/texcopy.c
|
# draw13 depends on blit13.h
|
||||||
|
|
||||||
# draw13 depends
|
|
||||||
$(SDLOBJ)/draw13.o : $(SDLSRC)/blit13.h
|
$(SDLOBJ)/draw13.o : $(SDLSRC)/blit13.h
|
||||||
|
|
||||||
# due to quirks of using /bin/sh, we need to explicitly specify the current path
|
#$(OSDCOREOBJS): $(SDLSRC)/sdl.mak
|
||||||
CURPATH = ./
|
|
||||||
|
#$(OSDOBJS): $(SDLSRC)/sdl.mak
|
||||||
|
|
||||||
$(LIBOCORE): $(OSDCOREOBJS)
|
$(LIBOCORE): $(OSDCOREOBJS)
|
||||||
|
|
||||||
$(LIBOSD): $(OSDOBJS)
|
$(LIBOSD): $(OSDOBJS)
|
||||||
|
|
||||||
#-------------------------------------------------
|
#-------------------------------------------------
|
||||||
# testkeys
|
# Tools
|
||||||
#-------------------------------------------------
|
#-------------------------------------------------
|
||||||
|
|
||||||
|
TOOLS += \
|
||||||
|
testkeys$(EXE)
|
||||||
|
|
||||||
$(SDLOBJ)/testkeys.o: $(SDLSRC)/testkeys.c
|
$(SDLOBJ)/testkeys.o: $(SDLSRC)/testkeys.c
|
||||||
@echo Compiling $<...
|
@echo Compiling $<...
|
||||||
$(CC) $(CFLAGS) $(DEFS) -c $< -o $@
|
$(CC) $(CFLAGS) $(DEFS) -c $< -o $@
|
||||||
@ -418,12 +464,20 @@ $(SDLOBJ)/testkeys.o: $(SDLSRC)/testkeys.c
|
|||||||
TESTKEYSOBJS = \
|
TESTKEYSOBJS = \
|
||||||
$(SDLOBJ)/testkeys.o \
|
$(SDLOBJ)/testkeys.o \
|
||||||
|
|
||||||
testkeys$(EXE): $(TESTKEYSOBJS) $(LIBUTIL) $(LIBOCORE)
|
testkeys$(EXE): $(TESTKEYSOBJS) $(LIBUTIL) $(LIBOCORE) $(SDLMAIN)
|
||||||
@echo Linking $@...
|
@echo Linking $@...
|
||||||
$(LD) $(LDFLAGS) $^ $(LIBS) -o $@
|
$(LD) $(LDFLAGS) $^ $(LIBS) -o $@
|
||||||
|
|
||||||
sdlclean:
|
#-------------------------------------------------
|
||||||
rm -f .depend
|
# clean up
|
||||||
|
#-------------------------------------------------
|
||||||
|
|
||||||
|
$(OSDCLEAN):
|
||||||
|
rm -f .depend_*
|
||||||
|
|
||||||
|
#-------------------------------------------------
|
||||||
|
# various support targets
|
||||||
|
#-------------------------------------------------
|
||||||
|
|
||||||
testlib:
|
testlib:
|
||||||
-echo LIBS: $(LIBS)
|
-echo LIBS: $(LIBS)
|
||||||
@ -431,15 +485,26 @@ testlib:
|
|||||||
-echo CORE: $(OSDCOREOBJS)
|
-echo CORE: $(OSDCOREOBJS)
|
||||||
|
|
||||||
ifneq ($(TARGETOS),win32)
|
ifneq ($(TARGETOS),win32)
|
||||||
depend:
|
BUILD_VERSION = $(shell grep 'build_version\[\] =' src/version.c | sed -e "s/.*= \"//g" -e "s/ .*//g")
|
||||||
rm -f .depend
|
DISTFILES = test_dist.sh whatsnew.txt whatsnew_$(BUILD_VERSION).txt makefile docs/ src/
|
||||||
|
EXCLUDES = -x "*/.svn/*"
|
||||||
|
|
||||||
|
zip:
|
||||||
|
zip -rq ../mame_$(BUILD_VERSION).zip $(DISTFILES) $(EXCLUDES)
|
||||||
|
|
||||||
|
DEPEND = .depend_$(EMULATOR)
|
||||||
|
|
||||||
|
$(DEPEND):
|
||||||
|
rm -f $(DEPEND)
|
||||||
@for i in `find src -name "*.c"` ; do \
|
@for i in `find src -name "*.c"` ; do \
|
||||||
echo processing $$i; \
|
echo processing $$i; \
|
||||||
mt=`echo $$i | sed -e "s/\\.c/\\.o/" -e "s!^src/!$(OBJ)/!"` ; \
|
mt=`echo $$i | sed -e "s/\\.c/\\.o/" -e "s!^src/!$(OBJ)/!"` ; \
|
||||||
g++ -MM -MT $$mt $(CDEFS) $(CCOMFLAGS) $$i 2>/dev/null \
|
g++ -MM -MT $$mt $(CDEFS) $(CCOMFLAGS) $$i 2>/dev/null \
|
||||||
| sed -e "s!$$i!!g" >> .depend ; \
|
| sed -e "s!$$i!!g" >> $(DEPEND) ; \
|
||||||
done
|
done
|
||||||
|
|
||||||
-include .depend
|
depend: $(DEPEND)
|
||||||
|
|
||||||
|
-include $(DEPEND)
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
Loading…
Reference in New Issue
Block a user