SDLMAME is a port of the popular MAME. There are a few principles that guide

it's development:

1) Run on Linux/Unix, Mac OS X, and other SDL supported operating systems with
   as few changes as possible to the base Win32 code. This means we can track
   changes faster than larger more conventional ports such as MacMAME, and we
   also maintain what I call "Firefox compatibilty" where learning a major app
   only needs to be done once per application, and it then applies across many
   operating systems. If you can use the command-line Win32 MAME, you already
   know how to use SDLMAME on any platform you may encounter it on.

2) MAME developers are important. By keeping quickly up to date, we make it
   easy for people on non-Windows platforms to make and submit changes to the
   core MAME code, and we offer native implementations of MAME's multi-window
   GUI debugger on both Linux/Unix and Mac OS X.

WWW: http://rbelmont.mameworld.info/?page_id=163
This commit is contained in:
Alejandro Pulver 2007-02-25 15:17:51 +00:00
parent 2ec869f83b
commit 484a4a9439
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=185897
29 changed files with 1053 additions and 0 deletions

View file

@ -110,6 +110,7 @@
SUBDIR += quasi88
SUBDIR += raine
SUBDIR += rtc
SUBDIR += sdlmame
SUBDIR += sim
SUBDIR += sim6811
SUBDIR += ski

View file

@ -0,0 +1,45 @@
# New ports collection makefile for: sdlmame
# Date created: 2007-01-10
# Whom: alepulver
#
# $FreeBSD$
#
PORTNAME= sdlmame
PORTVERSION= 0.112u2
CATEGORIES= emulators
MASTER_SITES= http://rbelmont.mameworld.info/
DISTNAME= ${PORTNAME}${PORTVERSION:S/.//}
MAINTAINER= alepulver@FreeBSD.org
COMMENT= SDL port of the popular MAME (Multi Arcade Machine Emulator)
USE_ZIP= yes
USE_GL= yes
USE_GMAKE= yes
USE_SDL= sdl
MAKEFILE= makefile
SUB_FILES= ${PORTNAME} pkg-message
do-install:
${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${PREFIX}/bin
${MKDIR} ${PREFIX}/libexec/${PORTNAME}
.for f in mame file2str romcmp chdman jedutil
${INSTALL_PROGRAM} ${WRKSRC}/${f} ${PREFIX}/libexec/${PORTNAME}
.endfor
${MKDIR} ${DATADIR}
${INSTALL_DATA} ${WRKSRC}/ui.bdf ${DATADIR}
cd ${DATADIR} && ${MKDIR} artwork cfg comments diff ini nvram roms
.if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/*.txt ${DOCSDIR}
${CP} -R ${WRKSRC}/docs ${DOCSDIR}
.endif
post-install:
@${ECHO_CMD}
@${CAT} ${PKGMESSAGE}
@${ECHO_CMD}
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
MD5 (sdlmame0112u2.zip) = 3505ed75d9034621ae3774d1d61edc5e
SHA256 (sdlmame0112u2.zip) = 7796f76494dbf5c6d5628a22b653f7ea8730781cc1f414e4d8e2b4732d9e787a
SIZE (sdlmame0112u2.zip) = 15437796

View file

@ -0,0 +1,141 @@
--- ./makefile.orig Sun Feb 18 22:23:18 2007
+++ ./makefile Fri Feb 23 01:26:35 2007
@@ -50,7 +50,7 @@
#
# NOTE: this makefile now works for MinGW/win32 builds as well!
#
-SUBARCH = linux
+SUBARCH = freebsd
#-------------------------------------------------
@@ -61,11 +61,13 @@
# uncomment next line to include the debugger
#DEBUG = 1
+ifeq ($(ARCH),i386)
# uncomment next line to use DRC MIPS3 engine
X86_MIPS3_DRC = 1
# uncomment next line to use DRC PowerPC engine
X86_PPC_DRC = 1
+endif
#-------------------------------------------------
# specify build options; see each option below
@@ -172,8 +174,8 @@
# compiler, linker and utilities
AR = @ar
-CC = @gcc
-LD = @gcc
+CC := @$(CC)
+LD = @$(CC)
MD = -mkdir
RM = @rm -f
@@ -189,53 +191,12 @@
endif
# by default, don't compile for a specific target CPU
-NAME = $(PREFIX)$(TARGET)
-ARCH =
-
-# architecture-specific builds get extra options
-ifdef ATHLON
-NAME = $(PREFIX)$(TARGET)at
-ARCH = -march=athlon
-endif
-
-ifdef I686
-NAME = $(PREFIX)$(TARGET)pp
-ARCH = -march=pentiumpro
-endif
-
-ifdef P4
-NAME = $(PREFIX)$(TARGET)p4
-ARCH = -march=pentium4
-endif
-
-ifdef AMD64
-NAME = $(PREFIX)$(TARGET)64
-ARCH = -march=athlon64
-endif
-
-ifdef PM
-NAME = $(PREFIX)$(TARGET)pm
-ARCH = -march=pentium3 -msse2
-endif
-
-ifdef G4
-NAME = $(PREFIX)$(TARGET)g4
-ARCH = -mcpu=G4
-endif
-
-ifdef G5
-NAME = $(PREFIX)$(TARGET)g5
-ARCH = -mcpu=G5
-endif
-
-ifdef CELL
-NAME = $(PREFIX)$(TARGET)cbe
+NAME = $(TARGET)
ARCH =
-endif
# debug builds just get the 'd' suffix and nothing more
ifdef DEBUG
-NAME = $(PREFIX)$(TARGET)d
+NAME = $(TARGET)d
endif
EMULATOR = $(NAME)$(EXE)
@@ -273,7 +234,7 @@
# compile and linking flags
#-------------------------------------------------
-CFLAGS = \
+CFLAGS += \
$(OPT_FLAGS) \
-std=gnu89 \
-I$(SRC)/$(TARGET) \
@@ -284,6 +245,7 @@
-I$(SRC)/lib/util \
-I$(SRC)/osd \
-I$(SRC)/osd/$(MAMEOS) \
+ -I$(LOCALBASE)/include -I$(X11BASE)/include
ifdef MESS
CFLAGS += \
@@ -302,7 +264,7 @@
endif # PPC
endif # SYMBOLS
-CFLAGS += $(ARCH) \
+CFLAGS += \
-Wall \
-Wpointer-arith \
-Wbad-function-cast \
@@ -314,7 +276,7 @@
-Wdeclaration-after-statement
ifneq ($(OPTIMIZE),0)
-CFLAGS += -DNDEBUG $(ARCH) -fno-strict-aliasing
+CFLAGS += -DNDEBUG -fno-strict-aliasing
endif
CFLAGS += -O$(OPTIMIZE)
@@ -322,11 +284,9 @@
# extra options needed *only* for the osd files
CFLAGSOSDEPEND = $(CFLAGS)
-LDFLAGS = -WO
+LDFLAGS += -WO -L$(LOCALBASE)/lib -L$(X11BASE)/lib
-ifdef SYMBOLS
-LDFLAGS =
-else
+ifndef SYMBOLS
LDFLAGS += -s
endif

View file

@ -0,0 +1,13 @@
==============================================================================
SDLMAME has been installed.
The MAME tools are installed in "%%PREFIX%%/libexec/sdlmame"
to avoid conflicting with other MAME ports.
A wrapper script "sdlmame" has been installed. It creates a "~/.sdlmame"
directory mirroring the directory tree under "%%DATADIR%%"
when you run it for the first time, and starts the program from there. So
place all MAME files (e.g. ROMs, cheats, etc.) in "~/.sdlmame".
==============================================================================

View file

@ -0,0 +1,19 @@
#!/bin/sh
#
# The executable needs to be run from its data directory, and needs to store
# configuration in it. We therefore mirror the data directory hierarchy in
# ~/.cube, and create symlinks to the data files.
#
if [ -d ~/.sdlmame ]
then
echo "Using existing ~/.sdlmame directory."
else
echo "Creating ~/.sdlmame directory."
cd %%DATADIR%% || exit 1
find * -type d -exec mkdir -p ~/.sdlmame/{} \;
find * -type f -exec ln -s %%DATADIR%%/{} ~/.sdlmame/{} \; 2>/dev/null
fi
cd ~/.sdlmame || exit 1
exec %%PREFIX%%/libexec/sdlmame/mame "$@"

View file

@ -0,0 +1,17 @@
SDLMAME is a port of the popular MAME. There are a few principles that guide
it's development:
1) Run on Linux/Unix, Mac OS X, and other SDL supported operating systems with
as few changes as possible to the base Win32 code. This means we can track
changes faster than larger more conventional ports such as MacMAME, and we
also maintain what I call "Firefox compatibilty" where learning a major app
only needs to be done once per application, and it then applies across many
operating systems. If you can use the command-line Win32 MAME, you already
know how to use SDLMAME on any platform you may encounter it on.
2) MAME developers are important. By keeping quickly up to date, we make it
easy for people on non-Windows platforms to make and submit changes to the
core MAME code, and we offer native implementations of MAME's multi-window
GUI debugger on both Linux/Unix and Mac OS X.
WWW: http://rbelmont.mameworld.info/?page_id=163

View file

@ -0,0 +1,25 @@
@exec for i in artwork cfg comments diff ini nvram roms; do mkdir -p %D/%%DATADIR%%/${i}; done
bin/sdlmame
libexec/sdlmame/chdman
libexec/sdlmame/file2str
libexec/sdlmame/jedutil
libexec/sdlmame/mame
libexec/sdlmame/romcmp
%%PORTDOCS%%%%DOCSDIR%%/SDLMAME.txt
%%PORTDOCS%%%%DOCSDIR%%/docs/license.txt
%%PORTDOCS%%%%DOCSDIR%%/docs/mame.txt
%%PORTDOCS%%%%DOCSDIR%%/docs/newvideo.txt
%%PORTDOCS%%%%DOCSDIR%%/docs/windows.txt
%%PORTDOCS%%%%DOCSDIR%%/whatsnew.txt
%%DATADIR%%/ui.bdf
@dirrm %%DATADIR%%/roms
@dirrm %%DATADIR%%/nvram
@dirrm %%DATADIR%%/ini
@dirrm %%DATADIR%%/diff
@dirrm %%DATADIR%%/comments
@dirrm %%DATADIR%%/cfg
@dirrm %%DATADIR%%/artwork
@dirrm %%DATADIR%%
%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs
%%PORTDOCS%%@dirrm %%DOCSDIR%%
@dirrm libexec/sdlmame

45
emulators/mame/Makefile Normal file
View file

@ -0,0 +1,45 @@
# New ports collection makefile for: sdlmame
# Date created: 2007-01-10
# Whom: alepulver
#
# $FreeBSD$
#
PORTNAME= sdlmame
PORTVERSION= 0.112u2
CATEGORIES= emulators
MASTER_SITES= http://rbelmont.mameworld.info/
DISTNAME= ${PORTNAME}${PORTVERSION:S/.//}
MAINTAINER= alepulver@FreeBSD.org
COMMENT= SDL port of the popular MAME (Multi Arcade Machine Emulator)
USE_ZIP= yes
USE_GL= yes
USE_GMAKE= yes
USE_SDL= sdl
MAKEFILE= makefile
SUB_FILES= ${PORTNAME} pkg-message
do-install:
${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${PREFIX}/bin
${MKDIR} ${PREFIX}/libexec/${PORTNAME}
.for f in mame file2str romcmp chdman jedutil
${INSTALL_PROGRAM} ${WRKSRC}/${f} ${PREFIX}/libexec/${PORTNAME}
.endfor
${MKDIR} ${DATADIR}
${INSTALL_DATA} ${WRKSRC}/ui.bdf ${DATADIR}
cd ${DATADIR} && ${MKDIR} artwork cfg comments diff ini nvram roms
.if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/*.txt ${DOCSDIR}
${CP} -R ${WRKSRC}/docs ${DOCSDIR}
.endif
post-install:
@${ECHO_CMD}
@${CAT} ${PKGMESSAGE}
@${ECHO_CMD}
.include <bsd.port.mk>

3
emulators/mame/distinfo Normal file
View file

@ -0,0 +1,3 @@
MD5 (sdlmame0112u2.zip) = 3505ed75d9034621ae3774d1d61edc5e
SHA256 (sdlmame0112u2.zip) = 7796f76494dbf5c6d5628a22b653f7ea8730781cc1f414e4d8e2b4732d9e787a
SIZE (sdlmame0112u2.zip) = 15437796

View file

@ -0,0 +1,141 @@
--- ./makefile.orig Sun Feb 18 22:23:18 2007
+++ ./makefile Fri Feb 23 01:26:35 2007
@@ -50,7 +50,7 @@
#
# NOTE: this makefile now works for MinGW/win32 builds as well!
#
-SUBARCH = linux
+SUBARCH = freebsd
#-------------------------------------------------
@@ -61,11 +61,13 @@
# uncomment next line to include the debugger
#DEBUG = 1
+ifeq ($(ARCH),i386)
# uncomment next line to use DRC MIPS3 engine
X86_MIPS3_DRC = 1
# uncomment next line to use DRC PowerPC engine
X86_PPC_DRC = 1
+endif
#-------------------------------------------------
# specify build options; see each option below
@@ -172,8 +174,8 @@
# compiler, linker and utilities
AR = @ar
-CC = @gcc
-LD = @gcc
+CC := @$(CC)
+LD = @$(CC)
MD = -mkdir
RM = @rm -f
@@ -189,53 +191,12 @@
endif
# by default, don't compile for a specific target CPU
-NAME = $(PREFIX)$(TARGET)
-ARCH =
-
-# architecture-specific builds get extra options
-ifdef ATHLON
-NAME = $(PREFIX)$(TARGET)at
-ARCH = -march=athlon
-endif
-
-ifdef I686
-NAME = $(PREFIX)$(TARGET)pp
-ARCH = -march=pentiumpro
-endif
-
-ifdef P4
-NAME = $(PREFIX)$(TARGET)p4
-ARCH = -march=pentium4
-endif
-
-ifdef AMD64
-NAME = $(PREFIX)$(TARGET)64
-ARCH = -march=athlon64
-endif
-
-ifdef PM
-NAME = $(PREFIX)$(TARGET)pm
-ARCH = -march=pentium3 -msse2
-endif
-
-ifdef G4
-NAME = $(PREFIX)$(TARGET)g4
-ARCH = -mcpu=G4
-endif
-
-ifdef G5
-NAME = $(PREFIX)$(TARGET)g5
-ARCH = -mcpu=G5
-endif
-
-ifdef CELL
-NAME = $(PREFIX)$(TARGET)cbe
+NAME = $(TARGET)
ARCH =
-endif
# debug builds just get the 'd' suffix and nothing more
ifdef DEBUG
-NAME = $(PREFIX)$(TARGET)d
+NAME = $(TARGET)d
endif
EMULATOR = $(NAME)$(EXE)
@@ -273,7 +234,7 @@
# compile and linking flags
#-------------------------------------------------
-CFLAGS = \
+CFLAGS += \
$(OPT_FLAGS) \
-std=gnu89 \
-I$(SRC)/$(TARGET) \
@@ -284,6 +245,7 @@
-I$(SRC)/lib/util \
-I$(SRC)/osd \
-I$(SRC)/osd/$(MAMEOS) \
+ -I$(LOCALBASE)/include -I$(X11BASE)/include
ifdef MESS
CFLAGS += \
@@ -302,7 +264,7 @@
endif # PPC
endif # SYMBOLS
-CFLAGS += $(ARCH) \
+CFLAGS += \
-Wall \
-Wpointer-arith \
-Wbad-function-cast \
@@ -314,7 +276,7 @@
-Wdeclaration-after-statement
ifneq ($(OPTIMIZE),0)
-CFLAGS += -DNDEBUG $(ARCH) -fno-strict-aliasing
+CFLAGS += -DNDEBUG -fno-strict-aliasing
endif
CFLAGS += -O$(OPTIMIZE)
@@ -322,11 +284,9 @@
# extra options needed *only* for the osd files
CFLAGSOSDEPEND = $(CFLAGS)
-LDFLAGS = -WO
+LDFLAGS += -WO -L$(LOCALBASE)/lib -L$(X11BASE)/lib
-ifdef SYMBOLS
-LDFLAGS =
-else
+ifndef SYMBOLS
LDFLAGS += -s
endif

View file

@ -0,0 +1,13 @@
==============================================================================
SDLMAME has been installed.
The MAME tools are installed in "%%PREFIX%%/libexec/sdlmame"
to avoid conflicting with other MAME ports.
A wrapper script "sdlmame" has been installed. It creates a "~/.sdlmame"
directory mirroring the directory tree under "%%DATADIR%%"
when you run it for the first time, and starts the program from there. So
place all MAME files (e.g. ROMs, cheats, etc.) in "~/.sdlmame".
==============================================================================

View file

@ -0,0 +1,19 @@
#!/bin/sh
#
# The executable needs to be run from its data directory, and needs to store
# configuration in it. We therefore mirror the data directory hierarchy in
# ~/.cube, and create symlinks to the data files.
#
if [ -d ~/.sdlmame ]
then
echo "Using existing ~/.sdlmame directory."
else
echo "Creating ~/.sdlmame directory."
cd %%DATADIR%% || exit 1
find * -type d -exec mkdir -p ~/.sdlmame/{} \;
find * -type f -exec ln -s %%DATADIR%%/{} ~/.sdlmame/{} \; 2>/dev/null
fi
cd ~/.sdlmame || exit 1
exec %%PREFIX%%/libexec/sdlmame/mame "$@"

17
emulators/mame/pkg-descr Normal file
View file

@ -0,0 +1,17 @@
SDLMAME is a port of the popular MAME. There are a few principles that guide
it's development:
1) Run on Linux/Unix, Mac OS X, and other SDL supported operating systems with
as few changes as possible to the base Win32 code. This means we can track
changes faster than larger more conventional ports such as MacMAME, and we
also maintain what I call "Firefox compatibilty" where learning a major app
only needs to be done once per application, and it then applies across many
operating systems. If you can use the command-line Win32 MAME, you already
know how to use SDLMAME on any platform you may encounter it on.
2) MAME developers are important. By keeping quickly up to date, we make it
easy for people on non-Windows platforms to make and submit changes to the
core MAME code, and we offer native implementations of MAME's multi-window
GUI debugger on both Linux/Unix and Mac OS X.
WWW: http://rbelmont.mameworld.info/?page_id=163

25
emulators/mame/pkg-plist Normal file
View file

@ -0,0 +1,25 @@
@exec for i in artwork cfg comments diff ini nvram roms; do mkdir -p %D/%%DATADIR%%/${i}; done
bin/sdlmame
libexec/sdlmame/chdman
libexec/sdlmame/file2str
libexec/sdlmame/jedutil
libexec/sdlmame/mame
libexec/sdlmame/romcmp
%%PORTDOCS%%%%DOCSDIR%%/SDLMAME.txt
%%PORTDOCS%%%%DOCSDIR%%/docs/license.txt
%%PORTDOCS%%%%DOCSDIR%%/docs/mame.txt
%%PORTDOCS%%%%DOCSDIR%%/docs/newvideo.txt
%%PORTDOCS%%%%DOCSDIR%%/docs/windows.txt
%%PORTDOCS%%%%DOCSDIR%%/whatsnew.txt
%%DATADIR%%/ui.bdf
@dirrm %%DATADIR%%/roms
@dirrm %%DATADIR%%/nvram
@dirrm %%DATADIR%%/ini
@dirrm %%DATADIR%%/diff
@dirrm %%DATADIR%%/comments
@dirrm %%DATADIR%%/cfg
@dirrm %%DATADIR%%/artwork
@dirrm %%DATADIR%%
%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs
%%PORTDOCS%%@dirrm %%DOCSDIR%%
@dirrm libexec/sdlmame

View file

@ -0,0 +1,45 @@
# New ports collection makefile for: sdlmame
# Date created: 2007-01-10
# Whom: alepulver
#
# $FreeBSD$
#
PORTNAME= sdlmame
PORTVERSION= 0.112u2
CATEGORIES= emulators
MASTER_SITES= http://rbelmont.mameworld.info/
DISTNAME= ${PORTNAME}${PORTVERSION:S/.//}
MAINTAINER= alepulver@FreeBSD.org
COMMENT= SDL port of the popular MAME (Multi Arcade Machine Emulator)
USE_ZIP= yes
USE_GL= yes
USE_GMAKE= yes
USE_SDL= sdl
MAKEFILE= makefile
SUB_FILES= ${PORTNAME} pkg-message
do-install:
${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${PREFIX}/bin
${MKDIR} ${PREFIX}/libexec/${PORTNAME}
.for f in mame file2str romcmp chdman jedutil
${INSTALL_PROGRAM} ${WRKSRC}/${f} ${PREFIX}/libexec/${PORTNAME}
.endfor
${MKDIR} ${DATADIR}
${INSTALL_DATA} ${WRKSRC}/ui.bdf ${DATADIR}
cd ${DATADIR} && ${MKDIR} artwork cfg comments diff ini nvram roms
.if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/*.txt ${DOCSDIR}
${CP} -R ${WRKSRC}/docs ${DOCSDIR}
.endif
post-install:
@${ECHO_CMD}
@${CAT} ${PKGMESSAGE}
@${ECHO_CMD}
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
MD5 (sdlmame0112u2.zip) = 3505ed75d9034621ae3774d1d61edc5e
SHA256 (sdlmame0112u2.zip) = 7796f76494dbf5c6d5628a22b653f7ea8730781cc1f414e4d8e2b4732d9e787a
SIZE (sdlmame0112u2.zip) = 15437796

View file

@ -0,0 +1,141 @@
--- ./makefile.orig Sun Feb 18 22:23:18 2007
+++ ./makefile Fri Feb 23 01:26:35 2007
@@ -50,7 +50,7 @@
#
# NOTE: this makefile now works for MinGW/win32 builds as well!
#
-SUBARCH = linux
+SUBARCH = freebsd
#-------------------------------------------------
@@ -61,11 +61,13 @@
# uncomment next line to include the debugger
#DEBUG = 1
+ifeq ($(ARCH),i386)
# uncomment next line to use DRC MIPS3 engine
X86_MIPS3_DRC = 1
# uncomment next line to use DRC PowerPC engine
X86_PPC_DRC = 1
+endif
#-------------------------------------------------
# specify build options; see each option below
@@ -172,8 +174,8 @@
# compiler, linker and utilities
AR = @ar
-CC = @gcc
-LD = @gcc
+CC := @$(CC)
+LD = @$(CC)
MD = -mkdir
RM = @rm -f
@@ -189,53 +191,12 @@
endif
# by default, don't compile for a specific target CPU
-NAME = $(PREFIX)$(TARGET)
-ARCH =
-
-# architecture-specific builds get extra options
-ifdef ATHLON
-NAME = $(PREFIX)$(TARGET)at
-ARCH = -march=athlon
-endif
-
-ifdef I686
-NAME = $(PREFIX)$(TARGET)pp
-ARCH = -march=pentiumpro
-endif
-
-ifdef P4
-NAME = $(PREFIX)$(TARGET)p4
-ARCH = -march=pentium4
-endif
-
-ifdef AMD64
-NAME = $(PREFIX)$(TARGET)64
-ARCH = -march=athlon64
-endif
-
-ifdef PM
-NAME = $(PREFIX)$(TARGET)pm
-ARCH = -march=pentium3 -msse2
-endif
-
-ifdef G4
-NAME = $(PREFIX)$(TARGET)g4
-ARCH = -mcpu=G4
-endif
-
-ifdef G5
-NAME = $(PREFIX)$(TARGET)g5
-ARCH = -mcpu=G5
-endif
-
-ifdef CELL
-NAME = $(PREFIX)$(TARGET)cbe
+NAME = $(TARGET)
ARCH =
-endif
# debug builds just get the 'd' suffix and nothing more
ifdef DEBUG
-NAME = $(PREFIX)$(TARGET)d
+NAME = $(TARGET)d
endif
EMULATOR = $(NAME)$(EXE)
@@ -273,7 +234,7 @@
# compile and linking flags
#-------------------------------------------------
-CFLAGS = \
+CFLAGS += \
$(OPT_FLAGS) \
-std=gnu89 \
-I$(SRC)/$(TARGET) \
@@ -284,6 +245,7 @@
-I$(SRC)/lib/util \
-I$(SRC)/osd \
-I$(SRC)/osd/$(MAMEOS) \
+ -I$(LOCALBASE)/include -I$(X11BASE)/include
ifdef MESS
CFLAGS += \
@@ -302,7 +264,7 @@
endif # PPC
endif # SYMBOLS
-CFLAGS += $(ARCH) \
+CFLAGS += \
-Wall \
-Wpointer-arith \
-Wbad-function-cast \
@@ -314,7 +276,7 @@
-Wdeclaration-after-statement
ifneq ($(OPTIMIZE),0)
-CFLAGS += -DNDEBUG $(ARCH) -fno-strict-aliasing
+CFLAGS += -DNDEBUG -fno-strict-aliasing
endif
CFLAGS += -O$(OPTIMIZE)
@@ -322,11 +284,9 @@
# extra options needed *only* for the osd files
CFLAGSOSDEPEND = $(CFLAGS)
-LDFLAGS = -WO
+LDFLAGS += -WO -L$(LOCALBASE)/lib -L$(X11BASE)/lib
-ifdef SYMBOLS
-LDFLAGS =
-else
+ifndef SYMBOLS
LDFLAGS += -s
endif

View file

@ -0,0 +1,13 @@
==============================================================================
SDLMAME has been installed.
The MAME tools are installed in "%%PREFIX%%/libexec/sdlmame"
to avoid conflicting with other MAME ports.
A wrapper script "sdlmame" has been installed. It creates a "~/.sdlmame"
directory mirroring the directory tree under "%%DATADIR%%"
when you run it for the first time, and starts the program from there. So
place all MAME files (e.g. ROMs, cheats, etc.) in "~/.sdlmame".
==============================================================================

View file

@ -0,0 +1,19 @@
#!/bin/sh
#
# The executable needs to be run from its data directory, and needs to store
# configuration in it. We therefore mirror the data directory hierarchy in
# ~/.cube, and create symlinks to the data files.
#
if [ -d ~/.sdlmame ]
then
echo "Using existing ~/.sdlmame directory."
else
echo "Creating ~/.sdlmame directory."
cd %%DATADIR%% || exit 1
find * -type d -exec mkdir -p ~/.sdlmame/{} \;
find * -type f -exec ln -s %%DATADIR%%/{} ~/.sdlmame/{} \; 2>/dev/null
fi
cd ~/.sdlmame || exit 1
exec %%PREFIX%%/libexec/sdlmame/mame "$@"

View file

@ -0,0 +1,17 @@
SDLMAME is a port of the popular MAME. There are a few principles that guide
it's development:
1) Run on Linux/Unix, Mac OS X, and other SDL supported operating systems with
as few changes as possible to the base Win32 code. This means we can track
changes faster than larger more conventional ports such as MacMAME, and we
also maintain what I call "Firefox compatibilty" where learning a major app
only needs to be done once per application, and it then applies across many
operating systems. If you can use the command-line Win32 MAME, you already
know how to use SDLMAME on any platform you may encounter it on.
2) MAME developers are important. By keeping quickly up to date, we make it
easy for people on non-Windows platforms to make and submit changes to the
core MAME code, and we offer native implementations of MAME's multi-window
GUI debugger on both Linux/Unix and Mac OS X.
WWW: http://rbelmont.mameworld.info/?page_id=163

View file

@ -0,0 +1,25 @@
@exec for i in artwork cfg comments diff ini nvram roms; do mkdir -p %D/%%DATADIR%%/${i}; done
bin/sdlmame
libexec/sdlmame/chdman
libexec/sdlmame/file2str
libexec/sdlmame/jedutil
libexec/sdlmame/mame
libexec/sdlmame/romcmp
%%PORTDOCS%%%%DOCSDIR%%/SDLMAME.txt
%%PORTDOCS%%%%DOCSDIR%%/docs/license.txt
%%PORTDOCS%%%%DOCSDIR%%/docs/mame.txt
%%PORTDOCS%%%%DOCSDIR%%/docs/newvideo.txt
%%PORTDOCS%%%%DOCSDIR%%/docs/windows.txt
%%PORTDOCS%%%%DOCSDIR%%/whatsnew.txt
%%DATADIR%%/ui.bdf
@dirrm %%DATADIR%%/roms
@dirrm %%DATADIR%%/nvram
@dirrm %%DATADIR%%/ini
@dirrm %%DATADIR%%/diff
@dirrm %%DATADIR%%/comments
@dirrm %%DATADIR%%/cfg
@dirrm %%DATADIR%%/artwork
@dirrm %%DATADIR%%
%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs
%%PORTDOCS%%@dirrm %%DOCSDIR%%
@dirrm libexec/sdlmame

View file

@ -0,0 +1,45 @@
# New ports collection makefile for: sdlmame
# Date created: 2007-01-10
# Whom: alepulver
#
# $FreeBSD$
#
PORTNAME= sdlmame
PORTVERSION= 0.112u2
CATEGORIES= emulators
MASTER_SITES= http://rbelmont.mameworld.info/
DISTNAME= ${PORTNAME}${PORTVERSION:S/.//}
MAINTAINER= alepulver@FreeBSD.org
COMMENT= SDL port of the popular MAME (Multi Arcade Machine Emulator)
USE_ZIP= yes
USE_GL= yes
USE_GMAKE= yes
USE_SDL= sdl
MAKEFILE= makefile
SUB_FILES= ${PORTNAME} pkg-message
do-install:
${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${PREFIX}/bin
${MKDIR} ${PREFIX}/libexec/${PORTNAME}
.for f in mame file2str romcmp chdman jedutil
${INSTALL_PROGRAM} ${WRKSRC}/${f} ${PREFIX}/libexec/${PORTNAME}
.endfor
${MKDIR} ${DATADIR}
${INSTALL_DATA} ${WRKSRC}/ui.bdf ${DATADIR}
cd ${DATADIR} && ${MKDIR} artwork cfg comments diff ini nvram roms
.if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/*.txt ${DOCSDIR}
${CP} -R ${WRKSRC}/docs ${DOCSDIR}
.endif
post-install:
@${ECHO_CMD}
@${CAT} ${PKGMESSAGE}
@${ECHO_CMD}
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
MD5 (sdlmame0112u2.zip) = 3505ed75d9034621ae3774d1d61edc5e
SHA256 (sdlmame0112u2.zip) = 7796f76494dbf5c6d5628a22b653f7ea8730781cc1f414e4d8e2b4732d9e787a
SIZE (sdlmame0112u2.zip) = 15437796

View file

@ -0,0 +1,141 @@
--- ./makefile.orig Sun Feb 18 22:23:18 2007
+++ ./makefile Fri Feb 23 01:26:35 2007
@@ -50,7 +50,7 @@
#
# NOTE: this makefile now works for MinGW/win32 builds as well!
#
-SUBARCH = linux
+SUBARCH = freebsd
#-------------------------------------------------
@@ -61,11 +61,13 @@
# uncomment next line to include the debugger
#DEBUG = 1
+ifeq ($(ARCH),i386)
# uncomment next line to use DRC MIPS3 engine
X86_MIPS3_DRC = 1
# uncomment next line to use DRC PowerPC engine
X86_PPC_DRC = 1
+endif
#-------------------------------------------------
# specify build options; see each option below
@@ -172,8 +174,8 @@
# compiler, linker and utilities
AR = @ar
-CC = @gcc
-LD = @gcc
+CC := @$(CC)
+LD = @$(CC)
MD = -mkdir
RM = @rm -f
@@ -189,53 +191,12 @@
endif
# by default, don't compile for a specific target CPU
-NAME = $(PREFIX)$(TARGET)
-ARCH =
-
-# architecture-specific builds get extra options
-ifdef ATHLON
-NAME = $(PREFIX)$(TARGET)at
-ARCH = -march=athlon
-endif
-
-ifdef I686
-NAME = $(PREFIX)$(TARGET)pp
-ARCH = -march=pentiumpro
-endif
-
-ifdef P4
-NAME = $(PREFIX)$(TARGET)p4
-ARCH = -march=pentium4
-endif
-
-ifdef AMD64
-NAME = $(PREFIX)$(TARGET)64
-ARCH = -march=athlon64
-endif
-
-ifdef PM
-NAME = $(PREFIX)$(TARGET)pm
-ARCH = -march=pentium3 -msse2
-endif
-
-ifdef G4
-NAME = $(PREFIX)$(TARGET)g4
-ARCH = -mcpu=G4
-endif
-
-ifdef G5
-NAME = $(PREFIX)$(TARGET)g5
-ARCH = -mcpu=G5
-endif
-
-ifdef CELL
-NAME = $(PREFIX)$(TARGET)cbe
+NAME = $(TARGET)
ARCH =
-endif
# debug builds just get the 'd' suffix and nothing more
ifdef DEBUG
-NAME = $(PREFIX)$(TARGET)d
+NAME = $(TARGET)d
endif
EMULATOR = $(NAME)$(EXE)
@@ -273,7 +234,7 @@
# compile and linking flags
#-------------------------------------------------
-CFLAGS = \
+CFLAGS += \
$(OPT_FLAGS) \
-std=gnu89 \
-I$(SRC)/$(TARGET) \
@@ -284,6 +245,7 @@
-I$(SRC)/lib/util \
-I$(SRC)/osd \
-I$(SRC)/osd/$(MAMEOS) \
+ -I$(LOCALBASE)/include -I$(X11BASE)/include
ifdef MESS
CFLAGS += \
@@ -302,7 +264,7 @@
endif # PPC
endif # SYMBOLS
-CFLAGS += $(ARCH) \
+CFLAGS += \
-Wall \
-Wpointer-arith \
-Wbad-function-cast \
@@ -314,7 +276,7 @@
-Wdeclaration-after-statement
ifneq ($(OPTIMIZE),0)
-CFLAGS += -DNDEBUG $(ARCH) -fno-strict-aliasing
+CFLAGS += -DNDEBUG -fno-strict-aliasing
endif
CFLAGS += -O$(OPTIMIZE)
@@ -322,11 +284,9 @@
# extra options needed *only* for the osd files
CFLAGSOSDEPEND = $(CFLAGS)
-LDFLAGS = -WO
+LDFLAGS += -WO -L$(LOCALBASE)/lib -L$(X11BASE)/lib
-ifdef SYMBOLS
-LDFLAGS =
-else
+ifndef SYMBOLS
LDFLAGS += -s
endif

View file

@ -0,0 +1,13 @@
==============================================================================
SDLMAME has been installed.
The MAME tools are installed in "%%PREFIX%%/libexec/sdlmame"
to avoid conflicting with other MAME ports.
A wrapper script "sdlmame" has been installed. It creates a "~/.sdlmame"
directory mirroring the directory tree under "%%DATADIR%%"
when you run it for the first time, and starts the program from there. So
place all MAME files (e.g. ROMs, cheats, etc.) in "~/.sdlmame".
==============================================================================

View file

@ -0,0 +1,19 @@
#!/bin/sh
#
# The executable needs to be run from its data directory, and needs to store
# configuration in it. We therefore mirror the data directory hierarchy in
# ~/.cube, and create symlinks to the data files.
#
if [ -d ~/.sdlmame ]
then
echo "Using existing ~/.sdlmame directory."
else
echo "Creating ~/.sdlmame directory."
cd %%DATADIR%% || exit 1
find * -type d -exec mkdir -p ~/.sdlmame/{} \;
find * -type f -exec ln -s %%DATADIR%%/{} ~/.sdlmame/{} \; 2>/dev/null
fi
cd ~/.sdlmame || exit 1
exec %%PREFIX%%/libexec/sdlmame/mame "$@"

View file

@ -0,0 +1,17 @@
SDLMAME is a port of the popular MAME. There are a few principles that guide
it's development:
1) Run on Linux/Unix, Mac OS X, and other SDL supported operating systems with
as few changes as possible to the base Win32 code. This means we can track
changes faster than larger more conventional ports such as MacMAME, and we
also maintain what I call "Firefox compatibilty" where learning a major app
only needs to be done once per application, and it then applies across many
operating systems. If you can use the command-line Win32 MAME, you already
know how to use SDLMAME on any platform you may encounter it on.
2) MAME developers are important. By keeping quickly up to date, we make it
easy for people on non-Windows platforms to make and submit changes to the
core MAME code, and we offer native implementations of MAME's multi-window
GUI debugger on both Linux/Unix and Mac OS X.
WWW: http://rbelmont.mameworld.info/?page_id=163

View file

@ -0,0 +1,25 @@
@exec for i in artwork cfg comments diff ini nvram roms; do mkdir -p %D/%%DATADIR%%/${i}; done
bin/sdlmame
libexec/sdlmame/chdman
libexec/sdlmame/file2str
libexec/sdlmame/jedutil
libexec/sdlmame/mame
libexec/sdlmame/romcmp
%%PORTDOCS%%%%DOCSDIR%%/SDLMAME.txt
%%PORTDOCS%%%%DOCSDIR%%/docs/license.txt
%%PORTDOCS%%%%DOCSDIR%%/docs/mame.txt
%%PORTDOCS%%%%DOCSDIR%%/docs/newvideo.txt
%%PORTDOCS%%%%DOCSDIR%%/docs/windows.txt
%%PORTDOCS%%%%DOCSDIR%%/whatsnew.txt
%%DATADIR%%/ui.bdf
@dirrm %%DATADIR%%/roms
@dirrm %%DATADIR%%/nvram
@dirrm %%DATADIR%%/ini
@dirrm %%DATADIR%%/diff
@dirrm %%DATADIR%%/comments
@dirrm %%DATADIR%%/cfg
@dirrm %%DATADIR%%/artwork
@dirrm %%DATADIR%%
%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs
%%PORTDOCS%%@dirrm %%DOCSDIR%%
@dirrm libexec/sdlmame