# (C) COPYRIGHT International Business Machines Corp. 1995, 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
# IBM COBOL 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
##################################################################################
# compiler - IBM VisualAge for COBOL
CC=cob2
# the required compiler flags
CFLAGS= -qpgmname(mixed) -c -qlib -I$(DB2PATH)\include\cobol_a
# Linker - IBM VisualAge for COBOL
LINK=cob2
# The required libraries
LIBS=$(DB2PATH)\lib\db2api.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 : \
inpsrv\
outsrv
#****************************************************************************
# 2c - nmake localclient
#****************************************************************************
localclient : \
dbstart dbstop
#****************************************************************************
# 2d - nmake udfspclient
#****************************************************************************
udfspclient : \
inpcli \
outcli
#****************************************************************************
# 2e - nmake otherremoteclient
#****************************************************************************
otherremoteclient : \
advsql \
client cursor \
d_dbconf d_dbmcon db_udcs dbauth dbcat \
dbcmt dbconf dbinst dbmconf dbsnap \
dbstat dcscat delet dynamic \
ebcdicdb expsamp \
impexp \
joinsql \
loadqry lobeval lobfile lobloc \
migrate monreset monsz \
nodecat \
openftch \
prepbind \
qload \
rebind restart \
setact static sws \
tabscont tabspace tabsql \
tload trigsql tspace \
updat \
varinp
#****************************************************************************
# 2f - nmake allremoteclient
#****************************************************************************
allremoteclient : \
udfspclient \
otherremoteclient
#****************************************************************************
# 2g - nmake clean
#****************************************************************************
clean : \
cleangen \
cleanemb
cleangen :
$(ERASE) *.obj *.adt *.lib *.lst *.txt
cleanemb :
$(ERASE) advsql.cbl
$(ERASE) cursor.cbl
$(ERASE) dbauth.cbl dbstat.cbl delet.cbl dynamic.cbl
$(ERASE) expsamp.cbl
$(ERASE) impexp.cbl inpcli.cbl inpsrv.cbl
$(ERASE) joinsql.cbl
$(ERASE) loadqry.cbl lobeval.cbl lobfile.cbl lobloc.cbl
$(ERASE) openftch.cbl outcli.cbl outsrv.cbl
$(ERASE) prepbind.cbl
$(ERASE) qload.cbl
$(ERASE) rebind.cbl
$(ERASE) static.cbl
$(ERASE) tabscont.cbl tabspace.cbl tabsql.cbl
$(ERASE) tload.cbl trigsql.cbl tspace.cbl
$(ERASE) updat.cbl
$(ERASE) varinp.cbl
#****************************************************************************
# 2h - nmake cleanall
#****************************************************************************
cleanall : \
clean
$(ERASE) *.exe *.bnd *.dll
$(ERASE) $(DB2PATH)\function\inpsrv.dll
$(ERASE) $(DB2PATH)\function\outsrv.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
#############################################################################
#****************************************************************************
# 3a - utilities
#****************************************************************************
checkerr.obj : checkerr.cbl
$(CC) $(CFLAGS) checkerr.cbl
#****************************************************************************
# 3b - non embedded SQL, non client/server samples
#****************************************************************************
client.obj : client.cbl
$(CC) $(CFLAGS) client.cbl
client : client.obj checkerr.obj
$(LINK) client.obj checkerr.obj $(LIBS)
d_dbconf.obj : d_dbconf.cbl
$(CC) $(CFLAGS) d_dbconf.cbl
d_dbconf : d_dbconf.obj checkerr.obj
$(LINK) d_dbconf.obj checkerr.obj $(LIBS)
d_dbmcon.obj : d_dbmcon.cbl
$(CC) $(CFLAGS) d_dbmcon.cbl
d_dbmcon : d_dbmcon.obj checkerr.obj
$(LINK) d_dbmcon.obj checkerr.obj $(LIBS)
db_udcs.obj : db_udcs.cbl
$(CC) $(CFLAGS) db_udcs.cbl
db_udcs : db_udcs.obj checkerr.obj
$(LINK) db_udcs.obj checkerr.obj $(LIBS)
dbcat.obj : dbcat.cbl
$(CC) $(CFLAGS) dbcat.cbl
dbcat : dbcat.obj checkerr.obj
$(LINK) dbcat.obj checkerr.obj $(LIBS)
dbcmt.obj : dbcmt.cbl
$(CC) $(CFLAGS) dbcmt.cbl
dbcmt : dbcmt.obj checkerr.obj
$(LINK) dbcmt.obj checkerr.obj $(LIBS)
dbconf.obj : dbconf.cbl
$(CC) $(CFLAGS) dbconf.cbl
dbconf : dbconf.obj checkerr.obj
$(LINK) dbconf.obj checkerr.obj $(LIBS)
dbinst.obj : dbinst.cbl
$(CC) $(CFLAGS) dbinst.cbl
dbinst : dbinst.obj checkerr.obj
$(LINK) dbinst.obj checkerr.obj $(LIBS)
dbmconf.obj : dbmconf.cbl
$(CC) $(CFLAGS) dbmconf.cbl
dbmconf : dbmconf.obj checkerr.obj
$(LINK) dbmconf.obj checkerr.obj $(LIBS)
dbsnap.obj : dbsnap.cbl
$(CC) $(CFLAGS) dbsnap.cbl
dbsnap : dbsnap.obj checkerr.obj
$(LINK) dbsnap.obj checkerr.obj $(LIBS)
dbstart.obj : dbstart.cbl
$(CC) $(CFLAGS) dbstart.cbl
dbstart : dbstart.obj checkerr.obj
$(LINK) dbstart.obj checkerr.obj $(LIBS)
dbstop.obj : dbstop.cbl
$(CC) $(CFLAGS) dbstop.cbl
dbstop : dbstop.obj checkerr.obj
$(LINK) dbstop.obj checkerr.obj $(LIBS)
dcscat.obj : dcscat.cbl
$(CC) $(CFLAGS) dcscat.cbl
dcscat : dcscat.obj checkerr.obj
$(LINK) dcscat.obj checkerr.obj $(LIBS)
ebcdicdb.obj : ebcdicdb.cbl
$(CC) $(CFLAGS) ebcdicdb.cbl
ebcdicdb : ebcdicdb.obj checkerr.obj
$(LINK) ebcdicdb.obj checkerr.obj $(LIBS)
migrate.obj : migrate.cbl
$(CC) $(CFLAGS) migrate.cbl
migrate : migrate.obj checkerr.obj
$(LINK) migrate.obj checkerr.obj $(LIBS)
monreset.obj : monreset.cbl
$(CC) $(CFLAGS) monreset.cbl
monreset : monreset.obj checkerr.obj
$(LINK) monreset.obj checkerr.obj $(LIBS)
monsz.obj : monsz.cbl
$(CC) $(CFLAGS) monsz.cbl
monsz : monsz.obj checkerr.obj
$(LINK) monsz.obj checkerr.obj $(LIBS)
nodecat.obj : nodecat.cbl
$(CC) $(CFLAGS) nodecat.cbl
nodecat : nodecat.obj checkerr.obj
$(LINK) nodecat.obj checkerr.obj $(LIBS)
restart.obj : restart.cbl
$(CC) $(CFLAGS) restart.cbl
restart : restart.obj checkerr.obj
$(LINK) restart.obj checkerr.obj $(LIBS)
setact.obj : setact.cbl
$(CC) $(CFLAGS) setact.cbl
setact : setact.obj checkerr.obj
$(LINK) setact.obj checkerr.obj $(LIBS)
sws.obj : sws.cbl
$(CC) $(CFLAGS) sws.cbl
sws : sws.obj checkerr.obj
$(LINK) sws.obj checkerr.obj $(LIBS)
#****************************************************************************
# 3c - embedded SQL non client/server samples
#****************************************************************************
advsql.cbl : advsql.sqb
embprep advsql $(DB) $(UID) $(PWD)
advsql.obj : advsql.cbl
$(CC) $(CFLAGS) advsql.cbl
advsql : advsql.obj checkerr.obj
$(LINK) advsql.obj checkerr.obj $(LIBS)
cursor.cbl : cursor.sqb
embprep cursor $(DB) $(UID) $(PWD)
cursor.obj : cursor.cbl
$(CC) $(CFLAGS) cursor.cbl
cursor : cursor.obj checkerr.obj
$(LINK) cursor.obj checkerr.obj $(LIBS)
dbauth.cbl : dbauth.sqb
embprep dbauth $(DB) $(UID) $(PWD)
dbauth.obj : dbauth.cbl
$(CC) $(CFLAGS) dbauth.cbl
dbauth : dbauth.obj checkerr.obj
$(LINK) dbauth.obj checkerr.obj $(LIBS)
dbstat.cbl : dbstat.sqb
embprep dbstat $(DB) $(UID) $(PWD)
dbstat.obj : dbstat.cbl
$(CC) $(CFLAGS) dbstat.cbl
dbstat : dbstat.obj checkerr.obj
$(LINK) dbstat.obj checkerr.obj $(LIBS)
delet.cbl : delet.sqb
embprep delet $(DB) $(UID) $(PWD)
delet.obj : delet.cbl
$(CC) $(CFLAGS) delet.cbl
delet : delet.obj checkerr.obj
$(LINK) delet.obj checkerr.obj $(LIBS)
dynamic.cbl : dynamic.sqb
embprep dynamic $(DB) $(UID) $(PWD)
dynamic.obj : dynamic.cbl
$(CC) $(CFLAGS) dynamic.cbl
dynamic : dynamic.obj checkerr.obj
$(LINK) dynamic.obj checkerr.obj $(LIBS)
expsamp.cbl : expsamp.sqb
embprep expsamp $(DB) $(UID) $(PWD)
expsamp.obj : expsamp.cbl
$(CC) $(CFLAGS) expsamp.cbl
expsamp : expsamp.obj checkerr.obj
$(LINK) expsamp.obj checkerr.obj $(LIBS)
impexp.cbl : impexp.sqb
embprep impexp $(DB) $(UID) $(PWD)
impexp.obj : impexp.cbl
$(CC) $(CFLAGS) impexp.cbl
impexp : impexp.obj checkerr.obj
$(LINK) impexp.obj checkerr.obj $(LIBS)
joinsql.cbl : joinsql.sqb
embprep joinsql $(DB) $(UID) $(PWD)
joinsql.obj : joinsql.cbl
$(CC) $(CFLAGS) joinsql.cbl
joinsql : joinsql.obj checkerr.obj
$(LINK) joinsql.obj checkerr.obj $(LIBS)
loadqry.cbl : loadqry.sqb
embprep loadqry $(DB) $(UID) $(PWD)
loadqry.obj : loadqry.cbl
$(CC) $(CFLAGS) loadqry.cbl
loadqry : loadqry.obj checkerr.obj
$(LINK) loadqry.obj checkerr.obj $(LIBS)
lobeval.cbl : lobeval.sqb
embprep lobeval $(DB) $(UID) $(PWD)
lobeval.obj : lobeval.cbl
$(CC) $(CFLAGS) lobeval.cbl
lobeval : lobeval.obj checkerr.obj
$(LINK) lobeval.obj checkerr.obj $(LIBS)
lobfile.cbl : lobfile.sqb
embprep lobfile $(DB) $(UID) $(PWD)
lobfile.obj : lobfile.cbl
$(CC) $(CFLAGS) lobfile.cbl
lobfile : lobfile.obj checkerr.obj
$(LINK) lobfile.obj checkerr.obj $(LIBS)
lobloc.cbl : lobloc.sqb
embprep lobloc $(DB) $(UID) $(PWD)
lobloc.obj : lobloc.cbl
$(CC) $(CFLAGS) lobloc.cbl
lobloc : lobloc.obj checkerr.obj
$(LINK) lobloc.obj checkerr.obj $(LIBS)
openftch.cbl : openftch.sqb
embprep openftch $(DB) $(UID) $(PWD)
openftch.obj : openftch.cbl
$(CC) $(CFLAGS) openftch.cbl
openftch : openftch.obj checkerr.obj
$(LINK) openftch.obj checkerr.obj $(LIBS)
prepbind.cbl : prepbind.sqb
embprep prepbind $(DB) $(UID) $(PWD)
prepbind.obj : prepbind.cbl
$(CC) $(CFLAGS) prepbind.cbl
prepbind : prepbind.obj checkerr.obj
$(LINK) prepbind.obj checkerr.obj $(LIBS)
qload.cbl : qload.sqb
embprep qload $(DB) $(UID) $(PWD)
qload.obj : qload.cbl
$(CC) $(CFLAGS) qload.cbl
qload : qload.obj checkerr.obj
$(LINK) qload.obj checkerr.obj $(LIBS)
rebind.cbl : rebind.sqb
embprep rebind $(DB) $(UID) $(PWD)
rebind.obj : rebind.cbl
$(CC) $(CFLAGS) rebind.cbl
rebind : rebind.obj checkerr.obj
$(LINK) rebind.obj checkerr.obj $(LIBS)
static.cbl : static.sqb
embprep static $(DB) $(UID) $(PWD)
static.obj : static.cbl
$(CC) $(CFLAGS) static.cbl
static : static.obj checkerr.obj
$(LINK) static.obj checkerr.obj $(LIBS)
tabscont.cbl : tabscont.sqb
embprep tabscont $(DB) $(UID) $(PWD)
tabscont.obj : tabscont.cbl
$(CC) $(CFLAGS) tabscont.cbl
tabscont : tabscont.obj checkerr.obj
$(LINK) tabscont.obj checkerr.obj $(LIBS)
tabspace.cbl : tabspace.sqb
embprep tabspace $(DB) $(UID) $(PWD)
tabspace.obj : tabspace.cbl
$(CC) $(CFLAGS) tabspace.cbl
tabspace : tabspace.obj checkerr.obj
$(LINK) tabspace.obj checkerr.obj $(LIBS)
tabsql.cbl : tabsql.sqb
embprep tabsql $(DB) $(UID) $(PWD)
tabsql.obj : tabsql.cbl
$(CC) $(CFLAGS) tabsql.cbl
tabsql : tabsql.obj checkerr.obj
$(LINK) tabsql.obj checkerr.obj $(LIBS)
tload.cbl : tload.sqb
embprep tload $(DB) $(UID) $(PWD)
tload.obj : tload.cbl
$(CC) $(CFLAGS) tload.cbl
tload : tload.obj checkerr.obj
$(LINK) tload.obj checkerr.obj $(LIBS)
trigsql.cbl : trigsql.sqb
embprep trigsql $(DB) $(UID) $(PWD)
trigsql.obj : trigsql.cbl
$(CC) $(CFLAGS) trigsql.cbl
trigsql : trigsql.obj checkerr.obj
$(LINK) trigsql.obj checkerr.obj $(LIBS)
tspace.cbl : tspace.sqb
embprep tspace $(DB) $(UID) $(PWD)
tspace.obj : tspace.cbl
$(CC) $(CFLAGS) tspace.cbl
tspace : tspace.obj checkerr.obj
$(LINK) tspace.obj checkerr.obj $(LIBS)
updat.cbl : updat.sqb
embprep updat $(DB) $(UID) $(PWD)
updat.obj : updat.cbl
$(CC) $(CFLAGS) updat.cbl
updat : updat.obj checkerr.obj
$(LINK) updat.obj checkerr.obj $(LIBS)
varinp.cbl : varinp.sqb
embprep varinp $(DB) $(UID) $(PWD)
varinp.obj : varinp.cbl
$(CC) $(CFLAGS) varinp.cbl
varinp : varinp.obj checkerr.obj
$(LINK) varinp.obj checkerr.obj $(LIBS)
#****************************************************************************
# 3d - client/server samples
#****************************************************************************
#--------------------inpcli/inpsrv------------------------------------------#
inpcli.cbl : inpcli.sqb
embprep inpcli $(DB) $(UID) $(PWD)
inpcli.obj : inpcli.cbl
$(CC) $(CFLAGS) inpcli.cbl
inpcli : inpcli.obj checkerr.obj
$(LINK) inpcli.obj checkerr.obj $(LIBS)
inpsrv.cbl : inpsrv.sqb
embprep inpsrv $(DB) $(UID) $(PWD)
inpsrv.obj : inpsrv.cbl
$(CC) $(CFLAGS) inpsrv.cbl
inpsrv : inpsrv.obj
ilib /nol /gi:inpsrv inpsrv.obj
ilink /free /nol /dll db2api.lib inpsrv.exp inpsrv.obj iwzrwin3.obj
$(COPY) inpsrv.dll $(DB2PATH)\function
#--------------------outcli/outsrv------------------------------------------#
outcli.cbl : outcli.sqb
embprep outcli $(DB) $(UID) $(PWD)
outcli.obj : outcli.cbl
$(CC) $(CFLAGS) outcli.cbl
outcli : outcli.obj checkerr.obj
$(LINK) outcli.obj checkerr.obj $(LIBS)
outsrv.cbl : outsrv.sqb
embprep outsrv $(DB) $(UID) $(PWD)
outsrv.obj : outsrv.cbl
$(CC) $(CFLAGS) outsrv.cbl
outsrv : outsrv.obj
ilib /nol /gi:outsrv outsrv.obj
ilink /free /nol /dll db2api.lib outsrv.exp outsrv.obj iwzrwin3.obj
$(COPY) outsrv.dll $(DB2PATH)\function