#  (C) COPYRIGHT International Business Machines Corp. 1996, 1999
#  All Rights Reserved.
#
#  US Government Users Restricted Rights - Use, duplication or
#  disclosure restricted by GSA ADP Schedule Contract with IBM Corp.


# makefile for DB2 Universal Database Version 6.1
# C sample programs -- Windows 32-bit operating systems
                         

# Enter one of the following commands 
#
#   nmake <app_name>        - Builds the program designated by <app_name>
#
#   nmake all               - Builds the all the supplied sample programs
#   nmake udfspserver       - Builds the examples that implement
#                             stored procedures and UDFs (on the server)
#   nmake localclient       - Builds the examples that can only be run
#                             successfully on a server 
#   nmake udfspclient       - Builds the examples that call stored 
#                             procedures and UDFs ( they can run remotely )
#   nmake otherremoteclient - Builds the examples that will run successfully
#                             on a client platform ( others than udfspclient )
#   nmake allremoteclient   - Builds programs in udfspclient and otherremoteclient
#                             categories
#
#   nmake clean             - Erases intermediate files
#   nmake cleanall          - Erases all files produced in the build process,
#                             except the original source files

# The makefile contains the following sections:
#    1 -- COMPILERS + VARIABLES
#    2 -- MAKE CATEGORIES
#    3 -- COMMANDS TO MAKE INDIVIDUAL SAMPLES


##################################################################################
#                  1 -- COMPILERS + VARIABLES                                     
##################################################################################

# Note: The default compiler options are set for the Microsoft Visual C++ 
#       compiler. If you use the IBM VisualAge C++ compiler, remove the
#       "COMPILER=MS" below and uncomment "COMPILER=IBM" that follows.

# Set Compiler
COMPILER=MS
# COMPILER=IBM

!IF "$(COMPILER)" == "MS"
# Microsoft Visual C++ compiler
CC=cl
LINK=link
# Compile and link options.
CFLAGS=-Z7 -Od -c -W2 -D_X86_=1 -DWIN32 -I:$(DB2PATH)\include
CFLAGSSRV=-Z7 -Od -c -W2 -D_X86_=1 -DWIN32 -I:$(DB2PATH)\include
LINKFLAGS=-debug:full -debugtype:cv
LINKFLAGS1=-debug:full -debugtype:cv -dll
!ENDIF

!IF "$(COMPILER)" == "IBM"
# IBM VisualAge C++ compiler
CC=icc
LINK=ilink
CFLAGS=-c -Ti -W1
CFLAGSSRV=-c+ -Ti -Ge- -Gm+ -W1
LINKFLAGS=/MAP /DEBUG /ST:64000 /PM:VIO
LINKFLAGS1=/MAP /DEBUG /ST:64000 /PM:VIO /DLL
!ENDIF

LIBS=$(DB2PATH)\lib\db2api.lib
LIBS1=$(DB2PATH)\lib\db2api.lib $(DB2PATH)\lib\db2apie.lib

# To connect to a remote SAMPLE database cataloged on the client machine
# with another name, update the DB variable.
DB=sample
# Set UID and PWD if neccesary  
UID=
PWD=

COPY = copy
ERASE = del

#############################################################################
#  2 -- MAKE CATEGORIES
#              2a - nmake all(= allremoteclient + localclient +udfspserver)
#              2b - nmake udfspserver
#              2c - nmake localclient  
#              2d - nmake udfspclient
#              2e - nmake otherremoteclient
#              2f - nmake allremoteclient(= udfspclient + otherremoteclient)
#              2g - nmake clean
#              2h - nmake cleanall
#############################################################################


#****************************************************************************
#                  2a - nmake all
#****************************************************************************

all : \
	allremoteclient \
	localclient \
	udfspserver

#****************************************************************************
#                  2b - nmake udfspserver
#****************************************************************************

udfspserver : \
	fillsrv util \
	inpsrv\
	outsrv \
	tblsrv \
	udf

#****************************************************************************
#                  2c - nmake localclient 
#****************************************************************************

localclient : \
	dbstart dbstop 

#****************************************************************************
#                  2d - nmake udfspclient
#****************************************************************************

udfspclient : \
	calludf \
	fillcli \
	inpcli \
	outcli \
	tblcli

#****************************************************************************
#                  2e - nmake otherremoteclient
#****************************************************************************

otherremoteclient : \
	adhoc advsql asynrlog \
	backrest bindfile blobfile \
	cli_info client columns cursor \
	d_dbconf d_dbmcon db_udcs db2mon dbauth dbcat \
	dbcmt dbconf dbinst dbmconf dbsnap \
	dbstat dcscat delet dmscont dynamic \
	ebcdicdb expsamp \
	impexp \
	joinsql \
	loadqry lobeval lobfile lobloc lobval \
	makeapi migrate monreset monsz \
	nodecat \
	openftch \
	qload \
	rebind rechist recursql restart \
	sampudf setact setrundg static sws \
	tabscont tabspace tabsql tload trigsql tspace \
	updat \
	varinp


#****************************************************************************
#                  2f - nmake allremoteclient
#****************************************************************************

allremoteclient : \
	udfspclient \
	otherremoteclient

#****************************************************************************
#                  2g - nmake clean
#****************************************************************************

clean :	\
	cleangen \
	cleanemb \
	cleanclisrv

cleangen :
	$(ERASE) *.obj *.ilk *.pdb *.map *.lib *.txt

cleanemb :
	$(ERASE) adhoc.c advsql.c asynrlog.c 
	$(ERASE) bindfile.c blobfile.c
	$(ERASE) columns.c cursor.c
	$(ERASE) dbauth.c dbstat.c delet.c dynamic.c 
	$(ERASE) expsamp.c
	$(ERASE) impexp.c
	$(ERASE) joinsql.c
	$(ERASE) loadqry.c lobeval.c lobfile.c lobloc.c lobval.c
	$(ERASE) makeapi.c
	$(ERASE) openftch.c
	$(ERASE) qload.c
	$(ERASE) rebind.c rechist.c recursql.c
	$(ERASE) sampudf.c static.c
	$(ERASE) tabscont.c tabspace.c tabsql.c tload.c trigsql.c tspace.c
	$(ERASE) updat.c
	$(ERASE) varinp.c

cleanclisrv :
	$(ERASE) calludf.c
	$(ERASE) udf.exp
	$(ERASE) udfva.exp

	$(ERASE) fillcli.c
	$(ERASE) fillsrv.c
	$(ERASE) fillsrv.exp
	$(ERASE) fillsrvva.exp

	$(ERASE) inpcli.c
	$(ERASE) inpsrv.c
	$(ERASE) inpsrv.exp
	$(ERASE) inpsrvva.exp

	$(ERASE) outcli.c
	$(ERASE) outsrv.c
	$(ERASE) outsrv.exp
	$(ERASE) outsrvva.exp

	$(ERASE) tblcli.c
	$(ERASE) tblsrv.exp
	$(ERASE) tblsrvva.exp

	$(ERASE) *.dll


#****************************************************************************
#                  2h - nmake cleanall
#****************************************************************************

cleanall : \
	clean
	$(ERASE) *.exe *.bnd
	$(ERASE) $(DB2PATH)\function\udf.dll
	$(ERASE) $(DB2PATH)\function\fillsrv.dll
	$(ERASE) $(DB2PATH)\function\inpsrv.dll
	$(ERASE) $(DB2PATH)\function\outsrv.dll
	$(ERASE) $(DB2PATH)\function\tblsrv.dll



#############################################################################
#  3 -- COMMANDS TO MAKE INDIVIDUAL SAMPLES
#                  3a -  utilities
#                  3b -  non embedded SQL, non client/server samples
#                  3c -  embedded SQL, non client/server samples
#                  3d -  client/server samples (mixed)
#############################################################################



#****************************************************************************
#                  3a -  utilities
#****************************************************************************

util :
	$(CC) $(CFLAGS) util.c

util.obj : util.c
	$(CC) $(CFLAGS) util.c

#****************************************************************************
#                  3b -  non embedded SQL, non client/server samples
#****************************************************************************

backrest.obj : backrest.c
	$(CC) $(CFLAGS) backrest.c
backrest : backrest.obj util.obj
	$(LINK) $(LINKFLAGS) -out:backrest.exe backrest.obj util.obj $(LIBS)

cli_info.obj : cli_info.c
	$(CC) $(CFLAGS) cli_info.c
cli_info : cli_info.obj util.obj
	$(LINK) $(LINKFLAGS) -out:cli_info.exe cli_info.obj util.obj $(LIBS)

client.obj : client.c
	$(CC) $(CFLAGS) client.c
client : client.obj util.obj
	$(LINK) $(LINKFLAGS) -out:client.exe client.obj util.obj $(LIBS)

d_dbconf.obj : d_dbconf.c
	$(CC) $(CFLAGS) d_dbconf.c
d_dbconf : d_dbconf.obj util.obj
	$(LINK) $(LINKFLAGS) -out:d_dbconf.exe d_dbconf.obj util.obj $(LIBS)

d_dbmcon.obj : d_dbmcon.c
	$(CC) $(CFLAGS) d_dbmcon.c
d_dbmcon : d_dbmcon.obj util.obj
	$(LINK) $(LINKFLAGS) -out:d_dbmcon.exe d_dbmcon.obj util.obj $(LIBS)

db_udcs.obj : db_udcs.c
	$(CC) $(CFLAGS) db_udcs.c
db_udcs : db_udcs.obj util.obj
	$(LINK) $(LINKFLAGS) -out:db_udcs.exe db_udcs.obj util.obj $(LIBS)

db2mon.obj : db2mon.c
	$(CC) $(CFLAGS) db2mon.c
db2mon : db2mon.obj util.obj
	$(LINK) $(LINKFLAGS) -out:db2mon.exe db2mon.obj util.obj $(LIBS)

dbcat.obj : dbcat.c
	$(CC) $(CFLAGS) dbcat.c
dbcat : dbcat.obj util.obj
	$(LINK) $(LINKFLAGS) -out:dbcat.exe dbcat.obj util.obj $(LIBS)

dbcmt.obj : dbcmt.c
	$(CC) $(CFLAGS) dbcmt.c
dbcmt : dbcmt.obj util.obj
	$(LINK) $(LINKFLAGS) -out:dbcmt.exe dbcmt.obj util.obj $(LIBS)

dbconf.obj : dbconf.c
	$(CC) $(CFLAGS) dbconf.c
dbconf : dbconf.obj util.obj
	$(LINK) $(LINKFLAGS) -out:dbconf.exe dbconf.obj util.obj $(LIBS)

dbinst.obj : dbinst.c
	$(CC) $(CFLAGS) dbinst.c
dbinst : dbinst.obj util.obj
	$(LINK) $(LINKFLAGS) -out:dbinst.exe dbinst.obj util.obj $(LIBS)

dbmconf.obj : dbmconf.c
	$(CC) $(CFLAGS) dbmconf.c
dbmconf : dbmconf.obj util.obj
	$(LINK) $(LINKFLAGS) -out:dbmconf.exe dbmconf.obj util.obj $(LIBS)

dbsnap.obj : dbsnap.c
	$(CC) $(CFLAGS) dbsnap.c
dbsnap : dbsnap.obj util.obj
	$(LINK) $(LINKFLAGS) -out:dbsnap.exe dbsnap.obj util.obj $(LIBS)

dbstart.obj : dbstart.c
	$(CC) $(CFLAGS) dbstart.c
dbstart : dbstart.obj util.obj
	$(LINK) $(LINKFLAGS) -out:dbstart.exe dbstart.obj util.obj $(LIBS)

dbstop.obj : dbstop.c
	$(CC) $(CFLAGS) dbstop.c
dbstop : dbstop.obj util.obj
	$(LINK) $(LINKFLAGS) -out:dbstop.exe dbstop.obj util.obj $(LIBS)

dcscat.obj : dcscat.c
	$(CC) $(CFLAGS) dcscat.c
dcscat : dcscat.obj util.obj
	$(LINK) $(LINKFLAGS) -out:dcscat.exe dcscat.obj util.obj $(LIBS)

dmscont.obj : dmscont.c
	$(CC) $(CFLAGS) dmscont.c
dmscont : dmscont.obj util.obj
	$(LINK) $(LINKFLAGS) -out:dmscont.exe dmscont.obj util.obj $(LIBS)

ebcdicdb.obj : ebcdicdb.c
	$(CC) $(CFLAGS) ebcdicdb.c
ebcdicdb : ebcdicdb.obj util.obj
	$(LINK) $(LINKFLAGS) -out:ebcdicdb.exe ebcdicdb.obj util.obj $(LIBS)

migrate.obj : migrate.c
	$(CC) $(CFLAGS) migrate.c
migrate : migrate.obj util.obj
	$(LINK) $(LINKFLAGS) -out:migrate.exe migrate.obj util.obj $(LIBS)

monreset.obj : monreset.c
	$(CC) $(CFLAGS) monreset.c
monreset : monreset.obj util.obj
	$(LINK) $(LINKFLAGS) -out:monreset.exe monreset.obj util.obj $(LIBS)

monsz.obj : monsz.c
	$(CC) $(CFLAGS) monsz.c
monsz   : monsz.obj util.obj
	$(LINK) $(LINKFLAGS) -out:monsz.exe monsz.obj util.obj $(LIBS)

nodecat.obj : nodecat.c
	$(CC) $(CFLAGS) nodecat.c
nodecat : nodecat.obj util.obj
	$(LINK) $(LINKFLAGS) -out:nodecat.exe nodecat.obj util.obj $(LIBS)

restart.obj : restart.c
	$(CC) $(CFLAGS) restart.c
restart : restart.obj util.obj
	$(LINK) $(LINKFLAGS) -out:restart.exe restart.obj util.obj $(LIBS)

setact.obj : setact.c
	$(CC) $(CFLAGS) setact.c
setact : setact.obj util.obj
	$(LINK) $(LINKFLAGS) -out:setact.exe setact.obj util.obj $(LIBS)

setrundg.obj : setrundg.c
	$(CC) $(CFLAGS) setrundg.c
setrundg : setrundg.obj util.obj
	$(LINK) $(LINKFLAGS) -out:setrundg.exe setrundg.obj util.obj $(LIBS)

sws.obj : sws.c
	$(CC) $(CFLAGS) sws.c
sws    : sws.obj util.obj
	$(LINK) $(LINKFLAGS) -out:sws.exe sws.obj util.obj $(LIBS)

#****************************************************************************
#                  3c -  embedded SQL non client/server samples
#****************************************************************************

adhoc.c : adhoc.sqc
	embprep adhoc $(DB) $(UID) $(PWD)
adhoc.obj : adhoc.c
	$(CC) $(CFLAGS) adhoc.c
adhoc : adhoc.obj util.obj
	$(LINK) $(LINKFLAGS) -out:adhoc.exe adhoc.obj util.obj $(LIBS)

advsql.c : advsql.sqc
	embprep advsql $(DB) $(UID) $(PWD)
advsql.obj : advsql.c
	$(CC) $(CFLAGS) advsql.c
advsql : advsql.obj util.obj
	$(LINK) $(LINKFLAGS) -out:advsql.exe advsql.obj util.obj $(LIBS)

asynrlog.c : asynrlog.sqc
	embprep asynrlog $(DB) $(UID) $(PWD)
asynrlog.obj : asynrlog.c
	$(CC) $(CFLAGS) asynrlog.c
asynrlog : asynrlog.obj util.obj
	$(LINK) $(LINKFLAGS) -out:asynrlog.exe asynrlog.obj util.obj $(LIBS)

bindfile.c : bindfile.sqc
	embprep bindfile $(DB) $(UID) $(PWD)
bindfile.obj : bindfile.c
	$(CC) $(CFLAGS) bindfile.c
bindfile : bindfile.obj util.obj
	$(LINK) $(LINKFLAGS) -out:bindfile.exe bindfile.obj util.obj $(LIBS)

blobfile.c : blobfile.sqc
	embprep blobfile $(DB) $(UID) $(PWD)
blobfile.obj : blobfile.c
	$(CC) $(CFLAGS) blobfile.c
blobfile : blobfile.obj util.obj
	$(LINK) $(LINKFLAGS) -out:blobfile.exe blobfile.obj util.obj $(LIBS)

columns.c : columns.sqc
	embprep columns $(DB) $(UID) $(PWD)
columns.obj : columns.c
	$(CC) $(CFLAGS) columns.c
columns : columns.obj util.obj
	$(LINK) $(LINKFLAGS) -out:columns.exe columns.obj util.obj $(LIBS)

cursor.c : cursor.sqc
	embprep cursor $(DB) $(UID) $(PWD)
cursor.obj : cursor.c
	$(CC) $(CFLAGS) cursor.c
cursor : cursor.obj util.obj
	$(LINK) $(LINKFLAGS) -out:cursor.exe cursor.obj util.obj $(LIBS)

dbauth.c : dbauth.sqc
	embprep dbauth $(DB) $(UID) $(PWD)
dbauth.obj : dbauth.c
	$(CC) $(CFLAGS) dbauth.c
dbauth : dbauth.obj util.obj
	$(LINK) $(LINKFLAGS) -out:dbauth.exe dbauth.obj util.obj $(LIBS)

dbstat.c : dbstat.sqc
	embprep dbstat $(DB) $(UID) $(PWD)
dbstat.obj : dbstat.c
	$(CC) $(CFLAGS) dbstat.c
dbstat : dbstat.obj util.obj
	$(LINK) $(LINKFLAGS) -out:dbstat.exe dbstat.obj util.obj $(LIBS)

delet.c : delet.sqc
	embprep delet $(DB) $(UID) $(PWD)
delet.obj : delet.c
	$(CC) $(CFLAGS) delet.c
delet : delet.obj util.obj
	$(LINK) $(LINKFLAGS) -out:delet.exe delet.obj util.obj $(LIBS)

dynamic.c : dynamic.sqc
	embprep dynamic $(DB) $(UID) $(PWD)
dynamic.obj : dynamic.c
	$(CC) $(CFLAGS) dynamic.c
dynamic : dynamic.obj util.obj
	$(LINK) $(LINKFLAGS) -out:dynamic.exe dynamic.obj util.obj $(LIBS)

expsamp.c : expsamp.sqc
	embprep expsamp $(DB) $(UID) $(PWD)
expsamp.obj : expsamp.c
	$(CC) $(CFLAGS) expsamp.c
expsamp : expsamp.obj util.obj
	$(LINK) $(LINKFLAGS) -out:expsamp.exe expsamp.obj util.obj $(LIBS)

impexp.c : impexp.sqc
	embprep impexp $(DB) $(UID) $(PWD)
impexp.obj : impexp.c
	$(CC) $(CFLAGS) impexp.c
impexp : impexp.obj util.obj
	$(LINK) $(LINKFLAGS) -out:impexp.exe impexp.obj util.obj $(LIBS)

joinsql.c : joinsql.sqc
	embprep joinsql $(DB) $(UID) $(PWD)
joinsql.obj : joinsql.c
	$(CC) $(CFLAGS) joinsql.c
joinsql : joinsql.obj util.obj
	$(LINK) $(LINKFLAGS) -out:joinsql.exe joinsql.obj util.obj $(LIBS)

loadqry.c : loadqry.sqc
	embprep loadqry $(DB) $(UID) $(PWD)
loadqry.obj : loadqry.c
	$(CC) $(CFLAGS) loadqry.c
loadqry : loadqry.obj util.obj
	$(LINK) $(LINKFLAGS) -out:loadqry.exe loadqry.obj util.obj $(LIBS)

lobeval.c : lobeval.sqc
	embprep lobeval $(DB) $(UID) $(PWD)
lobeval.obj : lobeval.c
	$(CC) $(CFLAGS) lobeval.c
lobeval : lobeval.obj util.obj
	$(LINK) $(LINKFLAGS) -out:lobeval.exe lobeval.obj util.obj $(LIBS)

lobfile.c : lobfile.sqc
	embprep lobfile $(DB) $(UID) $(PWD)
lobfile.obj : lobfile.c
	$(CC) $(CFLAGS) lobfile.c
lobfile : lobfile.obj util.obj
	$(LINK) $(LINKFLAGS) -out:lobfile.exe lobfile.obj util.obj $(LIBS)

lobloc.c : lobloc.sqc
	embprep lobloc $(DB) $(UID) $(PWD)
lobloc.obj : lobloc.c
	$(CC) $(CFLAGS) lobloc.c
lobloc : lobloc.obj util.obj
	$(LINK) $(LINKFLAGS) -out:lobloc.exe lobloc.obj util.obj $(LIBS)

lobval.c : lobval.sqc
	embprep lobval $(DB) $(UID) $(PWD)
lobval.obj : lobval.c
	$(CC) $(CFLAGS) lobval.c
lobval : lobval.obj util.obj
	$(LINK) $(LINKFLAGS) -out:lobval.exe lobval.obj util.obj $(LIBS)

makeapi.c : makeapi.sqc
	embprep makeapi $(DB) $(UID) $(PWD)
makeapi.obj : makeapi.c
	$(CC) $(CFLAGS) makeapi.c
makeapi : makeapi.obj util.obj
	$(LINK) $(LINKFLAGS) -out:makeapi.exe makeapi.obj util.obj $(LIBS)

openftch.c : openftch.sqc
	embprep openftch $(DB) $(UID) $(PWD)
openftch.obj : openftch.c
	$(CC) $(CFLAGS) openftch.c
openftch : openftch.obj util.obj
	$(LINK) $(LINKFLAGS) -out:openftch.exe openftch.obj util.obj $(LIBS)

qload.c : qload.sqc
	embprep qload $(DB) $(UID) $(PWD)
qload.obj : qload.c
	$(CC) $(CFLAGS) qload.c
qload : qload.obj util.obj
	$(LINK) $(LINKFLAGS) -out:qload.exe qload.obj util.obj $(LIBS)

rebind.c : rebind.sqc
	embprep rebind $(DB) $(UID) $(PWD)
rebind.obj : rebind.c
	$(CC) $(CFLAGS) rebind.c
rebind : rebind.obj util.obj
	$(LINK) $(LINKFLAGS) -out:rebind.exe rebind.obj util.obj $(LIBS)

rechist.c : rechist.sqc
	embprep rechist $(DB) $(UID) $(PWD)
rechist.obj : rechist.c
	$(CC) $(CFLAGS) rechist.c
rechist : rechist.obj util.obj
	$(LINK) $(LINKFLAGS) -out:rechist.exe rechist.obj util.obj $(LIBS)

recursql.c : recursql.sqc
	embprep recursql $(DB) $(UID) $(PWD)
recursql.obj : recursql.c
	$(CC) $(CFLAGS) recursql.c
recursql : recursql.obj util.obj
	$(LINK) $(LINKFLAGS) -out:recursql.exe recursql.obj util.obj $(LIBS)

sampudf.c : sampudf.sqc
	embprep sampudf $(DB) $(UID) $(PWD)
sampudf.obj : sampudf.c
	$(CC) $(CFLAGS) sampudf.c
sampudf : sampudf.obj util.obj
	$(LINK) $(LINKFLAGS) -out:sampudf.exe sampudf.obj util.obj $(LIBS)

static.c : static.sqc
	embprep static $(DB) $(UID) $(PWD)
static.obj : static.c
	$(CC) $(CFLAGS) static.c
static : static.obj util.obj
	$(LINK) $(LINKFLAGS) -out:static.exe static.obj util.obj $(LIBS)

tabscont.c : tabscont.sqc
	embprep tabscont $(DB) $(UID) $(PWD)
tabscont.obj : tabscont.c
	$(CC) $(CFLAGS) tabscont.c
tabscont : tabscont.obj util.obj
	$(LINK) $(LINKFLAGS) -out:tabscont.exe tabscont.obj util.obj $(LIBS)

tabspace.c : tabspace.sqc
	embprep tabspace $(DB) $(UID) $(PWD)
tabspace.obj : tabspace.c
	$(CC) $(CFLAGS) tabspace.c
tabspace : tabspace.obj util.obj
	$(LINK) $(LINKFLAGS) -out:tabspace.exe tabspace.obj util.obj $(LIBS)

tabsql.c : tabsql.sqc
	embprep tabsql $(DB) $(UID) $(PWD)
tabsql.obj : tabsql.c
	$(CC) $(CFLAGS) tabsql.c
tabsql : tabsql.obj util.obj
	$(LINK) $(LINKFLAGS) -out:tabsql.exe tabsql.obj util.obj $(LIBS)

tload.c : tload.sqc
	embprep tload $(DB) $(UID) $(PWD)
tload.obj : tload.c
	$(CC) $(CFLAGS) tload.c
tload : tload.obj util.obj
	$(LINK) $(LINKFLAGS) -out:tload.exe tload.obj util.obj $(LIBS)

trigsql.c : trigsql.sqc
	embprep trigsql $(DB) $(UID) $(PWD)
trigsql.obj : trigsql.c
	$(CC) $(CFLAGS) trigsql.c
trigsql : trigsql.obj util.obj
	$(LINK) $(LINKFLAGS) -out:trigsql.exe trigsql.obj util.obj $(LIBS)

tspace.c : tspace.sqc
	embprep tspace $(DB) $(UID) $(PWD)
tspace.obj : tspace.c
	$(CC) $(CFLAGS) tspace.c
tspace : tspace.obj util.obj
	$(LINK) $(LINKFLAGS) -out:tspace.exe tspace.obj util.obj $(LIBS)

updat.c : updat.sqc
	embprep updat $(DB) $(UID) $(PWD)
updat.obj : updat.c
	$(CC) $(CFLAGS) updat.c
updat : updat.obj util.obj
	$(LINK) $(LINKFLAGS) -out:updat.exe updat.obj util.obj $(LIBS)

varinp.c : varinp.sqc
	embprep varinp $(DB) $(UID) $(PWD)
varinp.obj : varinp.c
	$(CC) $(CFLAGS) varinp.c
varinp : varinp.obj util.obj
	$(LINK) $(LINKFLAGS) -out:varinp.exe varinp.obj util.obj $(LIBS)


#****************************************************************************
#                  3d -  client/server samples (mixed)   
#****************************************************************************

#--------------------calludf/udf--------------------------------------------#

calludf.c : calludf.sqc
	embprep calludf $(DB) $(UID) $(PWD)
calludf.obj : calludf.c
	$(CC) $(CFLAGS) calludf.c
calludf : calludf.obj util.obj
	$(LINK) $(LINKFLAGS) -out:calludf.exe calludf.obj util.obj $(LIBS)

udf.obj : udf.c
	$(CC) $(CFLAGSSRV) udf.c
udf     : udf.obj
!IF "$(COMPILER)" == "MS"
	$(LINK) $(LINKFLAGS1) -out:udf.dll udf.obj $(LIBS1) -def:udf.def
!ELSE
	ilib /GI udfva.def
	$(LINK) $(LINKFLAGS1) udf.obj udfva.exp $(LIBS1)
!ENDIF
	copy udf.dll $(DB2PATH)\function

#--------------------fillcli/fillsrv----------------------------------------#

fillcli.c : fillcli.sqc
	embprep fillcli $(DB) $(UID) $(PWD)
fillcli.obj : fillcli.c
	$(CC) $(CFLAGS) fillcli.c util.c
fillcli : fillcli.obj util.obj
	$(LINK) $(LINKFLAGS) -out:fillcli.exe fillcli.obj util.obj $(LIBS)

fillsrv.c: fillsrv.sqc
	embprep fillsrv $(DB) $(UID) $(PWD)
fillsrv.obj : fillsrv.c
	$(CC) $(CFLAGSSRV) fillsrv.c
fillsrv : fillsrv.obj 
	$(ERASE) util.obj
	$(CC) $(CFLAGSSRV) util.c
!IF "$(COMPILER)" == "MS"
	$(LINK) $(LINKFLAGS1) -out:fillsrv.dll fillsrv.obj util.obj $(LIBS) -def:fillsrv.def
!ELSE
	ilib /GI fillsrvva.def
	$(LINK) $(LINKFLAGS1) fillsrv.obj util.obj fillsrvva.exp $(LIBS)
!ENDIF
	$(ERASE) util.obj
	copy fillsrv.dll $(DB2PATH)\function

#--------------------inpcli/inpsrv------------------------------------------#

inpcli.c : inpcli.sqc
	embprep inpcli $(DB) $(UID) $(PWD)
inpcli.obj : inpcli.c
	$(CC) $(CFLAGS) inpcli.c
inpcli : inpcli.obj util.obj
	$(LINK) $(LINKFLAGS) -out:inpcli.exe inpcli.obj util.obj $(LIBS)

inpsrv.c: inpsrv.sqc
	embprep inpsrv $(DB) $(UID) $(PWD)
inpsrv.obj : inpsrv.c
	$(CC) $(CFLAGSSRV) inpsrv.c
inpsrv : inpsrv.obj
!IF "$(COMPILER)" == "MS"
	$(LINK) $(LINKFLAGS1) -out:inpsrv.dll inpsrv.obj $(LIBS) -def:inpsrv.def
!ELSE
	ilib /GI inpsrvva.def
	$(LINK) $(LINKFLAGS1) inpsrv.obj inpsrvva.exp $(LIBS)
!ENDIF
	copy inpsrv.dll $(DB2PATH)\function


#--------------------outcli/outsrv------------------------------------------#

outcli.c : outcli.sqc
	embprep outcli $(DB) $(UID) $(PWD)
outcli.obj : outcli.c
	$(CC) $(CFLAGS) outcli.c
outcli : outcli.obj util.obj
	$(LINK) $(LINKFLAGS) -out:outcli.exe outcli.obj util.obj $(LIBS)

outsrv.c: outsrv.sqc
	embprep outsrv $(DB) $(UID) $(PWD)
outsrv.obj : outsrv.c
	$(CC) $(CFLAGSSRV) outsrv.c
outsrv : outsrv.obj
!IF "$(COMPILER)" == "MS"
	$(LINK) $(LINKFLAGS1) -out:outsrv.dll outsrv.obj $(LIBS) -def:outsrv.def
!ELSE
	ilib /GI outsrvva.def
	$(LINK) $(LINKFLAGS1) outsrv.obj outsrvva.exp $(LIBS)
!ENDIF
	copy outsrv.dll $(DB2PATH)\function

#--------------------tblcli/tblsrv------------------------------------------#

tblcli.c : tblcli.sqc
	embprep tblcli $(DB) $(UID) $(PWD)
tblcli.obj : tblcli.c
	$(CC) $(CFLAGS) tblcli.c
tblcli : tblcli.obj util.obj
	$(LINK) $(LINKFLAGS) -out:tblcli.exe tblcli.obj util.obj $(LIBS)


tblsrv.obj : tblsrv.c
	$(CC) $(CFLAGSSRV) tblsrv.c
tblsrv : tblsrv.obj
!IF "$(COMPILER)" == "MS"
	$(LINK) $(LINKFLAGS1) -out:tblsrv.dll tblsrv.obj $(LIBS1) -def:tblsrv.def
!ELSE
	ilib /GI tblsrvva.def 
	$(LINK) $(LINKFLAGS1) tblsrv.obj tblsrvva.exp $(LIBS1) 
!ENDIF
	copy tblsrv.dll $(DB2PATH)\function