# (C) COPYRIGHT International Business Machines Corp. 1995, 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 -- Sun Solaris operating system
# Enter one of the following commands
#
# make <app_name> - Builds the program designated by <app_name>
#
# make all - Builds the all the supplied sample programs
# make udfspserver - Builds the examples that implement
# stored procedures and UDFs (on the server)
# make localclient - Builds the examples that can only be run
# successfully on a server
# make udfspclient - Builds the examples that call stored
# procedures and UDFs ( they can run remotely )
# make otherremoteclient - Builds the examples that will run successfully
# on a client platform ( others than udfspclient )
# make allremoteclient - Builds programs in udfspclient and otherremoteclient
# categories
#
# make clean - Erases intermediate files
# make 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
##################################################################################
# This file assumes the DB2 instance path is defined by the variable HOME.
# It also assumes DB2 is installed under the DB2 instance.
# If these statements are not correct, update the variable DB2PATH.
DB2PATH = $(HOME)/sqllib
# compiler and linker - Micro Focus COBOL Compiler
CC=cob
# The required compiler flags
CFLAGS= -x
# The required libraries
LIBS= -L$(DB2PATH)/lib -ldb2 -ldb2gmf
# The additional link options for stored procedures
SPLIBS= -L$(DB2PATH)/lib -ldb2 -ldb2gmf
# 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=cp
ERASE=rm -f
#############################################################################
# 2 -- MAKE CATEGORIES
# 2a - make all(= allremoteclient + localclient +udfspserver)
# 2b - make udfspserver
# 2c - make localclient
# 2d - make udfspclient
# 2e - make otherremoteclient
# 2f - make allremoteclient(= udfspclient + otherremoteclient)
# 2g - make clean
# 2h - make cleanall
#############################################################################
#****************************************************************************
# 2a - make all
#****************************************************************************
all : \
allremoteclient \
localclient \
udfspserver
#****************************************************************************
# 2b - make udfspserver
#****************************************************************************
udfspserver : \
inpsrv\
outsrv
#****************************************************************************
# 2c - make localclient
#****************************************************************************
localclient : \
dbstart dbstop
#****************************************************************************
# 2d - make udfspclient
#****************************************************************************
udfspclient : \
inpcli \
outcli
#****************************************************************************
# 2e - make 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 - make allremoteclient
#****************************************************************************
allremoteclient : \
udfspclient \
otherremoteclient
#****************************************************************************
# 2g - make clean
#****************************************************************************
clean : \
cleangen \
cleanemb \
cleanclisrv
cleangen :
$(ERASE) *.o *.int
$(ERASE) *.txt *.ixf
cleanemb :
$(ERASE) advsql.cbl
$(ERASE) cursor.cbl
$(ERASE) dbauth.cbl dbstat.cbl delet.cbl dynamic.cbl
$(ERASE) expsamp.cbl
$(ERASE) impexp.cbl
$(ERASE) joinsql.cbl
$(ERASE) loadqry.cbl lobeval.cbl lobfile.cbl lobloc.cbl
$(ERASE) openftch.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
cleanclisrv:
$(ERASE) inpcli.cbl
$(ERASE) inpsrv.cbl
$(ERASE) inpsrv_wrap.c
$(ERASE) inpsrv_wrap.exp
$(ERASE) outcli.cbl
$(ERASE) outsrv.cbl
$(ERASE) outsrv_wrap.c
$(ERASE) outsrv_wrap.exp
#****************************************************************************
# 2h - make cleanall
#****************************************************************************
cleanall : \
clean
$(ERASE) *.bnd
$(ERASE) advsql
$(ERASE) client cursor
$(ERASE) d_dbconf d_dbmcon db_udcs dbauth dbcat
$(ERASE) dbcmt dbconf dbinst dbmconf dbsnap
$(ERASE) dbstart dbstat dbstop dcscat delet dynamic
$(ERASE) ebcdicdb expsamp
$(ERASE) impexp inpcli inpsrv
$(ERASE) joinsql
$(ERASE) loadqry lobeval lobfile lobloc
$(ERASE) migrate monreset monsz
$(ERASE) nodecat
$(ERASE) openftch outcli outsrv
$(ERASE) prepbind
$(ERASE) qload
$(ERASE) rebind restart
$(ERASE) setact static sws
$(ERASE) tabscont tabspace tabsql
$(ERASE) tload trigsql tspace
$(ERASE) updat
$(ERASE) varinp
$(ERASE) $(DB2PATH)/function/inpsrv
$(ERASE) $(DB2PATH)/function/outsrv
#############################################################################
# 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.o : checkerr.cbl
$(CC) -c checkerr.cbl $(CFLAGS)
#****************************************************************************
# 3b - non embedded SQL, non client/server samples
#****************************************************************************
client : client.cbl checkerr.o
$(CC) -o client client.cbl checkerr.o $(CFLAGS) $(LIBS)
d_dbconf : d_dbconf.cbl checkerr.o
$(CC) -o d_dbconf d_dbconf.cbl checkerr.o $(CFLAGS) $(LIBS)
d_dbmcon : d_dbmcon.cbl checkerr.o
$(CC) -o d_dbmcon d_dbmcon.cbl checkerr.o $(CFLAGS) $(LIBS)
db_udcs : db_udcs.cbl checkerr.o
$(CC) -o db_udcs db_udcs.cbl checkerr.o $(CFLAGS) $(LIBS)
dbcat : dbcat.cbl checkerr.o
$(CC) -o dbcat dbcat.cbl checkerr.o $(CFLAGS) $(LIBS)
dbcmt : dbcmt.cbl checkerr.o
$(CC) -o dbcmt dbcmt.cbl checkerr.o $(CFLAGS) $(LIBS)
dbconf : dbconf.cbl checkerr.o
$(CC) -o dbconf dbconf.cbl checkerr.o $(CFLAGS) $(LIBS)
dbinst : dbinst.cbl checkerr.o
$(CC) -o dbinst dbinst.cbl checkerr.o $(CFLAGS) $(LIBS)
dbmconf : dbmconf.cbl checkerr.o
$(CC) -o dbmconf dbmconf.cbl checkerr.o $(CFLAGS) $(LIBS)
dbsnap : dbsnap.cbl checkerr.o
$(CC) -o dbsnap dbsnap.cbl checkerr.o $(CFLAGS) $(LIBS)
dbstart : dbstart.cbl checkerr.o
$(CC) -o dbstart dbstart.cbl checkerr.o $(CFLAGS) $(LIBS)
dbstop : dbstop.cbl checkerr.o
$(CC) -o dbstop dbstop.cbl checkerr.o $(CFLAGS) $(LIBS)
dcscat : dcscat.cbl checkerr.o
$(CC) -o dcscat dcscat.cbl checkerr.o $(CFLAGS) $(LIBS)
ebcdicdb : ebcdicdb.cbl checkerr.o
$(CC) -o ebcdicdb ebcdicdb.cbl checkerr.o $(CFLAGS) $(LIBS)
migrate : migrate.cbl checkerr.o
$(CC) -o migrate migrate.cbl checkerr.o $(CFLAGS) $(LIBS)
monreset : monreset.cbl checkerr.o
$(CC) -o monreset monreset.cbl checkerr.o $(CFLAGS) $(LIBS)
monsz : monsz.cbl checkerr.o
$(CC) -o monsz monsz.cbl checkerr.o $(CFLAGS) $(LIBS)
nodecat : nodecat.cbl checkerr.o
$(CC) -o nodecat nodecat.cbl checkerr.o $(CFLAGS) $(LIBS)
restart : restart.cbl checkerr.o
$(CC) -o restart restart.cbl checkerr.o $(CFLAGS) $(LIBS)
setact : setact.cbl checkerr.o
$(CC) -o setact setact.cbl checkerr.o $(CFLAGS) $(LIBS)
sws : sws.cbl checkerr.o
$(CC) -o sws sws.cbl checkerr.o $(CFLAGS) $(LIBS)
#****************************************************************************
# 3c - embedded SQL non client/server samples
#****************************************************************************
advsql.cbl : advsql.sqb
./embprep advsql $(DB) $(UID) $(PWD)
advsql : advsql.cbl checkerr.o
$(CC) -o advsql advsql.cbl checkerr.o $(CFLAGS) $(LIBS)
cursor.cbl : cursor.sqb
./embprep cursor $(DB) $(UID) $(PWD)
cursor : cursor.cbl checkerr.o
$(CC) -o cursor cursor.cbl checkerr.o $(CFLAGS) $(LIBS)
dbauth.cbl : dbauth.sqb
./embprep dbauth $(DB) $(UID) $(PWD)
dbauth : dbauth.cbl checkerr.o
$(CC) -o dbauth dbauth.cbl checkerr.o $(CFLAGS) $(LIBS)
dbstat.cbl : dbstat.sqb
./embprep dbstat $(DB) $(UID) $(PWD)
dbstat : dbstat.cbl checkerr.o
$(CC) -o dbstat dbstat.cbl checkerr.o $(CFLAGS) $(LIBS)
delet.cbl : delet.sqb
./embprep delet $(DB) $(UID) $(PWD)
delet : delet.cbl checkerr.o
$(CC) -o delet delet.cbl checkerr.o $(CFLAGS) $(LIBS)
dynamic.cbl : dynamic.sqb
./embprep dynamic $(DB) $(UID) $(PWD)
dynamic : dynamic.cbl checkerr.o
$(CC) -o dynamic dynamic.cbl checkerr.o $(CFLAGS) $(LIBS)
expsamp.cbl : expsamp.sqb
./embprep expsamp $(DB) $(UID) $(PWD)
expsamp : expsamp.cbl checkerr.o
$(CC) -o expsamp expsamp.cbl checkerr.o $(CFLAGS) $(LIBS)
impexp.cbl : impexp.sqb
./embprep impexp $(DB) $(UID) $(PWD)
impexp : impexp.cbl checkerr.o
$(CC) -o impexp impexp.cbl checkerr.o $(CFLAGS) $(LIBS)
joinsql.cbl : joinsql.sqb
./embprep joinsql $(DB) $(UID) $(PWD)
joinsql : joinsql.cbl checkerr.o
$(CC) -o joinsql joinsql.cbl checkerr.o $(CFLAGS) $(LIBS)
loadqry.cbl : loadqry.sqb
./embprep loadqry $(DB) $(UID) $(PWD)
loadqry : loadqry.cbl checkerr.o
$(CC) -o loadqry loadqry.cbl checkerr.o $(CFLAGS) $(LIBS)
lobeval.cbl : lobeval.sqb
./embprep lobeval $(DB) $(UID) $(PWD)
lobeval : lobeval.cbl checkerr.o
$(CC) -o lobeval lobeval.cbl checkerr.o $(CFLAGS) $(LIBS)
lobfile.cbl : lobfile.sqb
./embprep lobfile $(DB) $(UID) $(PWD)
lobfile : lobfile.cbl checkerr.o
$(CC) -o lobfile lobfile.cbl checkerr.o $(CFLAGS) $(LIBS)
lobloc.cbl : lobloc.sqb
./embprep lobloc $(DB) $(UID) $(PWD)
lobloc : lobloc.cbl checkerr.o
$(CC) -o lobloc lobloc.cbl checkerr.o $(CFLAGS) $(LIBS)
openftch.cbl : openftch.sqb
./embprep openftch $(DB) $(UID) $(PWD)
openftch : openftch.cbl checkerr.o
$(CC) -o openftch openftch.cbl checkerr.o $(CFLAGS) $(LIBS)
prepbind.cbl : prepbind.sqb
./embprep prepbind $(DB) $(UID) $(PWD)
prepbind : prepbind.cbl checkerr.o
$(CC) -o prepbind prepbind.cbl checkerr.o $(CFLAGS) $(LIBS)
qload.cbl : qload.sqb
./embprep qload $(DB) $(UID) $(PWD)
qload : qload.cbl checkerr.o
$(CC) -o qload qload.cbl checkerr.o $(CFLAGS) $(LIBS)
rebind.cbl : rebind.sqb
./embprep rebind $(DB) $(UID) $(PWD)
rebind: rebind.cbl checkerr.o
$(CC) -o rebind rebind.cbl checkerr.o $(CFLAGS) $(LIBS)
static.cbl : static.sqb
./embprep static $(DB) $(UID) $(PWD)
static : static.cbl checkerr.o
$(CC) -o static static.cbl checkerr.o $(CFLAGS) $(LIBS)
tabscont.cbl : tabscont.sqb
./embprep tabscont $(DB) $(UID) $(PWD)
tabscont : tabscont.cbl checkerr.o
$(CC) -o tabscont tabscont.cbl checkerr.o $(CFLAGS) $(LIBS)
tabspace.cbl : tabspace.sqb
./embprep tabspace $(DB) $(UID) $(PWD)
tabspace : tabspace.cbl checkerr.o
$(CC) -o tabspace tabspace.cbl checkerr.o $(CFLAGS) $(LIBS)
tabsql.cbl : tabsql.sqb
./embprep tabsql $(DB) $(UID) $(PWD)
tabsql : tabsql.cbl checkerr.o
$(CC) -o tabsql tabsql.cbl checkerr.o $(CFLAGS) $(LIBS)
tload.cbl : tload.sqb
./embprep tload $(DB) $(UID) $(PWD)
tload : tload.cbl checkerr.o
$(CC) -o tload tload.cbl checkerr.o $(CFLAGS) $(LIBS)
trigsql.cbl : trigsql.sqb
./embprep trigsql $(DB) $(UID) $(PWD)
trigsql : trigsql.cbl checkerr.o
$(CC) -o trigsql trigsql.cbl checkerr.o $(CFLAGS) $(LIBS)
tspace.cbl : tspace.sqb
./embprep tspace $(DB) $(UID) $(PWD)
tspace : tspace.cbl checkerr.o
$(CC) -o tspace tspace.cbl checkerr.o $(CFLAGS) $(LIBS)
updat.cbl : updat.sqb
./embprep updat $(DB) $(UID) $(PWD)
updat : updat.cbl checkerr.o
$(CC) -o updat updat.cbl checkerr.o $(CFLAGS) $(LIBS)
varinp.cbl : varinp.sqb
./embprep varinp $(DB) $(UID) $(PWD)
varinp : varinp.cbl checkerr.o
$(CC) -o varinp varinp.cbl checkerr.o $(CFLAGS) $(LIBS)
#****************************************************************************
# 3d - client/server samples
#****************************************************************************
#--------------------inpcli/inpsrv------------------------------------------#
inpcli.cbl : inpcli.sqb
./embprep inpcli $(DB) $(UID) $(PWD)
inpcli : inpcli.cbl checkerr.o
$(CC) -o inpcli inpcli.cbl checkerr.o $(CFLAGS) $(LIBS)
inpsrv.cbl : inpsrv.sqb
./embprep inpsrv $(DB) $(UID) $(PWD)
inpsrv.o : inpsrv.cbl
$(CC) -c $(CFLAGS) inpsrv.cbl
inpsrv_wrap.c : inpsrv.cbl
wrapsrv inpsrv
inpsrv : inpsrv.o inpsrv_wrap.c
$(CC) -x -o inpsrv inpsrv_wrap.c inpsrv.o \
-Q -G $(SPLIBS)
$(ERASE) $(DB2PATH)/function/inpsrv
$(COPY) inpsrv $(DB2PATH)/function/inpsrv
#--------------------outcli/outsrv------------------------------------------#
outcli.cbl : outcli.sqb
./embprep outcli $(DB) $(UID) $(PWD)
outcli : outcli.cbl checkerr.o
$(CC) -o outcli outcli.cbl checkerr.o $(CFLAGS) $(LIBS)
outsrv.cbl : outsrv.sqb
./embprep outsrv $(DB) $(UID) $(PWD)
outsrv.o : outsrv.cbl
$(CC) -c $(CFLAGS) outsrv.cbl
outsrv_wrap.c: outsrv.cbl
wrapsrv outsrv
outsrv : outsrv.o outsrv_wrap.c
$(CC) -x -o outsrv outsrv_wrap.c outsrv.o \
-Q -G $(SPLIBS)
$(ERASE) $(DB2PATH)/function/outsrv
$(COPY) outsrv $(DB2PATH)/function/outsrv