# (C) COPYRIGHT International Business Machines Corp. 1997, 2000
# 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
# Micro Focus COBOL sample programs -- OS/2 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 and linker
CC=cobol
LINK=cbllink
# The required libraries
LIBS= db2api.lib db2gmf32.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 *.map *.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) checkerr.cbl;
#****************************************************************************
# 3b - non embedded SQL, non client/server samples
#****************************************************************************
client.obj : client.cbl
$(CC) client.cbl;
client : client.obj checkerr.obj
$(LINK) client.obj checkerr.obj $(LIBS)
d_dbconf.obj : d_dbconf.cbl
$(CC) d_dbconf.cbl;
d_dbconf : d_dbconf.obj checkerr.obj
$(LINK) d_dbconf.obj checkerr.obj $(LIBS)
d_dbmcon.obj : d_dbmcon.cbl
$(CC) d_dbmcon.cbl;
d_dbmcon : d_dbmcon.obj checkerr.obj
$(LINK) d_dbmcon.obj checkerr.obj $(LIBS)
db_udcs.obj : db_udcs.cbl
$(CC) db_udcs.cbl;
db_udcs : db_udcs.obj checkerr.obj
$(LINK) db_udcs.obj checkerr.obj $(LIBS)
dbcat.obj : dbcat.cbl
$(CC) dbcat.cbl;
dbcat : dbcat.obj checkerr.obj
$(LINK) dbcat.obj checkerr.obj $(LIBS)
dbcmt.obj : dbcmt.cbl
$(CC) dbcmt.cbl;
dbcmt : dbcmt.obj checkerr.obj
$(LINK) dbcmt.obj checkerr.obj $(LIBS)
dbconf.obj : dbconf.cbl
$(CC) dbconf.cbl;
dbconf : dbconf.obj checkerr.obj
$(LINK) dbconf.obj checkerr.obj $(LIBS)
dbinst.obj : dbinst.cbl
$(CC) dbinst.cbl;
dbinst : dbinst.obj checkerr.obj
$(LINK) dbinst.obj checkerr.obj $(LIBS)
dbmconf.obj : dbmconf.cbl
$(CC) dbmconf.cbl;
dbmconf : dbmconf.obj checkerr.obj
$(LINK) dbmconf.obj checkerr.obj $(LIBS)
dbsnap.obj : dbsnap.cbl
$(CC) dbsnap.cbl;
dbsnap : dbsnap.obj checkerr.obj
$(LINK) dbsnap.obj checkerr.obj $(LIBS)
dbstart.obj : dbstart.cbl
$(CC) dbstart.cbl;
dbstart : dbstart.obj checkerr.obj
$(LINK) dbstart.obj checkerr.obj $(LIBS)
dbstop.obj : dbstop.cbl
$(CC) dbstop.cbl;
dbstop : dbstop.obj checkerr.obj
$(LINK) dbstop.obj checkerr.obj $(LIBS)
dcscat.obj : dcscat.cbl
$(CC) dcscat.cbl;
dcscat : dcscat.obj checkerr.obj
$(LINK) dcscat.obj checkerr.obj $(LIBS)
ebcdicdb.obj : ebcdicdb.cbl
$(CC) ebcdicdb.cbl;
ebcdicdb : ebcdicdb.obj checkerr.obj
$(LINK) ebcdicdb.obj checkerr.obj $(LIBS)
migrate.obj : migrate.cbl
$(CC) migrate.cbl;
migrate : migrate.obj checkerr.obj
$(LINK) migrate.obj checkerr.obj $(LIBS)
monreset.obj : monreset.cbl
$(CC) monreset.cbl;
monreset : monreset.obj checkerr.obj
$(LINK) monreset.obj checkerr.obj $(LIBS)
monsz.obj : monsz.cbl
$(CC) monsz.cbl;
monsz : monsz.obj checkerr.obj
$(LINK) monsz.obj checkerr.obj $(LIBS)
nodecat.obj : nodecat.cbl
$(CC) nodecat.cbl;
nodecat : nodecat.obj checkerr.obj
$(LINK) nodecat.obj checkerr.obj $(LIBS)
restart.obj : restart.cbl
$(CC) restart.cbl;
restart : restart.obj checkerr.obj
$(LINK) restart.obj checkerr.obj $(LIBS)
setact.obj : setact.cbl
$(CC) setact.cbl;
setact : setact.obj checkerr.obj
$(LINK) setact.obj checkerr.obj $(LIBS)
sws.obj : sws.cbl
$(CC) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) inpsrv.cbl;
inpsrv : inpsrv.obj
$(LINK) /d inpsrv.obj $(LIBS)
$(COPY) inpsrv.dll $(DB2PATH)\function
#--------------------outcli/outsrv------------------------------------------#
outcli.cbl : outcli.sqb
embprep outcli $(DB) $(UID) $(PWD)
outcli.obj : outcli.cbl
$(CC) 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) outsrv.cbl;
outsrv : outsrv.obj
$(LINK) /d outsrv.obj $(LIBS)
$(COPY) outsrv.dll $(DB2PATH)\function