# Filename   : Makefile
# Adapted from one written by : Stephen Cerniglia
# Creation Date : February 21, 1999

# Compiler Macros
IDL	 = omniidl2
IDLFLAGS = -a -h .h -s Skel.cpp 
CPP      = cl.exe
OMNIDEFS = /D__WIN32__ /D__x86__ /D__NT__ /D__OSVERSION__=4
CPPFLAGS = /c /O2 /MD /GX  $(OMNIDEFS)
LD       = link.exe
#LDFLAGS  = -nologo
#LDFLAGS  = /nologo /debug /subsystem:console /incremental:no

# Project Macros
PROJECT = matrix
SERVER  = server
CLIENT  = client
LIBDIR  = d:\dsc\omniorb\omniorb_2.7.0\lib\x86_win32
OMNILIBS = omniDynamic270_rt.lib omniORB270_rt.lib \
   omnithread2_rt.lib wsock32.lib advapi32.lib \
   -libpath:d:\dsc\omniorb\omniORB_2.7.0\lib\x86_win32
INCLDIR = /ID:\dsc\omniorb\OmniORB_2.7.0\include


all: idl both server client

both: nuweb
	$(CPP) $(INCLDIR) $(CPPFLAGS) $(PROJECT)Skel.cpp \
              /Fo$(PROJECT).obj
	$(CPP) $(INCLDIR) $(CPPFLAGS) $(PROJECT)DynSkel.cpp \
              /Fo$(PROJECT)Dyn.obj

server: nuweb
	$(CPP) $(INCLDIR) $(CPPFLAGS) $(SERVER).cpp \
              /Fo$(SERVER).obj
	$(LD) $(LDFLAGS) -out:$(SERVER).exe $(OMNILIBS) \
              $(PROJECT).obj $(SERVER).obj

client: nuweb
	$(CPP) $(INCLDIR) $(CPPFLAGS) $(CLIENT).cpp \
              /Fo$(CLIENT).obj
	$(LD) $(LDFLAGS) -out:$(CLIENT).exe $(OMNILIBS) \
              $(PROJECT).obj $(PROJECT)Dyn.obj $(CLIENT).obj

idl: nuweb
	$(IDL) $(IDLFLAGS) $(PROJECT).idl

zip: nuweb
	zip all *.cpp *.h *.idl Makefile

clean:
	del *.obj
	del *.exe
	del $(PROJECT)Skel.cpp
	del $(PROJECT).h
	del *.pdb

nuweb: matrix.w
	nuweb matrix

doc: nuweb
	latex matrix
	nuweb matrix
	latex matrix
	dvips -o matrix.ps matrix
