#			TVM Library makefile
#
#
# tvio makefile.  All lib files are placed into the \tvm24128\lib directory.
# .obj files are placed into the objs\X directory where X is s/m/l.  These
# directorys must be present for the make to proceed correctly.
# Use the following options to make the following librarys:
#	make command		makes
#       make -Dtvio all		tvio_X.lib
#	Parallel C lib
#
#       make -Dtvios all	tvios_X.lib
#	Serial C lib
#
#       make -Dtviopp all 	tviopp_X.lib
#	CPP lib (parallel or serial)
#
#	X = the model type (s/m/l)
#
# Other options are:
#
#	-DDEBUG			Adds debuging info into objects.
#	-DMODEL=X		Specifies model type (s/m/l)  Default is s
#	-DBCROOT=c:\bc_dir	Specify alternate bc directory.  Defaule is
#				c:\bc
#	-DTVMDIR=c:\tvm_dir	Specify alternate TVM directory.  Default is
#				c:\tvm24128

.autodepend
.swap

!if $d(tvio)
LIBTYPE = tvio_
!elif $d(tvios)
LIBTYPE = tvios_
!elif $d(tviopp)
LIBTYPE = tviopp_
!else
LIBTYPE = tvio_
tvio = 1
!endif

!if $d(DEBUG)
DBG = -v
!endif

!if !$d(MODEL)
MODEL = s
!endif

!if !$d(BCROOT)
BCROOT = c:\bc
!endif

!if !$d(TVMDIR)
TVMDIR = c:\tvm24128
!endif

KEY = $(MODEL)
OBJDIR = $(TVMDIR)\objs\$(KEY)

INCLUDE = $(TVMDIR)\include;$(BCROOT)\include;
LIBDIR = $(TVMDIR)\lib

CC = $(BCROOT)\bin\bcc

CFLAGS = -c $(DBG) -m$(MODEL) -n$(OBJDIR) -w-parm -O1

BCC = $(CC) -I$(INCLUDE) $(CFLAGS)

!if $d(DEBUG)
TLIB = $(BCROOT)\bin\tlib
!else
TLIB = $(BCROOT)\bin\tlib /0
!endif

!if $d(tvio)
OBJS = 	tvio.obj 
.c.obj:
	$(BCC) $.
!endif

!if $d(tvios)
OBJS = 	tvios.obj \
	sserver.obj 
.c.obj:
	$(BCC) $.
!endif

!if $d(tviopp)
OBJS = 	tviopp.obj \
	sservpp.obj 
.cpp.obj:
	$(BCC) $.
!endif

all: $(LIBDIR)\$(LIBTYPE)$(KEY).lib

!if $d(tvio)
$(LIBDIR)\$(LIBTYPE)$(KEY).lib: $(OBJS)
     del $(LIBDIR)\$(LIBTYPE)$(KEY).lib
     $(TLIB) $(LIBDIR)\$(LIBTYPE)$(KEY).lib @&&!
+$(OBJDIR)\tvio 
!
!elif $d(tvios)
$(LIBDIR)\$(LIBTYPE)$(KEY).lib: $(OBJS)
     del $(LIBDIR)\$(LIBTYPE)$(KEY).lib
     $(TLIB) $(LIBDIR)\$(LIBTYPE)$(KEY).lib @&&!
+$(OBJDIR)\tvios  &
+$(OBJDIR)\sserver 
!
!elif $d(tviopp)
$(LIBDIR)\$(LIBTYPE)$(KEY).lib: $(OBJS)
     del $(LIBDIR)\$(LIBTYPE)$(KEY).lib
     $(TLIB) $(LIBDIR)\$(LIBTYPE)$(KEY).lib @&&!
+$(OBJDIR)\tviopp  &
+$(OBJDIR)\sservpp 
!
!endif

clean:
	del $(OBJDIR)\*.obj
