#Makefile for OS/2
#Usage: nmake /F makefile.os2

#Change this path/drive for your system
TOP=

INCLUDE=$(TOP)\OPENGL\TOOLS\viewperf\vpaux\libaux;$(TOP)\OPENGL\include;$(TOP)\OPENGL\include\GL;.;$(INCLUDE) 

COMMON = /Ms /Ss /W1 /Q+ /DLITTLE_ENDIAN /DOS2
POPTIMIZE = /Gf+ /Gi+ /G5 /O+ /Oi+ /Os+
OPTIMIZE = /Gf+ /Gi+ /G4 /O+ /Oi+ /Os+
DEBUG = /Ti+ /O- /Oi- /Debug
OPTIMIZE_OR_DEBUG = $(OPTIMIZE)
cc = icc $(OPTIMIZE_OR_DEBUG) $(COMMON) /C+ /Ge+ /Fo$@
ICCEXE = icc $(OPTIMIZE_OR_DEBUG) $(COMMON) /C- /Ge+
#LINK = LINK386 /ALIGN:32 /EXEPACK /NOI /NOE
LINK = LINK386 /ALIGN:32 /NOD /M  /EXEPACK /NOI /DE /C

LIBS = vpaux.lib opengl.lib

include VP_OBJS.WIN

MSH_SRC = $(MSH_OBJ:.obj=.c)
PLY_SRC = $(PLY_OBJ:.obj=.c)
TRI_SRC = $(TRI_OBJ:.obj=.c)
QAD_SRC = $(QAD_OBJ:.obj=.c)
EVT_SRC = $(EVT_OBJ:.obj=.c)
BCH_SRC = $(BCH_OBJ:.obj=.c)
RND_OBJ = $(MSH_OBJ) $(PLY_OBJ) $(TRI_OBJ) $(QAD_OBJ)
RND_SRC = $(MSH_SRC) $(PLY_SRC) $(TRI_SRC) $(QAD_SRC)

all: viewperf.exe

viewperf.exe:    $(EVT_OBJ)  $(BCH_OBJ) $(RND_OBJ) objs\viewperf.obj
	$(LINK)   @VP_LINK.OS2 

objs\viewperf.obj : objs\viewperf.c
	icc $(COMMON) /C+ /Ge+ /Fo$@  $(@:.obj=.c)

objs\EnvOS2.obj : objs\EnvOS2.c
	$(cc) $(@:.obj=.c) 

objs\clock.obj : objs\clock.c
	$(cc) $(@:.obj=.c) 

$(MSH_OBJ) :
	$(cc) /D$(@F:.obj=) $(@:.obj=.c)

$(PLY_OBJ) :
	$(cc) /D$(@F:.obj=) $(@:.obj=.c)

$(TRI_OBJ) :
	$(cc) /D$(@F:.obj=) $(@:.obj=.c)

$(QAD_OBJ) :
	$(cc) /D$(@F:.obj=) $(@:.obj=.c)

$(EVT_OBJ) :
	$(cc) /D$(@F:.obj=) $(@:.obj=.c)

objs\viewperf.c : viewperf.c evtJT.h  mshJT.h  plyJT.h  qadJT.h  triJT.h vpProtos.h viewperf.h
	copy viewperf.c $@

objs\clock.c : clock.c
	copy clock.c $@

objs\Env.c : EnvOS2.c
	copy Env.c $@

$(MSH_SRC) : mshF.c
	copy $? $@

$(PLY_SRC) : plyF.c
	copy $? $@

$(QAD_SRC) : qadF.c
	copy $? $@

$(TRI_SRC) : triF.c
	copy $? $@

$(EVT_SRC) : evtF.c
	copy $? $@

clean:
	del $(BCH_OBJ) $(RND_OBJ) $(EVT_OBJ)
	del $(BCH_SRC) $(RND_SRC) $(EVT_SRC)
