mirror of
https://github.com/Shpoike/Quakespasm.git
synced 2024-11-10 07:21:58 +00:00
add win32 makefile for watcom. it builds and runs.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1446 af15c1b1-3010-417e-b628-4374ebc0bcbd
This commit is contained in:
parent
7cea9548ce
commit
386cb1a720
1 changed files with 220 additions and 0 deletions
220
Quake/OWMakefile.win32
Normal file
220
Quake/OWMakefile.win32
Normal file
|
@ -0,0 +1,220 @@
|
|||
# makefile to build quakespasm.exe for Windows using Open Watcom:
|
||||
# wmake -f OWMakefile.win32
|
||||
|
||||
### Enable/disable codecs for streaming music support
|
||||
USE_CODEC_WAVE=1
|
||||
USE_CODEC_FLAC=1
|
||||
USE_CODEC_MP3=1
|
||||
USE_CODEC_VORBIS=1
|
||||
USE_CODEC_OPUS=1
|
||||
# either mikmod or xmp
|
||||
USE_CODEC_MIKMOD=1
|
||||
USE_CODEC_XMP=0
|
||||
USE_CODEC_UMX=1
|
||||
|
||||
# which library to use for mp3 decoding: mad or mpg123
|
||||
MP3LIB=mad
|
||||
# which library to use for ogg decoding: vorbis or tremor
|
||||
VORBISLIB=vorbis
|
||||
|
||||
WINSOCK2= 0
|
||||
|
||||
# ---------------------------
|
||||
# build variables
|
||||
# ---------------------------
|
||||
|
||||
CFLAGS = -zq -wx -bm -bt=nt -5s -sg -otexan -fp5 -fpi87 -ei -j -zp8
|
||||
|
||||
SDL_CFLAGS = -I../Windows/SDL/include
|
||||
# VC6 import library works with Watcom:
|
||||
SDL_LIBS = ../Windows/SDL/lib/SDL.lib
|
||||
|
||||
!ifeq WINSOCK2 1
|
||||
DEFWINSOCK =-D_USE_WINSOCK2
|
||||
LIBWINSOCK = ws2_32.lib
|
||||
!else
|
||||
DEFWINSOCK =
|
||||
LIBWINSOCK = wsock32.lib
|
||||
!endif
|
||||
|
||||
CFLAGS += $(DEFWINSOCK)
|
||||
NET_LIBS = $(LIBWINSOCK)
|
||||
|
||||
# note: all codec libraries are static.
|
||||
CODEC_INC = -I../Windows/codecs/include
|
||||
LIBCODEC = ../Windows/codecs/x86-watcom/
|
||||
!ifeq MP3LIB mad
|
||||
mp3_obj=snd_mp3.obj
|
||||
lib_mp3dec=$(LIBCODEC)mad.lib
|
||||
!endif
|
||||
!ifeq MP3LIB mpg123
|
||||
mp3_obj=snd_mpg123.obj
|
||||
lib_mp3dec=$(LIBCODEC)mpg123.lib
|
||||
!endif
|
||||
!ifeq VORBISLIB vorbis
|
||||
cpp_vorbisdec=
|
||||
lib_vorbisdec=$(LIBCODEC)vorbisfile.lib $(LIBCODEC)vorbis.lib $(LIBCODEC)ogg.lib
|
||||
!endif
|
||||
!ifeq VORBISLIB tremor
|
||||
cpp_vorbisdec=-DVORBIS_USE_TREMOR
|
||||
lib_vorbisdec=$(LIBCODEC)vorbisidec.lib $(LIBCODEC)ogg.lib
|
||||
!endif
|
||||
|
||||
CODECLIBS =
|
||||
!ifeq USE_CODEC_WAVE 1
|
||||
CFLAGS+= -DUSE_CODEC_WAVE
|
||||
!endif
|
||||
!ifeq USE_CODEC_FLAC 1
|
||||
CFLAGS+= -DUSE_CODEC_FLAC
|
||||
CFLAGS+= -DFLAC__NO_DLL
|
||||
CODECLIBS+= $(LIBCODEC)FLAC.lib
|
||||
!endif
|
||||
!ifeq USE_CODEC_OPUS 1
|
||||
CFLAGS+= -DUSE_CODEC_OPUS
|
||||
CODECLIBS+= $(LIBCODEC)opusfile.lib $(LIBCODEC)opus.lib $(LIBCODEC)ogg.lib
|
||||
!endif
|
||||
!ifeq USE_CODEC_VORBIS 1
|
||||
CFLAGS+= -DUSE_CODEC_VORBIS $(cpp_vorbisdec)
|
||||
CODECLIBS+= $(lib_vorbisdec)
|
||||
!endif
|
||||
!ifeq USE_CODEC_MP3 1
|
||||
CFLAGS+= -DUSE_CODEC_MP3
|
||||
CODECLIBS+= $(lib_mp3dec)
|
||||
!endif
|
||||
!ifeq USE_CODEC_MIKMOD 1
|
||||
CFLAGS+= -DUSE_CODEC_MIKMOD
|
||||
CFLAGS+= -DMIKMOD_STATIC
|
||||
CODECLIBS+= $(LIBCODEC)mikmod.lib
|
||||
!endif
|
||||
!ifeq USE_CODEC_XMP 1
|
||||
CFLAGS+= -DUSE_CODEC_XMP
|
||||
CFLAGS+= -DXMP_NO_DLL
|
||||
CODECLIBS+= $(LIBCODEC)libxmp.lib
|
||||
!endif
|
||||
!ifeq USE_CODEC_UMX 1
|
||||
CFLAGS+= -DUSE_CODEC_UMX
|
||||
!endif
|
||||
CFLAGS+= $(CODEC_INC)
|
||||
|
||||
COMMON_LIBS= opengl32.lib winmm.lib
|
||||
|
||||
LIBS = $(CODECLIBS) $(SDL_LIBS) $(COMMON_LIBS) $(NET_LIBS)
|
||||
|
||||
# ---------------------------
|
||||
# targets
|
||||
# ---------------------------
|
||||
|
||||
all: quakespasm.exe
|
||||
|
||||
# ---------------------------
|
||||
# rules
|
||||
# ---------------------------
|
||||
|
||||
.EXTENSIONS: .res .rc
|
||||
|
||||
.c.obj:
|
||||
wcc386 $(INCLUDES) $(CFLAGS) $(SDL_CFLAGS) -fo=$^@ $<
|
||||
SDL_win32_main.obj: ../Windows/SDL/SDL_win32_main.c
|
||||
wcc386 $(CFLAGS) $(SDL_CFLAGS) -fo=$^@ $<
|
||||
quakespasm.res: ../Windows/QuakeSpasm.rc
|
||||
wrc -q -r -bt=nt -I../Windows -fo=$^@ $<
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# objects
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
MUSIC_OBJS= bgmusic.obj &
|
||||
snd_codec.obj &
|
||||
snd_flac.obj &
|
||||
snd_wave.obj &
|
||||
snd_vorbis.obj &
|
||||
snd_opus.obj &
|
||||
$(mp3_obj) &
|
||||
snd_mikmod.obj &
|
||||
snd_xmp.obj &
|
||||
snd_umx.obj
|
||||
COMOBJ_SND = snd_dma.obj snd_mix.obj snd_mem.obj $(MUSIC_OBJS)
|
||||
SYSOBJ_SND = snd_sdl.obj
|
||||
SYSOBJ_CDA = cd_sdl.obj
|
||||
SYSOBJ_INPUT = in_sdl.obj
|
||||
SYSOBJ_GL_VID= gl_vidsdl.obj
|
||||
SYSOBJ_NET = net_win.obj net_wins.obj net_wipx.obj
|
||||
SYSOBJ_SYS = pl_win.obj sys_sdl_win.obj
|
||||
SYSOBJ_MAIN= main_sdl.obj SDL_win32_main.obj
|
||||
SYSOBJ_RES = quakespasm.res
|
||||
|
||||
GLOBJS = &
|
||||
gl_refrag.obj &
|
||||
gl_rlight.obj &
|
||||
gl_rmain.obj &
|
||||
gl_fog.obj &
|
||||
gl_rmisc.obj &
|
||||
r_part.obj &
|
||||
r_world.obj &
|
||||
gl_screen.obj &
|
||||
gl_sky.obj &
|
||||
gl_warp.obj &
|
||||
$(SYSOBJ_GL_VID) &
|
||||
gl_draw.obj &
|
||||
image.obj &
|
||||
gl_texmgr.obj &
|
||||
gl_mesh.obj &
|
||||
r_sprite.obj &
|
||||
r_alias.obj &
|
||||
r_brush.obj &
|
||||
gl_model.obj
|
||||
|
||||
OBJS = strlcat.obj &
|
||||
strlcpy.obj &
|
||||
$(GLOBJS) &
|
||||
$(SYSOBJ_INPUT) &
|
||||
$(COMOBJ_SND) &
|
||||
$(SYSOBJ_SND) &
|
||||
$(SYSOBJ_CDA) &
|
||||
$(SYSOBJ_NET) &
|
||||
net_dgrm.obj &
|
||||
net_loop.obj &
|
||||
net_main.obj &
|
||||
chase.obj &
|
||||
cl_demo.obj &
|
||||
cl_input.obj &
|
||||
cl_main.obj &
|
||||
cl_parse.obj &
|
||||
cl_tent.obj &
|
||||
console.obj &
|
||||
keys.obj &
|
||||
menu.obj &
|
||||
sbar.obj &
|
||||
view.obj &
|
||||
wad.obj &
|
||||
cmd.obj &
|
||||
common.obj &
|
||||
crc.obj &
|
||||
cvar.obj &
|
||||
cfgfile.obj &
|
||||
host.obj &
|
||||
host_cmd.obj &
|
||||
mathlib.obj &
|
||||
pr_cmds.obj &
|
||||
pr_edict.obj &
|
||||
pr_exec.obj &
|
||||
sv_main.obj &
|
||||
sv_move.obj &
|
||||
sv_phys.obj &
|
||||
sv_user.obj &
|
||||
world.obj &
|
||||
zone.obj &
|
||||
$(SYSOBJ_SYS) $(SYSOBJ_MAIN)
|
||||
|
||||
# ------------------------
|
||||
# Watcom build rules
|
||||
# ------------------------
|
||||
|
||||
# 1 MB stack size.
|
||||
quakespasm.exe: $(OBJS) quakespasm.res
|
||||
wlink N $@ SYS NT_WIN OPTION STACK=0x100000 LIBR {$(LIBS)} F {$(OBJS)}
|
||||
wrc -q $^*.res
|
||||
|
||||
clean: .symbolic
|
||||
rm -f *.obj *.res *.err quakespasm.exe
|
||||
|
Loading…
Reference in a new issue