#
# MAKEFILE.B32: Borland Make file for TECO-C, 32 bit windows
# Last updated: 9/9/98
#
# Command line:
#
#	make -fmakefile.b32  [-DALL]
#			   [-DMAP]
#			   [-DNODEBUG]  [-DTCPP100]
#
# -DALL
#
#	The default is to compile a TECO-C module and add it to the TECOC.LIB
#	library.  If you're compiling all the modules from scratch, -DALL will
#	compile every module first, then build the TECOC.LIB library which is
#	much faster.
#
# -DMAP
#
#	The default is to not generate a TLINK .MAP file.  The CHECKSUM_CODE
#	#define in ZPORT.H enables runtime code checksumming to insure that
#	code isn't being overwritten by stray pointers.  The checksumming
#	routines in TECOC.C require a current TLINK C .MAP file in order to
#	work, so if you enable the CHECKSUM_CODE option, be sure to compile
#	with -DMAP; and be sure you have an up-to-date .MAP file when running
#	with code checksumming.  Note: CHECKSUM_CODE doesn't work with Turbo
#	Debugger since TD modifies code as it runs.
#
# -DNODEBUG
#
#	The default is to include stack checking (tcc -N, see STKCHK below)
#	and Turbo Debugger (tcc -v) code.  For production versions of TECO-C
#	use -DNODEBUG.  This will disable stack checking (tcc -N-), disable
#	Turbo Debugger (tcc -v-), enable jump and register optimizations
#	(tcc -O -Z), generate for speed (-G), merge duplicate strings
#	(tcc -d) and use the Pascal function calling sequence (tcc -p)
#	to generate smaller and faster function calls.
#
#	Note:  this NODEBUG switch has *nothing* to do with the internal
#	debugging code enabled by setting DEBUGGING on in ZPORT.H.
#

COMPILE=bcc32 -c -w -DWIN32

!if $d(NODEBUG)				# if we're not debugging
COMPILE=$(COMPILE) -O		#   do optimizations
!else					# else
!endif					# endif

#
# TLIB options:
#
#	/c	case sensitive library
#	/e	create extended dictionary
#

TLIB_OP=/C

!if $d(NODEBUG)
TLIB_OP=$(TLIB_OP) /e
!endif

#
# how to make the TECOC.EXE file
#

tecoc.exe : tecoc.obj tecoc.lib
 bcc32 tecoc.obj tecoc.lib


#
# how to make the TECOC.OBJ module
#

tecoc.obj  : tecoc.c zport.h tecoc.h defext.h deferr.h dscren.h
 $(COMPILE) tecoc.c

#
# what constitutes the TECOC.LIB library
#

TECOC_OBJS=\
	baksrc.obj bldstr.obj clenup.obj cmatch.obj docjr.obj  doeves.obj \
	doflag.obj echoit.obj err.obj    exeats.obj exea.obj   exebar.obj \
	exebsl.obj exeb.obj   execcc.obj execln.obj execom.obj execrt.obj \
	execst.obj execta.obj exectc.obj exectd.obj execte.obj execti.obj \
	exectl.obj exectn.obj execto.obj exectp.obj exectq.obj exectr.obj \
	exects.obj exectt.obj exectu.obj exectv.obj exectw.obj exectx.obj \
	execty.obj exectz.obj exec.obj   exedgt.obj exedot.obj exedqu.obj \
	exed.obj   exeequ.obj exeesc.obj exeexc.obj exeey.obj  exee.obj \
	exefb.obj  exef.obj   exegtr.obj exeg.obj   exeh.obj   exeill.obj \
	exei.obj   exej.obj   exek.obj   exelbr.obj exelst.obj exel.obj \
	exem.obj   exenul.obj exenyi.obj exen.obj   exeopr.obj exeo.obj \
	exeprc.obj exepw.obj  exep.obj   exeqes.obj exeq.obj   exerbr.obj \
	exertp.obj exer.obj   exescl.obj exes.obj   exet.obj   exeund.obj \
	exeusc.obj exeu.obj   exev.obj   exew.obj   exex.obj   exey.obj \
	exez.obj   findes.obj findqr.obj flowec.obj flowee.obj flowel.obj \
	getara.obj getnma.obj inccbp.obj init.obj   insstr.obj isradx.obj \
	ln2chr.obj makdbf.obj makrom.obj popmac.obj pshmac.obj pushex.obj \
	rdline.obj rdpage.obj readcs.obj replac.obj search.obj singlp.obj \
	skpcmd.obj srclop.obj sserch.obj tabort.obj typbuf.obj typest.obj \
	uminus.obj wrpage.obj zfrsrc.obj zmsdos.obj

#
# how to make the TECOC.LIB library
#

!if $d(ALL)			#build entire library at once

tecoc.lib : $(TECOC_OBJS) tctlib.rsp
 del tecoc.lib
 tlib $(TLIB_OP) tecoc.lib @tctlib.rsp

.c.obj:
 $(COMPILE) $*.c

!else				#modules added to library after compile

tecoc.lib : $(TECOC_OBJS)

.c.obj:
 $(COMPILE) $*.c
 tlib $(TLIB_OP) tecoc.lib -+$*.obj

!endif

#
# The CHECKSUM_CODE routines use the ZFirst() function in ZFIRST.C
# to get an idea of where the first code module is located in memory
# when TECO-C is loaded.
#

zfirst.obj : zfirst.c

#
# the TECOC.LIB library modules.
#

baksrc.obj : baksrc.c zport.h tecoc.h defext.h dchars.h chmacs.h deferr.h
bldstr.obj : bldstr.c zport.h tecoc.h defext.h deferr.h dchars.h chmacs.h
clenup.obj : clenup.c zport.h tecoc.h defext.h
cmatch.obj : cmatch.c zport.h tecoc.h defext.h dchars.h chmacs.h deferr.h
docjr.obj  : docjr.c  zport.h tecoc.h defext.h deferr.h
doeves.obj : doeves.c zport.h tecoc.h defext.h dchars.h
doflag.obj : doflag.c zport.h tecoc.h defext.h
echoit.obj : echoit.c zport.h tecoc.h defext.h dchars.h
err.obj    : err.c    zport.h tecoc.h defext.h chmacs.h deferr.h dchars.h
exea.obj   : exea.c   zport.h tecoc.h defext.h deferr.h
exeats.obj : exeats.c zport.h tecoc.h defext.h
exeb.obj   : exeb.c   zport.h tecoc.h defext.h
exebar.obj : exebar.c zport.h tecoc.h defext.h deferr.h
exebsl.obj : exebsl.c zport.h tecoc.h defext.h chmacs.h
exec.obj   : exec.c   zport.h tecoc.h defext.h
execcc.obj : execcc.c zport.h tecoc.h defext.h deferr.h
execln.obj : execln.c zport.h tecoc.h defext.h
execom.obj : execom.c zport.h tecoc.h defext.h deferr.h
execrt.obj : execrt.c zport.h tecoc.h defext.h chmacs.h deferr.h
execst.obj : execst.c zport.h tecoc.h defext.h deferr.h
execta.obj : execta.c zport.h tecoc.h defext.h dchars.h
exectc.obj : exectc.c zport.h tecoc.h defext.h dchars.h
exectd.obj : exectd.c zport.h tecoc.h defext.h
execte.obj : execte.c zport.h tecoc.h defext.h
execti.obj : execti.c zport.h tecoc.h defext.h dchars.h
exectl.obj : exectl.c zport.h tecoc.h defext.h dchars.h
exectn.obj : exectn.c zport.h tecoc.h defext.h
execto.obj : execto.c zport.h tecoc.h defext.h
exectp.obj : exectp.c zport.h tecoc.h defext.h
exectq.obj : exectq.c zport.h tecoc.h defext.h
exectr.obj : exectr.c zport.h tecoc.h defext.h deferr.h
exects.obj : exects.c zport.h tecoc.h defext.h
exectt.obj : exectt.c zport.h tecoc.h defext.h deferr.h
exectu.obj : exectu.c zport.h tecoc.h defext.h deferr.h dchars.h
exectv.obj : exectv.c zport.h tecoc.h defext.h deferr.h
exectw.obj : exectw.c zport.h tecoc.h defext.h deferr.h
exectx.obj : exectx.c zport.h tecoc.h defext.h
execty.obj : execty.c zport.h tecoc.h defext.h
exectz.obj : exectz.c zport.h tecoc.h defext.h
exed.obj   : exed.c   zport.h tecoc.h defext.h deferr.h
exedgt.obj : exedgt.c zport.h tecoc.h defext.h deferr.h chmacs.h
exedot.obj : exedot.c zport.h tecoc.h defext.h
exedqu.obj : exedqu.c zport.h tecoc.h defext.h deferr.h chmacs.h
exee.obj   : exee.c   zport.h tecoc.h defext.h chmacs.h dchars.h deferr.h
exeequ.obj : exeequ.c zport.h tecoc.h defext.h dchars.h deferr.h
exeesc.obj : exeesc.c zport.h tecoc.h defext.h dchars.h
exeexc.obj : exeexc.c zport.h tecoc.h defext.h
exeey.obj  : exeey.c  zport.h tecoc.h defext.h
exef.obj   : exef.c   zport.h tecoc.h defext.h chmacs.h deferr.h
exefb.obj  : exefb.c  zport.h tecoc.h defext.h deferr.h
exeg.obj   : exeg.c   zport.h tecoc.h defext.h deferr.h
exegtr.obj : exegtr.c zport.h tecoc.h defext.h deferr.h
exeh.obj   : exeh.c   zport.h tecoc.h defext.h
exei.obj   : exei.c   zport.h tecoc.h defext.h dchars.h deferr.h
exeill.obj : exeill.c zport.h tecoc.h defext.h deferr.h
exej.obj   : exej.c   zport.h tecoc.h defext.h
exek.obj   : exek.c   zport.h tecoc.h defext.h
exel.obj   : exel.c   zport.h tecoc.h defext.h
exelbr.obj : exelbr.c zport.h tecoc.h defext.h deferr.h
exelst.obj : exelst.c zport.h tecoc.h defext.h deferr.h
exem.obj   : exem.c   zport.h tecoc.h defext.h deferr.h
exen.obj   : exen.c   zport.h tecoc.h defext.h deferr.h
exenul.obj : exenul.c zport.h tecoc.h defext.h
exenyi.obj : exenyi.c zport.h tecoc.h defext.h deferr.h
exeo.obj   : exeo.c   zport.h tecoc.h defext.h dchars.h deferr.h
exeopr.obj : exeopr.c zport.h tecoc.h defext.h
exep.obj   : exep.c   zport.h tecoc.h defext.h deferr.h
exeprc.obj : exeprc.c zport.h tecoc.h defext.h deferr.h
exepw.obj  : exepw.c  zport.h tecoc.h defext.h
exeq.obj   : exeq.c   zport.h tecoc.h defext.h deferr.h
exeqes.obj : exeqes.c zport.h tecoc.h defext.h
exer.obj   : exer.c   zport.h tecoc.h defext.h
exerbr.obj : exerbr.c zport.h tecoc.h defext.h deferr.h
exertp.obj : exertp.c zport.h tecoc.h defext.h deferr.h
exes.obj   : exes.c   zport.h tecoc.h defext.h dchars.h deferr.h
exescl.obj : exescl.c zport.h tecoc.h defext.h deferr.h
exet.obj   : exet.c   zport.h tecoc.h defext.h dchars.h
exeu.obj   : exeu.c   zport.h tecoc.h defext.h deferr.h
exeund.obj : exeund.c zport.h tecoc.h defext.h deferr.h
exeusc.obj : exeusc.c zport.h tecoc.h defext.h dchars.h
exev.obj   : exev.c   zport.h tecoc.h defext.h
exew.obj   : exew.c   zport.h tecoc.h defext.h dscren.h
exex.obj   : exex.c   zport.h tecoc.h defext.h deferr.h
exey.obj   : exey.c   zport.h tecoc.h defext.h deferr.h
exez.obj   : exez.c   zport.h tecoc.h defext.h
findes.obj : findes.c zport.h tecoc.h defext.h deferr.h
findqr.obj : findqr.c zport.h tecoc.h defext.h deferr.h chmacs.h
flowec.obj : flowec.c zport.h tecoc.h defext.h deferr.h
flowee.obj : flowee.c zport.h tecoc.h defext.h deferr.h
flowel.obj : flowel.c zport.h tecoc.h defext.h deferr.h
getara.obj : getara.c zport.h tecoc.h defext.h deferr.h
getnma.obj : getnma.c zport.h tecoc.h defext.h deferr.h
inccbp.obj : inccbp.c zport.h tecoc.h defext.h deferr.h
init.obj   : init.c   zport.h tecoc.h defext.h deferr.h
insstr.obj : insstr.c zport.h tecoc.h defext.h deferr.h
isradx.obj : isradx.c zport.h tecoc.h defext.h chmacs.h
ln2chr.obj : ln2chr.c zport.h tecoc.h defext.h dchars.h chmacs.h
makdbf.obj : makdbf.c zport.h tecoc.h defext.h
makrom.obj : makrom.c zport.h tecoc.h defext.h deferr.h
popmac.obj : popmac.c zport.h tecoc.h defext.h
pshmac.obj : pshmac.c zport.h tecoc.h defext.h deferr.h
pushex.obj : pushex.c zport.h tecoc.h defext.h dchars.h deferr.h
rdline.obj : rdline.c zport.h tecoc.h defext.h deferr.h dchars.h
rdpage.obj : rdpage.c zport.h tecoc.h defext.h deferr.h
readcs.obj : readcs.c zport.h tecoc.h defext.h dchars.h chmacs.h deferr.h \
             dscren.h
replac.obj : replac.c zport.h tecoc.h defext.h dchars.h
search.obj : search.c zport.h tecoc.h defext.h deferr.h dchars.h
singlp.obj : singlp.c zport.h tecoc.h defext.h dchars.h
skpcmd.obj : skpcmd.c zport.h tecoc.h defext.h chmacs.h dchars.h deferr.h
srclop.obj : srclop.c zport.h tecoc.h defext.h deferr.h
sserch.obj : sserch.c zport.h tecoc.h defext.h
tabort.obj : tabort.c zport.h tecoc.h
typbuf.obj : typbuf.c zport.h tecoc.h defext.h dchars.h chmacs.h
typest.obj : typest.c zport.h tecoc.h defext.h dchars.h
uminus.obj : uminus.c zport.h tecoc.h defext.h
wrpage.obj : wrpage.c zport.h tecoc.h defext.h dchars.h deferr.h
zfrsrc.obj : zfrsrc.c zport.h tecoc.h defext.h dchars.h chmacs.h deferr.h
zmsdos.obj : zmsdos.c zport.h tecoc.h defext.h chmacs.h clpars.h deferr.h \
             dchars.h dscren.h vrbmsg.h
