# (C) COPYRIGHT International Business Machines Corp. 1998, 1999
# All Rights Reserved.
#
# US Government Users Restricted Rights - Use, duplication or
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
# DB2 Universal Database Version 6.1
# makefile for Java sample programs
# AIX, HP-UX, SCO UnixWare, SGI IRIX, Solaris and Linux operating systems
# 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 alljdbc - Builds the all JDBC supplied sample programs
# make allsqlj - Builds the all SQLJ supplied sample programs
#
# make srv - Builds the examples that implement
# stored procedures and UDFs (on the server)
# make srvjdbcj - Builds the JDBC examples that implement
# stored procedures and UDFs (on the server)
# make srvsqlj - Builds the SQLJ examples that implement
# stored procedures and UDFs (on the server)
#
# make srvcli - Builds the examples that call stored
# procedures and UDFs ( they can run remotely )
# make srvclijdbc - Builds the JDBC examples that call stored
# procedures and UDFs ( they can run remotely )
# make srvclisqlj - Builds the SQLJ examples that call stored
# procedures and UDFs ( they can run remotely )
#
# make othercli - Builds the examples that will run successfully
# on a client platform ( others than srvcli )
# make otherclijdbc - Builds the JDBC examples that will run successfully
# on a client platform ( others than srvclijdbc )
# make otherclisqlj - Builds the SQLJ examples that will run successfully
# on a client platform ( others than srvclisqlj )
#
# make allcli - Builds programs in srvcli and othercli
# categories
# make allclijdbc - Builds programs in srvclijdbc and otherclijdbc
# categories
# make allclisqlj - Builds programs in srvclisqlj and otherclisqlj
# categories
#
# make ord - Builds the examples for the ORDER scenario
# ( they are JDBC samples and can run remotely )
#
# 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 -- VARIABLES
# 2 -- MAKE CATEGORIES
# 3 -- COMMANDS TO MAKE INDIVIDUAL SAMPLES
##################################################################################
# 1 -- 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
# 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(= allcli + srv)
# 2b - make alljdbc(= allclijdbc + srvjdbcj)
# 2c - make allsqlj(= allclisqlj + srvsqlj)
#
# 2d - make srv(= srvjdbcj + srvsqlj)
# 2e - make srvjdbcj
# 2f - make srvsqlj
#
# 2g - make srvcli(= srvclijdbc + srvclisqlj)
# 2h - make srvclijdbc
# 2i - make srvclisqlj
#
# 2j - make othercli(= otherclijdbc + otherclisqlj)
# 2k - make otherclijdbc
# 2l - make otherclisqlj
#
# 2m - make allcli(= allclijdbc + allclisqlj)
# 2n - make allclijdbc(= srvclijdbc + otherclijdbc)
# 2o - make allclisqlj(= srvclisqlj + otherclisqlj)
#
# 2p - make ord
#
# 2q - make clean
# 2r - make cleanall
#############################################################################
#****************************************************************************
# 2a - make all(= allcli + srv)
#****************************************************************************
all : \
srv \
allcli
#****************************************************************************
# 2b - make alljdbc(= allclijdbc + srvjdbcj)
#****************************************************************************
alljdbc : \
allclijdbc \
srvjdbcj
#****************************************************************************
# 2c - make allsqlj(= allclisqlj + srvsqlj)
#****************************************************************************
allsqlj : \
allclisqlj \
srvsqlj
#****************************************************************************
# 2d - make srv(= srvjdbcj + srvsqlj)
#****************************************************************************
srv : \
srvjdbcj \
srvsqlj
#****************************************************************************
# 2e - make srvjdbcj
#****************************************************************************
srvjdbcj : \
DB2Stp DB2Udf \
Inpsrv \
MRSPsrv \
UDFsrv
#****************************************************************************
# 2f - make srvsqlj
#****************************************************************************
srvsqlj : \
Outsrv \
Stp
#****************************************************************************
# 2g - make srvcli(= srvclijdbc + srvclisqlj)
#****************************************************************************
srvcli : \
srvclijdbc \
srvclisqlj
#****************************************************************************
# 2h - make srvclijdbc
#****************************************************************************
srvclijdbc : \
DB2SpCli DB2UdCli \
Inpcli \
MRSPcli \
Outcli \
StpCli \
UDFcli
#****************************************************************************
# 2i - make srvclisqlj
#****************************************************************************
srvclisqlj : \
RunUDFcli \
UDFclie
#****************************************************************************
# 2j - make othercli(= otherclijdbc + otherclisqlj)
#****************************************************************************
othercli : \
otherclijdbc \
otherclisqlj
#****************************************************************************
# 2k - make otherclijdbc
#****************************************************************************
otherclijdbc : \
BasicCon Browser \
ColPriv Columns Create CustIn \
DB2Appl DB2Applt DropJava Dynamic \
Embedded \
GetAttrs GetData \
JavaSamp JobUpdat \
LookRes \
MultiCon \
OrdIn OrdRep \
PartRep PicIn Prepare ProcCols Procs ProdIn ProdPart \
ShowPic Simple \
Tables TypeInfo \
UseThrds \
Varinp
#****************************************************************************
# 2l - make otherclisqlj
#****************************************************************************
otherclisqlj : \
App Applt \
Cursor \
Openftch \
Static \
Updat
#****************************************************************************
# 2m - make allcli(= allclijdbc + allclisqlj)
#****************************************************************************
allcli : \
allclijdbc \
allclisqlj
#****************************************************************************
# 2n - make allclijdbc(= srvclijdbc + otherclijdbc)
#****************************************************************************
allclijdbc : \
srvclijdbc \
otherclijdbc
#****************************************************************************
# 2o - make allclisqlj(= srvclisqlj + otherclisqlj)
#****************************************************************************
allclisqlj : \
srvclisqlj \
otherclisqlj
#****************************************************************************
# 2p - make ord
#****************************************************************************
# Run he following samples in the this order
ord : \
Create CustIn ProdIn ProdPart OrdIn OrdRep PartRep DropJava
#****************************************************************************
# 2q - make clean
#****************************************************************************
clean :
$(ERASE) App.java Applt.java
$(ERASE) Cursor.java
$(ERASE) Openftch.java OpF_Curs.java Outsrv.java
$(ERASE) Static.java Stp.java
$(ERASE) Udf.java UDFclie.java Updat.java
#****************************************************************************
# 2r - make cleanall
#****************************************************************************
cleanall : \
clean
$(ERASE) *.class *.ser
$(ERASE) $(DB2PATH)/function/*.class
$(ERASE) $(DB2PATH)/function/*.ser
#############################################################################
# 3 -- COMMANDS TO MAKE INDIVIDUAL SAMPLES
# 3a - JDBC, non client/server samples that do not use
# the class Tools
# 3b - JDBC, non client/server samples that use
# the class Tools
# 3c - SQLJ, non client/server samples
# 3d - client/server samples (mixed)
# 3e - applets (mixed)
#############################################################################
#****************************************************************************
# 3a - JDBC, non client/server samples that do not use
# the class Tools
#****************************************************************************
DB2Appl :
javac DB2Appl.java
Dynamic :
javac Dynamic.java
Varinp :
javac Varinp.java
#****************************************************************************
# 3b - JDBC, non client/server samples that use
# the class Tools
#****************************************************************************
Tools.class :
javac Tools.java
#---------------- the ORDER scenario-----------------------------------------
# run the next samples following this order:
Create : Tools.class
javac Create.java
CustIn : Tools.class
javac CustIn.java
ProdIn : Tools.class
javac ProdIn.java
ProdPart : Tools.class
javac ProdPart.java
OrdIn : Tools.class
javac OrdIn.java
OrdRep : Tools.class
javac OrdRep.java
PartRep : Tools.class
javac PartRep.java
DropJava : Tools.class
javac DropJava.java
#---------------- END of the ORDER scenario----------------------------------
#---------------- other samples in the category 3b --------------------------
BasicCon : Tools.class
javac BasicCon.java
Browser : Tools.class
javac Browser.java
ColPriv : Tools.class
javac ColPriv.java
Columns : Tools.class
javac Columns.java
Embedded : Tools.class
javac Embedded.java
GetAttrs : Tools.class
javac GetAttrs.java
GetData : Tools.class
javac GetData.java
JavaSamp : Tools.class
javac JavaSamp.java
JobUpdat : Tools.class
javac JobUpdat.java
LookRes : Tools.class
javac LookRes.java
MultiCon : Tools.class
javac MultiCon.java
PicIn : Tools.class
javac PicIn.java
Prepare : Tools.class
javac Prepare.java
ProcCols : Tools.class
javac ProcCols.java
Procs : Tools.class
javac Procs.java
ShowPic : Tools.class
javac ShowPic.java
Simple : Tools.class
javac Simple.java
Tables : Tools.class
javac Tables.java
TypeInfo : Tools.class
javac TypeInfo.java
UseThrds : Tools.class
javac UseThrds.java
#****************************************************************************
# 3c - SQLJ, non client/server samples
#****************************************************************************
App.class :
sqlj App.sqlj
App : App.class
embprep App $(DB) $(UID) $(PWD)
Cursor.class :
sqlj Cursor.sqlj
Cursor : Cursor.class
embprep Cursor $(DB) $(UID) $(PWD)
OpF_Curs.class :
sqlj OpF_Curs.sqlj
Openftch.class :
sqlj Openftch.sqlj
Openftch : OpF_Curs.class Openftch.class
embprep Openftch $(DB) $(UID) $(PWD)
Static.class :
sqlj Static.sqlj
Static : Static.class
embprep Static $(DB) $(UID) $(PWD)
Updat.class :
sqlj Updat.sqlj
Updat : Updat.class
embprep Updat $(DB) $(UID) $(PWD)
#****************************************************************************
# 3d - client/server samples (mixed)
#****************************************************************************
#--------------------DB2SpCli / DB2Stp--------------------------------------#
DB2SpCli :
javac DB2SpCli.java
DB2Stp :
javac DB2Stp.java
$(ERASE) $(DB2PATH)/function/DB2Stp.class
$(COPY) DB2Stp.class $(DB2PATH)/function/DB2Stp.class
#--------------------DB2UdCli / DB2Udf--------------------------------------#
DB2UdCli :
javac DB2UdCli.java
DB2Udf :
javac DB2Udf.java
$(ERASE) $(DB2PATH)/function/DB2Udf.class
$(COPY) DB2Udf.class $(DB2PATH)/function/DB2Udf.class
#--------------------Inpcli / Inpsrv----------------------------------------#
Inpcli :
javac Inpcli.java
Inpsrv :
javac Inpsrv.java
$(ERASE) $(DB2PATH)/function/Inpsrv.class
$(COPY) Inpsrv.class $(DB2PATH)/function/Inpsrv.class
#--------------------MRSPcli / MRSPsrv--------------------------------------#
MRSPcli :
javac MRSPcli.java
MRSPsrv :
javac MRSPsrv.java
$(ERASE) $(DB2PATH)/function/MRSPsrv.class
$(COPY) MRSPsrv.class $(DB2PATH)/function/MRSPsrv.class
#--------------------Outcli / Outsrv----------------------------------------#
Outcli :
javac Outcli.java
Outsrv.class :
sqlj Outsrv.sqlj
Outsrv : Outsrv.class
embprep Outsrv $(DB) $(UID) $(PWD)
$(ERASE) $(DB2PATH)/function/Outsrv.class
$(ERASE) $(DB2PATH)/function/Outsrv_Cursor1.class
$(ERASE) $(DB2PATH)/function/Outsrv_SJProfileKeys.class
$(ERASE) $(DB2PATH)/function/Outsrv_SJProfile0.ser
$(COPY) Outsrv.class $(DB2PATH)/function
$(COPY) Outsrv_Cursor1.class $(DB2PATH)/function
$(COPY) Outsrv_SJProfileKeys.class $(DB2PATH)/function
$(COPY) Outsrv_SJProfile0.ser $(DB2PATH)/function
#--------------------StpCli / Stp ------------------------------------------#
StpCli :
javac StpCli.java
Stp.class :
sqlj Stp.sqlj
Stp : Stp.class
embprep Stp $(DB) $(UID) $(PWD)
$(ERASE) $(DB2PATH)/function/Stp.class
$(ERASE) $(DB2PATH)/function/Stp_Cursor1.class
$(ERASE) $(DB2PATH)/function/Stp_Cursor2.class
$(ERASE) $(DB2PATH)/function/Stp_SJProfileKeys.class
$(ERASE) $(DB2PATH)/function/Stp_SJProfile0.ser
$(COPY) Stp.class $(DB2PATH)/function/Stp.class
$(COPY) Stp_Cursor1.class $(DB2PATH)/function/Stp_Cursor1.class
$(COPY) Stp_Cursor2.class $(DB2PATH)/function/Stp_Cursor2.class
$(COPY) Stp_SJProfileKeys.class $(DB2PATH)/function/Stp_SJProfileKeys.class
$(COPY) Stp_SJProfile0.ser $(DB2PATH)/function/Stp_SJProfile0.ser
#--------------------UDFcli + UDFclie / UDFsrv------------------------------#
# Before you can make UDFclie, you must run UDFcli once
# 'make all' includes RunUDFcli, which runs UDFcli before making UDFclie
UDFcli :
javac UDFcli.java
RunUDFcli : UDFcli
java UDFcli $(UID) $(PWD)
UDFclie.class :
sqlj UDFclie.sqlj
UDFclie : UDFclie.class
embprep UDFclie $(DB) $(UID) $(PWD)
UDFsrv :
javac UDFsrv.java
$(ERASE) $(DB2PATH)/function/UDFsrv.class
$(ERASE) $(DB2PATH)/function/Person.class
$(COPY) UDFsrv.class $(DB2PATH)/function
$(COPY) Person.class $(DB2PATH)/function
#****************************************************************************
# 3e - applets (mixed)
#****************************************************************************
DB2Applt :
javac DB2Applt.java
Applt.class :
sqlj Applt.sqlj
Applt : Applt.class
embprep Applt $(DB) $(UID) $(PWD)