raze/polymer/eduke32/Makefile.watcom
2008-03-08 05:23:15 +00:00

149 lines
3.2 KiB
Text

# EDuke32 Makefile for Watcom Make
SRC=source
OBJ=obj
EROOT=..\build
EINC=$(EROOT)\include
EOBJ=eobj
INC=$(SRC)
o=obj
ENGINELIB=engine.lib
EDITORLIB=build.lib
!ifdef __LOADDLL__
! loaddll wcc386 wccd386
!endif
DXROOT=c:\sdks\msc\dx7
ENGINEOPTS=-dSUPERBUILD -dPOLYMOST -dUSE_OPENGL
CC=wcc386
CXX=wpp386
CFLAGS= -zq -5r -s -orb -fp5 -d2 -db &
-i=$(INC) -i=$(EINC) -i=$(SRC)\jmact -i=$(SRC)\jaudiolib -i=$(DXROOT)\include &
-dRENDERTYPEWIN=1 -dNOCOPYPROTECT $(ENGINEOPTS)
LIBS=wsock32.lib dxguid.lib winmm.lib #opengl32.lib
WASMFLAGS=-d1
EXESUFFIX=.exe
JMACTOBJ=$(OBJ)\util_lib.$o &
$(OBJ)\file_lib.$o &
$(OBJ)\control.$o &
$(OBJ)\keyboard.$o &
$(OBJ)\mouse.$o &
$(OBJ)\mathutil.$o &
$(OBJ)\scriplib.$o
JAUDIOLIB_FX_STUB=$(OBJ)\jaudiolib_fxstub.$o
JAUDIOLIB_MUSIC_STUB=$(OBJ)\jaudiolib_musicstub.$o
JAUDIOLIB_FX=$(OBJ)\mv_mix.$o &
$(OBJ)\mv_mix16.$o &
$(OBJ)\mvreverb.$o &
$(OBJ)\pitch.$o &
$(OBJ)\multivoc.$o &
$(OBJ)\openal.$o &
$(OBJ)\ll_man.$o &
$(OBJ)\fx_man.$o &
$(OBJ)\dsoundout.$o
JAUDIOLIB_MUSIC=$(OBJ)\midi.$o &
$(OBJ)\mpu401.$o &
$(OBJ)\music.$o
#JAUDIOLIBOBJ=$(JAUDIOLIB_MUSIC) $(JAUDIOLIB_FX) $(OBJ)\sounds.$o
#JAUDIOLIBOBJ=$(JAUDIOLIB_MUSIC_STUB) $(JAUDIOLIB_FX_STUB) $(OBJ)\sounds.$o
GAMEOBJS=$(OBJ)\game.$o &
$(OBJ)\actors.$o &
$(OBJ)\anim.$o &
$(OBJ)\gamedef.$o &
$(OBJ)\gameexec.$o &
$(OBJ)\gamevars.$o &
$(OBJ)\global.$o &
$(OBJ)\menus.$o &
$(OBJ)\namesdyn.$o &
$(OBJ)\player.$o &
$(OBJ)\premap.$o &
$(OBJ)\savegame.$o &
$(OBJ)\sector.$o &
$(OBJ)\rts.$o &
$(OBJ)\config.$o &
$(OBJ)\animlib.$o &
$(OBJ)\testcd.$o &
$(OBJ)\osdfuncs.$o &
$(OBJ)\osdcmds.$o &
$(OBJ)\winbits.$o &
$(OBJ)\startwin.game.$o &
$(JMACTOBJ) &
$(JAUDIOLIBOBJ)
EDITOROBJS=$(OBJ)\astub.$o
# RULES
.EXTENSIONS: .wasm .res .rc
.wasm: $(SRC)\
.wasm: $(SRC)\jaudiolib
.c: $(SRC)\
.cpp: $(SRC)\
.c: $(SRC)\jmact
.c: $(SRC)\jaudiolib
.c: $(SRC)\util
.rc: $(SRC)\misc
.wasm.$o:
wasm $(WASMFLAGS) -fo=$(OBJ)\.$o $[@
.c.$o:
$(CC) $(CFLAGS) -fo=$(OBJ)\.$o $[@
.cpp.$o:
$(CXX) $(CFLAGS) -fo=$(OBJ)\.$o $[@
.rc.res:
wrc -i=$(EINC) -i=$(SRC) -fo=$^*.res -r $[@
# TARGETS
all: eduke32$(EXESUFFIX) build$(EXESUFFIX) .SYMBOLIC
%null
eduke32$(EXESUFFIX): $(GAMEOBJS) $(OBJ)\gameres.res $(EOBJ)\$(ENGINELIB)
wlink NAME $@ &
SYSTEM WIN95 &
DEBUG ALL &
FILE { $(GAMEOBJS) $(ENGINEOBJS) } &
RESOURCE $(OBJ)\gameres.res &
LIBPATH $(DXROOT)\lib &
LIBPATH $(EOBJ) &
LIBRARY { $(ENGINELIB) $(LIBS) }
mapster32$(EXESUFFIX): $(EDITOROBJS) $(OBJ)\buildres.res $(EOBJ)\$(ENGINELIB) $(EOBJ)\$(EDITORLIB)
wlink NAME $@ &
SYSTEM WIN95 &
DEBUG ALL &
FILE { $(EDITOROBJS) } &
RESOURCE $(OBJ)\buildres.res &
LIBPATH $(DXROOT)\lib &
LIBPATH $(EOBJ) &
LIBRARY { $(LIBS) $(ENGINELIB) $(EDITORLIB) }
!include Makefile.deps
cwd=$+ $(%cwd) $-
enginelib editorlib: .SYMBOLIC
-mkdir $(EOBJ)
%write $(EOBJ)\overrides.mak OBJ=$(cwd)\$(EOBJ)
%write $(EOBJ)\overrides.mak CFLAGS=$(ENGINEOPTS)
cd $(EROOT)
wmake -f Makefile.watcom OVERRIDES=$(cwd)\$(EOBJ)\overrides.mak $@
cd $(cwd)
$(EOBJ)\$(EDITORLIB): editorlib .SYMBOLIC
$(EOBJ)\$(ENGINELIB): enginelib .SYMBOLIC
# PHONIES
clean: .SYMBOLIC
-del /q $(OBJ)\* eduke32$(EXESUFFIX) mapster32$(EXESUFFIX)
veryclean: clean .SYMBOLIC
-del /q $(EOBJ)\*