##### Variables that you shouldn't care about #####
# Sound objects
-OBJ_COMMONSOUND=snd_dma.o snd_mem.o snd_mix.o snd_ogg.o
+OBJ_COMMONSOUND=snd_main.o snd_mem.o snd_mix.o snd_ogg.o snd_wav.o
OBJ_NOSOUND=snd_null.o
+OBJ_OSSSOUND=$(OBJ_COMMONSOUND) snd_oss.o
+LIB_OSSSOUND=
# CD objects
-OBJ_COMMONCD=cd_shared.o
OBJ_NOCD=cd_null.o
# Common objects
OBJ_COMMON= \
+ cd_shared.o \
cgame.o \
cgamevm.o \
cl_collision.o \
model_sprite.o \
netconn.o \
palette.o \
+ polygon.o \
portals.o \
pr_cmds.o \
pr_edict.o \
vid_shared.o \
view.o \
wad.o \
- wavefile.o \
winding.o \
world.o \
zone.o
# being linked, because it should be recompiled every time an executable is
# built to give the executable a proper date string
OBJ_SV= builddate.c sys_linux.o vid_null.o $(OBJ_NOSOUND) $(OBJ_NOCD) $(OBJ_COMMON)
-OBJ_SDL= builddate.c sys_sdl.o vid_sdl.o $(OBJ_NOSOUND) $(OBJ_NOCD) $(OBJ_COMMON)
+OBJ_SDL= builddate.c sys_sdl.o vid_sdl.o $(OBJ_COMMONSOUND) snd_sdl.o cd_sdl.o $(OBJ_COMMON)
# Compilation
CFLAGS_RELEASE=
OPTIM_DEBUG=
-OPTIM_RELEASE=-O2 -fno-strict-aliasing -ffast-math -fexpensive-optimizations $(CPUOPTIMIZATIONS)
+OPTIM_RELEASE=-O2 -fno-strict-aliasing -ffast-math -funroll-loops $(CPUOPTIMIZATIONS)
DO_CC=$(CC) $(CFLAGS) -c $< -o $@
OBJ_GLX= builddate.c sys_linux.o vid_glx.o $(OBJ_SOUND) $(OBJ_CD) $(OBJ_COMMON)
LDFLAGS_UNIXCOMMON=-lm
-LDFLAGS_UNIXCL=-L/usr/X11R6/lib -lX11 -lXext -lXxf86dga -lXxf86vm $(LIB_SOUND)
+#LDFLAGS_UNIXCL=-L/usr/X11R6/lib -lX11 -lXext -lXxf86dga -lXxf86vm $(LIB_SOUND)
+LDFLAGS_UNIXCL=$(UNIX_X11LIBPATH) -lX11 -lXext -lXxf86dga -lXxf86vm $(LIB_SOUND)
LDFLAGS_UNIXSDL=`sdl-config --libs`
EXE_UNIXCL=darkplaces-glx
EXE_UNIXSV=darkplaces-dedicated
##### Linux specific variables #####
-# Recommended for: anyone not using ALSA 0.5
-OBJ_LINUXSOUND=$(OBJ_COMMONSOUND) snd_oss.o
-LIB_LINUXSOUND=
-# Recommended for: anyone using ALSA 0.5
-#OBJ_LINUXSOUND=$(OBJ_COMMONSOUND) snd_alsa_0_5.o
-#LIB_LINUXSOUND=-lasound
-# Recommended for: no one (this driver needs to be updated, it doesn't compile anymore)
-#OBJ_LINUXSOUND=$(OBJ_COMMONSOUND) snd_alsa_0_9.o
+# Recommended for: anyone not using ALSA
+OBJ_LINUXSOUND=$(OBJ_OSSSOUND)
+LIB_LINUXSOUND=$(LIB_OSSSOUND)
+# Recommended for: anyone using ALSA
+#OBJ_LINUXSOUND=$(OBJ_COMMONSOUND) snd_alsa.o
#LIB_LINUXSOUND=-lasound
# Recommended for: anyone who can't use the above drivers
#OBJ_LINUXSOUND=$(OBJ_NOSOUND)
#LIB_LINUXSOUND=
# If you want CD sound in Linux
-OBJ_LINUXCD=$(OBJ_COMMONCD) cd_linux.o
+OBJ_LINUXCD=cd_linux.o
# If you want no CD audio
#OBJ_LINUXCD=$(OBJ_NOCD)
LIB_BSDSOUND=
#if you want CD sound in BSD
-OBJ_BSDCD=$(OBJ_COMMONCD) cd_bsd.o
+OBJ_BSDCD=cd_bsd.o
#if you want no CD audio
#OBJ_BSDCD=$(OBJ_NOCD)
LIB_WINSOUND=
#if you want CD sound in Win32
-OBJ_WINCD=$(OBJ_COMMONCD) cd_win.o
+OBJ_WINCD=cd_win.o
#if you want no CD audio
#OBJ_WINCD=$(OBJ_NOCD)
-OBJ_WGL= builddate.c sys_win.o vid_wgl.o conproc.o $(OBJ_WINSOUND) $(OBJ_WINCD) $(OBJ_COMMON)
+OBJ_WGL= builddate.c darkplaces.o sys_win.o vid_wgl.o conproc.o $(OBJ_WINSOUND) $(OBJ_WINCD) $(OBJ_COMMON)
# Link
LDFLAGS_WINCOMMON=-lwinmm -lwsock32
LDFLAGS_WINCL=$(LDFLAGS_WINCOMMON) -mwindows -luser32 -lgdi32 -ldxguid -ldinput -lcomctl32
LDFLAGS_WINSV=$(LDFLAGS_WINCOMMON) -mconsole -lwinmm -lwsock32
-LDFLAGS_WINSDL=$(LDFLAGS_WINCOMMON) -mwindows -luser32 -lgdi32 -ldxguid -ldinput -lcomctl32
+LDFLAGS_WINSDL=$(LDFLAGS_WINCOMMON) -mwindows -luser32 -lgdi32 -ldxguid -ldinput -lcomctl32 -lSDL
EXE_WINCL=darkplaces.exe
EXE_WINSV=darkplaces-dedicated.exe
EXE_WINSDL=darkplaces-sdl.exe
sys_sdl.o: sys_sdl.c
$(DO_CC) `sdl-config --cflags`
+snd_sdl.o: snd_sdl.c
+ $(DO_CC) `sdl-config --cflags`
+
+cd_sdl.o: cd_sdl.c
+ $(DO_CC) `sdl-config --cflags`
+
+darkplaces.o: %.o : %.rc
+ windres -o $@ $<
+
.c.o:
$(DO_CC)