I'm compiling it for my 3dfx card on a Mandrake 6 box, and heres the
error I get:
[Acid@drh2-2a8 xmame-0.35.1]$ make -f makefile.unix
( \
cd src/unix; \
make CC="gcc" RANLIB="ranlib" ARCH="linux_i386" DISPLAY_METHOD="xfx"
CFLAGS="-
DHAVE_GETTIMEOFDAY -O3 -m486 -Wall -Wno-unused -funroll-loops
-fstrength-reduce
-fomit-frame-pointer -ffast-math -malign-functions=2 -malign-jumps=2
-malign-lo
ops=2 -DINLINE=static -Isrc -Isrc/unix -Dstricmp=strcasecmp -DPI=M_PI
-DUNIX -D
SIGNED_SAMPLES -DLSB_FIRST -DX86_ASM -Dlinux_i386 -Dxfx -DMAME_NET
-Iobj/cpu/m6
8000 -Isrc/cpu/m68000 -DHAS_CUSTOM=1 -DHAS_SAMPLES=1 -DHAS_DAC=1
-DHAS_AY8910=1
-DHAS_YM2203=1 -DHAS_YM2151=1 -DHAS_YM2151_ALT=1 -DHAS_YM2608=1
-DHAS_YM2610=1
-DHAS_YM2610B=1 -DHAS_YM2612=1 -DHAS_YM3438=1 -DHAS_YM2413=1
-DHAS_YM3812=1 -DHA
S_YM3526=1 -DHAS_SN76496=1 -DHAS_POKEY=1 -DHAS_NES=1 -DHAS_ASTROCADE=1
-DHAS_NAM
CO=1 -DHAS_TMS5220=1 -DHAS_VLM5030=1 -DHAS_ADPCM=1 -DHAS_OKIM6295=1
-DHAS_MSM520
5=1 -DHAS_UPD7759=1 -DHAS_HC55516=1 -DHAS_K007232=1 -DHAS_Z80=1
-DHAS_8080=1 -D
HAS_8085A=1 -DHAS_M6502=1 -DHAS_M65C02=1 -DHAS_M6510=1 -DHAS_H6280=1
-DHAS_I86=1
-DHAS_I8035=1 -DHAS_I8039=1 -DHAS_I8048=1 -DHAS_N7751=1 -DHAS_M6800=1
-DHAS_M68
01=1 -DHAS_M6802=1 -DHAS_M6803=1 -DHAS_M6808=1 -DHAS_HD63701=1
-DHAS_M6805=1 -DH
AS_M68705=1 -DHAS_HD63705=1 -DHAS_M6309=1 -DHAS_M6809=1 -DHAS_M68000=1
-DHAS_M68
010=1 -DHAS_M68020=1 -DHAS_T11=1 -DHAS_S2650=1 -DHAS_TMS34010=1
-DHAS_TMS9900=1
-DHAS_Z8000=1 -DHAS_TMS320C10=1 -DHAS_CCPU=1 -I/usr/X11R6/include
-DUSE_MITSHM
-I/usr/include/glide "-DX11_JOYNAME=''" -DI386_JOYSTICK -DFANCY_SOUND
-DDONTU
SE_TIMER -DAUDIO_TIMER_FREQ=50 -DXMAMEROOT='\"/usr/games/lib/xmame\"'
-DVERSION=
'\"0.35.1\"' -DNAME='\"xmame\"' -DDISPLAY_METHOD='\"xfx\"'" \
)
make[1]: Entering directory `/home/Acid/xmame-0.35.1/src/unix'
gcc -I../../src/ -I. -DHAVE_GETTIMEOFDAY -O3 -m486 -Wall -Wno-unused
-funroll-l
oops -fstrength-reduce -fomit-frame-pointer -ffast-math
-malign-functions=2 -mal
ign-jumps=2 -malign-loops=2 -DINLINE=static -Isrc -Isrc/unix
-Dstricmp=strcasec
mp -DPI=M_PI -DUNIX -DSIGNED_SAMPLES -DLSB_FIRST -DX86_ASM -Dlinux_i386
-Dxfx -D
MAME_NET -Iobj/cpu/m68000 -Isrc/cpu/m68000 -DHAS_CUSTOM=1
-DHAS_SAMPLES=1 -DHA
S_DAC=1 -DHAS_AY8910=1 -DHAS_YM2203=1 -DHAS_YM2151=1 -DHAS_YM2151_ALT=1
-DHAS_YM
2608=1 -DHAS_YM2610=1 -DHAS_YM2610B=1 -DHAS_YM2612=1 -DHAS_YM3438=1
-DHAS_YM2413
=1 -DHAS_YM3812=1 -DHAS_YM3526=1 -DHAS_SN76496=1 -DHAS_POKEY=1
-DHAS_NES=1 -DHAS
_ASTROCADE=1 -DHAS_NAMCO=1 -DHAS_TMS5220=1 -DHAS_VLM5030=1 -DHAS_ADPCM=1
-DHAS_O
KIM6295=1 -DHAS_MSM5205=1 -DHAS_UPD7759=1 -DHAS_HC55516=1
-DHAS_K007232=1 -DHAS
_Z80=1 -DHAS_8080=1 -DHAS_8085A=1 -DHAS_M6502=1 -DHAS_M65C02=1
-DHAS_M6510=1 -DH
AS_H6280=1 -DHAS_I86=1 -DHAS_I8035=1 -DHAS_I8039=1 -DHAS_I8048=1
-DHAS_N7751=1 -
DHAS_M6800=1 -DHAS_M6801=1 -DHAS_M6802=1 -DHAS_M6803=1 -DHAS_M6808=1
-DHAS_HD637
01=1 -DHAS_M6805=1 -DHAS_M68705=1 -DHAS_HD63705=1 -DHAS_M6309=1
-DHAS_M6809=1 -D
HAS_M68000=1 -DHAS_M68010=1 -DHAS_M68020=1 -DHAS_T11=1 -DHAS_S2650=1
-DHAS_TMS34
010=1 -DHAS_TMS9900=1 -DHAS_Z8000=1 -DHAS_TMS320C10=1 -DHAS_CCPU=1
-I/usr/X11R6
/include -DUSE_MITSHM -I/usr/include/glide -DX11_JOYNAME=
-DI386_JOYSTICK -DF
ANCY_SOUND -DDONTUSE_TIMER -DAUDIO_TIMER_FREQ=50
-DXMAMEROOT='"/usr/games/lib/xm
ame"' -DVERSION='"0.35.1"' -DNAME='"xmame"' -DDISPLAY_METHOD='"xfx"' -o
../../ob
j/unix.xfx/network.o -c network.c
network.c:336: conflicting types for `osd_net_sync'
../../src/osdepend.h:437: previous declaration of `osd_net_sync'
make[1]: *** [../../obj/unix.xfx/network.o] Error 1
make[1]: Leaving directory `/home/Acid/xmame-0.35.1/src/unix'
make: *** [osdepend] Error 2
I have included my makefile if I made an error but I couldn't find any.
Thanks
Keith
##############################################################################
#
# makefile for xmame/xmess
#
# by Juan Antonio Martinez
# http:/drake.dit.upm.es/~mame/
# mailto:[EMAIL PROTECTED]
#
##############################################################################
VERSION = 0.35.1
DATE = 10-July-1999
NAME = xmame
#########################################################################
#
#
# READ COMMENTS AND MODIFY CONFIGURABLE OPTIONS WITH CARE...
#
#
#
# Members of Mame and X-Mame project assumes no responsability
#
# implicit or explicit about illegal or incorrect use of this
#
# sofware and about possible hard/soft damage derived of it
#
#
#
# THIS SOFTWARE IS DISTRIBUTED "AS IS" . USE AT YOUR OWN RISK
#
#
#
# Mame and X-Mame are Copyright of Nicola Salmoria and Mirko buffoni
#
# and distributed under terms simular to the GNU General Public License
#
# see doc/README.unix for more details
#
#
#
# Arcade ROM images are copyright of their authors. DISTRIBUTING MAME
#
# OR X-MAME INCLUDING ROM IMAGES IN THE SAME PACKAGE IS ILLEGAL AND
#
# CONSTITUTES A VIOLATION OF TERMS OF COPYRIGHT
#
#
#
#########################################################################
##############################################################################
# *** compiler options
##############################################################################
# GNU MAKE is MANDATORY !!!
# so please give me the path...
# if GNU make is "native" use this
MAKE = make
# else ...
# MAKE=/usr/people/jantonio/bin/gmake
# *** Choose your compiler
CC = gcc
# Use of `c89' is recommend for ultrix as it generates faster code
(which
# means less frames to be skipped and better graphics) but `gcc' works
just
# as well. However, stay away from the `cc' ultrix compiler if possible.
# CC = c89
# for IRIX systems seems that cc gets better code than GNU. so use it:
# CC = cc -n32 -mips4
# for ansi compliance testing, only for developers !!
# CC = gcc -ansi -pedantic -D_XOPEN_SOURCE -Wno-long-long
-Wno-trigraphs \
# -Dasm=__asm__
# *** Choose your linker ( some OS's needs native linker instead GNU one
)
# normal
LD = $(CC) -s
# to profile with gcc and gprof
# LD = $(CC) -pg
# no profiling (less strace output), but with debug info
# LD = $(CC)
# for debugging only, only works with gnu-binutils !!
# LD = $(CC) -Wl,-warn-common
# *** does your platform have ranlib (leave this untouched unless you
are
# using irix or Unixware 7
RANLIB = ranlib
# RANLIB = true
# *** How to install executable? ( some OS's doesn't support install
command )
INSTALL = cp
# *** set to aproppiate flag if want to debug/optimize
# normal
DBGFLAGS =
# with debug info
# DBGFLAGS = -ggdb
### normal optimization flags
#OPTFLAGS = -O -Wall
# use these for debugging on x86-gcc
# OPTFLAGS = -O2 -m486 -Wall -Wno-unused
### to get full optimization under gcc/x Intel based OS's.. ( !!else
comment!! )
OPTFLAGS = -O3 -m486 -Wall -Wno-unused -funroll-loops \
-fstrength-reduce -fomit-frame-pointer -ffast-math
-malign-functions=2 \
-malign-jumps=2 -malign-loops=2
### for Linux/X11/PowerPC use following opts
# OPTFLAGS = -O3 -Wall -Wno-unused -funroll-loops\
# -fstrength-reduce -fomit-frame-pointer -ffast-math -fsigned-char
### for OpenStep use following opts
# OPTFLAGS = -O4 -Wall -Wno-unused -finline-functions -ffast-math
-fstrength-reduce
### for IRIX with all optimization
# OPTFLAGS = -O2 -OPT:Olimit=3077
# *** Does your compiler supports inline funcs?. use appropiate item:
# do not use IL = inline : wont work due to Z80 and 6809 stuffs
# if strict ansi used set IL to "static"
# IL = '-DINLINE=static inline'
IL = -DINLINE=static
# extra include and or library paths, sometimes needed for zlib,
# with suse linux -L/usr/X11R6/lib is needed for example
# EXTRA_LIBS = -L/usr/X11R6/lib -L/usr/local/lib
# EXTRA_INCLUDES = -I/usr/X11R6/include -I/usr/local/include
##############################################################################
# *** Configuration files and directories
##############################################################################
# *** Select destination directory for your compiled program , manual
page
# and binary distribution ( if you want to... )
# ( only needed to install, not to compile... )
DESTDIR = /usr/games
MANDIR = /usr/local/man/man6
#DISTDIR = /home/ftp/pub/emulators/$(NAME)
# *** xmameroot, this is the default rompath, place where the highscores
are
# stored, global rc location etc. Since most of these are configurable
through
# the rc-file anyway, there are no longer seperate defines for each.
XMAMEROOT = /usr/games/lib/$(NAME)
##############################################################################
# *** Input Devices
##############################################################################
# Select one or more joystick types which you want to use, which one is
# actually used can be selected runtime with the -joytype switch.
# *** for using X Input Extensions based joystick
# This is known to not work right now ;)
# ( Recommended if available. Of course: doesn't work in SVGALib arch
...)
# You should also declare a default name for input device.
# and choose polling method ( event processing or device polling )
# use provided program "xlistdev" to now available ones
# and dont forget to include library in linker definition !!
# JSX11 = -DX11_JOYSTICK
# JSNAME = \"keyboard\"
# JSPOLL = -DUSE_X11_JOYEVENTS
# JSLIB = -lXi
# On iX86 based OS's, if supported, you can use standard joystick driver
JSI386 = -DI386_JOYSTICK
# Linux FM-TOWNS game PAD joystick emulation support
# Thanks to Osamu Kurati for provided patch
# JSPAD = -DLIN_FM_TOWNS
##############################################################################
# *** Audio features
# ( only used if audio is available and enabled at compile-time )
##############################################################################
# *** Do you want linear interpolation in mixer? Uncomment following
line
# Some OS's ( AIX ) makes terrible noise if these feature is set
# so you can test it and decide....
S_LIN = -DFANCY_SOUND
# *** If your system supports query audio buffer size (like IRIX or
Linux )
# you might decide to use these feature. Otherwise, you should use a
# timer based audio code.
S_TIM = -DDONTUSE_TIMER
# S_TIM = -DUSE_TIMER
# *** When using timer, you should provide the frequency to generate
audio sample
# frames in your system. See readme.unix notes about these item
#
S_AFR = -DAUDIO_TIMER_FREQ=50
##############################################################################
# *** special
##############################################################################
# uncomment this if you want network-play! see
doc/multiplayer-readme.txt
# It doesn't work correctly under all circumstances yet, it can't hurt
# to enable it though, it won't matter for normal games. But don't
expect
# network play to work perfect. I'll work on that though, I should have
taken
# the time to test this earlier ;)
#
# The dos boys are working on some kind of net support in the core,
# so this is currently broken !
MAMENET = -DMAME_NET
# *** Does your system support gettimeofday() function? If do, we
encourage you
# to enable this feature . Else .... comment it :-(
TD = -DHAVE_GETTIMEOFDAY
#uncommenty the next lines to build xmame with build in debugger, only
#supported for x11 and svgalib. Only enable this if you need it, if you
#want to develop drivers that is, since it slows down xmame
concederably.
#DEBUG = -DMAME_DEBUG
#DEBUGLIBS = -lcurses
#uncomment the next lines to use x86-asm cpu cores, this is only
supported
#for some 386 machines with nasm-0.96 or higher available in your path!
# uncomment next line to use Assembler 68k engine
# X86_ASM_68K = 1
#ELF settings: no leading underscores + elf object format Tested with
#linux/i386. Also for e.g. Solaris/x86
ASM_STRIP = contrib/strip_
NASM_FMT = -f elf
#aout settings: with leading underscores + aout object format. Tested
with
#netBSD i386. Also for older linux installs, freebsd and others.
#ASM_STRIP = true # no strip command
#NASM_FMT = -f aoutb
##############################################################################
# *** Select your display method, choose only one
##############################################################################
# note: x11 is the only one supported on all platforms
### X11
#DISPLAY_METHOD = x11
### svgalib, only supported under linux
#DISPLAY_METHOD = svgalib
### ggi, only tested under linux
#DISPLAY_METHOD = ggi
### OpenGL under X11
#DISPLAY_METHOD = xgl
### glide under X11
DISPLAY_METHOD = xfx
### glide in console mode
#DISPLAY_METHOD = svgafx
### OpenStep bitmaps
#DISPLAY_METHOD = openstep
##############################################################################
# *** X windows options, only needed for X as display method
##############################################################################
# *** If you don't have the MIT-Shared Memory X Extensions, comment the
# following: ( Test if available by mean of xdpyinfo command )
MSHM = -DUSE_MITSHM
#if you are running xfree86 and wnat to use DGA, uncomment the
following:
#DGA = -DUSE_DGA
DGALIBS = -lXxf86dga -lXxf86vm
# *** If you have the XIL library (Solaris 2.5.1 and higher), uncomment
# the following lines:
# XILFLAGS = -DUSE_XIL
# XILLIBS = -lxil -lpthread
# standard location for X11
# X11INC = -I/usr/include/X11
# X11LIB = -L/usr/lib/X11
# standard location for XFree86
X11INC = -I/usr/X11R6/include
X11LIB = -L/usr/X11R6/lib
# for Sun systems
# X11INC = -I/usr/openwin/include
# X11LIB = -L/usr/openwin/lib
# for non-standard locations
# X11INC = -I/usr/local/include/X11
# X11LIB = -L/usr/local/lib
# *** Use this definition as default X Display
DP = \":0.0\"
##############################################################################
# OpenGL info -- configure if you are using the xgl display option
##############################################################################
# OpenGL include path
GLINCPATH= /usr/src/Mesa-3.0/include
# OpenGL library path
GLLIBPATH= /usr/src/Mesa-3.0/lib
# OpenGL libs
GLLIBS= -lMesaGL -lMesaGLU
##############################################################################
# glide info -- configure if you are using the xfx or svgafx display
options
##############################################################################
# glide include path
GLIDEINCPATH= /usr/include/glide
# glide library path
GLIDELIBPATH= /usr/lib
# glide libs
GLIDELIBS= -lglide2x
##############################################################################
# *** architecture, Choose your OS (!!only one!!)
##############################################################################
######## PowerPC/Linux
# ARCH = linux_powerpc
######## Alpha/Linux
# ARCH = linux_alpha
######## ix86/Linux
ARCH = linux_i386
######## ix86/FreeBSD and ix86/BSDi
# ARCH = FREEBSD
######## ix86/NetBSD
# ARCH = netbsd_i386
######## Alpha/NetBSD
# ARCH = netbsd_alpha
######## Sparc/SunOS ( no sound )
# ARCH = sunos
######## ix86/Solaris
# ARCH = solaris_i386
######## Sparc/Solaris
# ARCH = solaris
######## Mips/IRIX ( with sound requires the dmedia package )
# ARCH = irix
######## Mips/IRIX ( with sound using the new al package)
# ARCH = irix_al
######## Mips/IRIX ( without sound )
# ARCH = irix_nosound
######## HP-PA/hpux ( no sound )
# ARCH = hpux
######## IBM/aix ( with sound, you'll need the UMS and SOM lpp's
installed ( under AIX4 ))
# ARCH = aix
######## IBM/aix ( without sound )
# ARCH = aix_nosound
######## RISC/ultrix ( no sound )
# ARCH = ultrix
######## Alpha/Digital Unix
# ARCH = alpha_dux
######## SCO Unixware 7
# ARCH = unixware7
######## OpenStep/MacOS X Server
# ARCH = next_mach
###########################################################################
# All done, type make -f makefile.unix and enjoy xmame/xmess ;)
# No configurable options below this line....
###########################################################################
##############################################################################
# **** Architecture dependent defs. Only change if you know what're you
doing...
##############################################################################
#note : -D$(ARCH) is added automaticly later on.
DEFS.linux_powerpc = -DALIGN_INTS -DALIGN_SHORTS
DEFS.linux_alpha = -DLSB_FIRST -DAXP_ASM -DALIGN_INTS -DALIGN_SHORTS
-D__LP64__
DEFS.linux_i386 = -DLSB_FIRST -DX86_ASM
DEFS.FREEBSD = -DLSB_FIRST -DX86_ASM
DEFS.netbsd_i386 = -DLSB_FIRST -DX86_ASM
DEFS.netbsd_alpha = -DLSB_FIRST -DAXP_ASM -DALIGN_INTS -DALIGN_SHORTS
-D__LP64__
DEFS.sunos = -DCLOCKS_PER_SEC=1000000 -DALIGN_INTS
-DALIGN_SHORTS
DEFS.solaris = -DALIGN_INTS -DALIGN_SHORTS
DEFS.solaris_i386 = -DLSB_FIRST -Dsolaris
DEFS.irix = -DALIGN_INTS -DALIGN_SHORTS -DSGI_FIX_MWA_NOP
DEFS.irix_al = -DALIGN_INTS -DALIGN_SHORTS -DSGI_FIX_MWA_NOP
-Dirix -DIRIX_HAVE_al
DEFS.irix_nosound = -DALIGN_INTS -DALIGN_SHORTS -DSGI_FIX_MWA_NOP
-Dirix
DEFS.aix = -DALIGN_INTS -DALIGN_SHORTS
DEFS.aix_nosound = -DALIGN_INTS -DALIGN_SHORTS -Daix
DEFS.hpux = -DALIGN_INTS -DALIGN_SHORTS
DEFS.ultrix = -DLSB_FIRST -DALIGN_INTS -DALIGN_SHORTS
DEFS.unixware7 = -DLSB_FIRST
# Under MacOS X Server the BSD43 define is not needed
DEFS.next_mach = -DLSB_FIRST -DBSD43
DEFS.alpha_dux = -DLSB_FIRST -DALIGN_INTS -DALIGN_SHORTS -DAXP_ASM
-D__LP64__
##############################################################################
# **** Architecture dependent libs. Only change if you know what're you
doing...
##############################################################################
LIBS.solaris = -lnsl -lsocket
LIBS.solaris_i386 = -lnsl -lsocket
LIBS.irix = -laudio
LIBS.irix_al = -laudio
LIBS.aix = -lUMSobj
LIBS.unixware7 = -lsocket
##############################################################################
# **** Architecture dependent cflags. Only change if you know what're
you doing...
##############################################################################
CFLAGS.linux_powerpc = -fsigned-char
CFLAGS.aix = -I/usr/include/UMS -I/usr/lpp/som/include
CFLAGS.next_mach = -traditional-cpp
#############################################################################
# **** Display dependent libs. Only change if you know what're you
doing...
#############################################################################
LIBS.x11 = $(X11LIB) $(XILLIBS) $(DGALIBS) $(JSLIB) -lX11 -lXext
LIBS.svgalib = -lvga -lvgagl
LIBS.ggi = -lggi
LIBS.xgl = $(X11LIB) -L$(GLLIBPATH) -lX11 -lXext $(GLLIBS) -ljpeg
LIBS.xfx = $(X11LIB) -L$(GLIDELIBPATH) -lX11 -lXext $(GLIDELIBS)
LIBS.svgafx = -lvga -lvgagl -L$(GLIDELIBPATH) $(GLIDELIBS)
LIBS.openstep = -framework AppKit -framework SoundKit
#############################################################################
# **** Display dependent cflags. Only change if you know what're you
doing...
#############################################################################
CFLAGS.x11 = $(X11INC) $(DGA) $(MSHM) $(XILFLAGS) $(JSX11) \
$(JSPOLL) "-DX11_JOYNAME='$(JSNAME)'"
CFLAGS.ggi = -I/usr/local/include
CFLAGS.xgl = $(X11INC) $(MSHM) -I$(GLINCPATH) $(JSX11) \
$(JSPOLL) "-DX11_JOYNAME='$(JSNAME)'"
CFLAGS.xfx = $(X11INC) $(MSHM) -I$(GLIDEINCPATH) $(JSX11) \
$(JSPOLL) "-DX11_JOYNAME='$(JSNAME)'"
CFLAGS.svgafx = -I$(GLIDEINCPATH)
#############################################################################
# **** Display dependent install. Only change if you know what're you
doing...
#############################################################################
INST.x11 = doinstall
INST.ggi = doinstall
INST.svgalib = doinstallsuid
INST.xgl = doinstallsuid copycab
INST.xfx = doinstallsuid
INST.svgafx = doinstallsuid
#############################################################################
# these are the object subdirectories that need to be created.
#############################################################################
OBJDIRS = obj \
obj/drivers obj/machine obj/vidhrdw obj/sndhrdw obj/cpu
obj/sound \
obj/cpu/i8039 obj/cpu/i8085 obj/cpu/i86 obj/cpu/m6502 \
obj/cpu/m68000 obj/cpu/m6805 obj/cpu/m6800 obj/cpu/m6809 \
obj/cpu/s2650 obj/cpu/t11 obj/cpu/z80 obj/cpu/tms34010 \
obj/cpu/tms9900 obj/cpu/z8000 obj/cpu/tms32010 obj/cpu/h6280 \
obj/cpu/ccpu obj/cpu/pdp1
INCDIRS = -Isrc -Isrc/unix
all: $(OBJDIRS) osdepend $(NAME).$(DISPLAY_METHOD)
include makefile.objs
# Perhaps one day original mame/mess sources will use POSIX strcasecmp
and M_PI
# instead MS-DOS counterparts... ( a long and sad history ...)
CFLAGS = $(TD) $(DBGFLAGS) $(OPTFLAGS) $(IL) $(INCDIRS)
$(CFLAGS.$(ARCH)) \
-Dstricmp=strcasecmp -DPI=M_PI -DUNIX -DSIGNED_SAMPLES \
$(DEFS.$(ARCH)) -D$(ARCH) -D$(DISPLAY_METHOD) $(MAMENET)
$(DEBUG) \
-Iobj/cpu/m68000 -Isrc/cpu/m68000 $(EXTRA_INCLUDES) \
$(SOUNDDEFS) $(CPUDEFS) $(ASMDEFS)
#CONFIG are the cflags used to build the unix tree, this is were most
defines go
CONFIG = $(CFLAGS) $(CFLAGS.$(DISPLAY_METHOD)) $(JSI386) $(JSPAD) \
$(S_LIN) $(S_TIM) $(S_AFR) -DXMAMEROOT='\"$(XMAMEROOT)\"' \
-DVERSION='\"$(VERSION)\"' -DNAME='\"$(NAME)\"' \
-DDISPLAY_METHOD='\"$(DISPLAY_METHOD)\"'
OBJS = $(OBJCORE) obj/unix.$(DISPLAY_METHOD)/osdepend.a \
obj/unix.$(DISPLAY_METHOD)/vector.o
LIBS = $(LIBS.$(ARCH)) $(LIBS.$(DISPLAY_METHOD)) $(DEBUGLIBS)
$(EXTRA_LIBS) \
-lz -lm
$(NAME).$(DISPLAY_METHOD): $(OBJS)
$(LD) -o $@ $(OBJS) $(LIBS)
$(OBJDIRS):
-mkdir $@
xlistdev: contrib/xlistdev.c
$(CC) $(X11INC) contrib/xlistdev.c -o xlistdev $(JSLIB)
$(LIBS.$(ARCH)) $(LIBS.$(DISPLAY_METHOD)) -lm
osdepend:
( \
cd src/unix; \
$(MAKE) CC="$(CC)" RANLIB="$(RANLIB)" ARCH="$(ARCH)"
DISPLAY_METHOD="$(DISPLAY_METHOD)" CFLAGS="$(CONFIG)" \
)
obj/%.o: src/%.c
$(CC) $(CFLAGS) -o $@ -c $<
obj/%.a:
ar rcv $@ $^
$(RANLIB) $@
# special cases for the 68000 core
#
# The objs created from generated c-files
M68000_GENERATED_OBJS = \
obj/cpu/m68000/m68kops.o obj/cpu/m68000/m68kopac.o \
obj/cpu/m68000/m68kopdm.o obj/cpu/m68000/m68kopnz.o
# this generates the C source files for the 68000 emulator
obj/cpu/m68000/%.c obj/cpu/m68000/%.h: src/cpu/m68000/m68kmake.c
src/cpu/m68000/m68k_in.c
$(CC) $(CFLAGS) -o obj/cpu/m68000/m68kmake
src/cpu/m68000/m68kmake.c
obj/cpu/m68000/m68kmake obj/cpu/m68000 src/cpu/m68000/m68k_in.c
# to compile generated C-files
obj/cpu/m68000/%.o: obj/cpu/m68000/%.c
$(CC) $(CFLAGS) -o $@ -c $<
# src/cpu/m68000/m68kcpu.c needs a generated .h file
obj/cpu/m68000/m68kcpu.o: obj/cpu/m68000/m68kops.h
# The m68000 asm core
obj/cpu/m68000/68kem.o: src/cpu/m68000/make68k.c
$(CC) $(CFLAGS) -o obj/cpu/m68000/make68k
src/cpu/m68000/make68k.c
obj/cpu/m68000/make68k obj/cpu/m68000/68kem.asm
$(ASM_STRIP) obj/cpu/m68000/68kem.asm
nasm $(NASM_FMT) -o obj/cpu/m68000/68kem.o
obj/cpu/m68000/68kem.asm
#some tricks, since vector.o these days is display-method dependent:
obj/unix.$(DISPLAY_METHOD)/vector.o: src/vidhrdw/vector.c
$(CC) $(CFLAGS) -o $@ -c $<
#make sure this isn't accidently in makefile.objs:
obj/vidhrdw/vector.o: bla
install: $(INST.$(DISPLAY_METHOD)) install-man
@echo $(NAME) $(VERSION) for $(ARCH) installation completed
install-man:
@echo installing manual pages under $(MANDIR) ...
-mkdir $(MANDIR)
$(INSTALL) doc/$(NAME).man $(MANDIR)/$(NAME).6
doinstall:
@echo installing binaries under $(DESTDIR)...
$(INSTALL) $(NAME).$(DISPLAY_METHOD) $(DESTDIR)
doinstallsuid:
@echo installing binaries under $(DESTDIR)...
$(INSTALL) $(NAME).$(DISPLAY_METHOD) $(DESTDIR)
chmod 4755 $(DESTDIR)/$(NAME).$(DISPLAY_METHOD)
copycab:
@echo installing cabinet files under $(XMAMEROOT)...
$(INSTALL) -R cab $(XMAMEROOT)
clean:
rm -fR obj $(NAME).* xlistdev
bindist:
tar zcvf $(DISTDIR)/$(NAME).$(ARCH)-$(DISPLAY_METHOD)_bin.tgz
$(NAME).$(DISPLAY_METHOD) doc
srcdist: clean
( cd ..; tar zcvf $(DISTDIR)/$(NAME)-$(VERSION)_src.tgz
$(NAME)-$(VERSION) )
---------------------------------------------------------------------------
Send administrative requests to [EMAIL PROTECTED]