# (C) COPYRIGHT International Business Machines Corp. 1998, 2000 # All Rights Reserved. # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # DB2 Universal Database # makefile for Java sample programs # on UNIX 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 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(= oth_clijdbc + oth_clisqlj) # 2k - make oth_clijdbc # 2l - make oth_clisqlj # # 2m - make allcli(= allclijdbc + allclisqlj) # 2n - make allclijdbc(= srvclijdbc + oth_clijdbc) # 2o - make allclisqlj(= srvclisqlj + oth_clisqlj) # # 2p - make clean # 2q - 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 : \ V5Stp DB2Udf \ MRSPsrv \ Spserver \ UDFsrv #**************************************************************************** # 2f - make srvsqlj #**************************************************************************** srvsqlj : \ Outsrv \ Stserver #**************************************************************************** # 2g - make srvcli(= srvclijdbc + srvclisqlj) #**************************************************************************** srvcli : \ srvclijdbc \ srvclisqlj #**************************************************************************** # 2h - make srvclijdbc #**************************************************************************** srvclijdbc : \ V5SpCli DB2UdCli \ MRSPcli \ Outcli \ Spclient \ UDFcli #**************************************************************************** # 2i - make srvclisqlj #**************************************************************************** srvclisqlj : \ RunUDFcli \ Stclient \ UDFclie #**************************************************************************** # 2j - make othercli(= oth_clijdbc + oth_clisqlj) #**************************************************************************** othercli : \ oth_clijdbc \ oth_clisqlj #**************************************************************************** # 2k - make oth_clijdbc #**************************************************************************** oth_clijdbc : \ DB2Appl DB2Applt Dynamic \ UseThrds \ Varinp #**************************************************************************** # 2l - make oth_clisqlj #**************************************************************************** oth_clisqlj : \ App Applt \ Cursor \ Openftch \ Static \ Updat #**************************************************************************** # 2m - make allcli(= allclijdbc + allclisqlj) #**************************************************************************** allcli : \ allclijdbc \ allclisqlj #**************************************************************************** # 2n - make allclijdbc(= srvclijdbc + oth_clijdbc) #**************************************************************************** allclijdbc : \ srvclijdbc \ oth_clijdbc #**************************************************************************** # 2o - make allclisqlj(= srvclisqlj + oth_clisqlj) #**************************************************************************** allclisqlj : \ srvclisqlj \ oth_clisqlj #**************************************************************************** # 2p - make clean #**************************************************************************** clean : $(ERASE) App.java Applt.java $(ERASE) Cursor.java $(ERASE) Openftch.java OpF_Curs.java Outsrv.java $(ERASE) Static.java Stclient.java Stserver.java StserverIterator.java $(ERASE) Udf.java UDFclie.java Updat.java #**************************************************************************** # 2q - make cleanall #**************************************************************************** cleanall : \ clean $(ERASE) *.class *.ser $(ERASE) $(DB2PATH)/function/DB2Udf.class $(ERASE) $(DB2PATH)/function/MRSPsrv.class $(ERASE) $(DB2PATH)/function/Outsrv.class $(ERASE) $(DB2PATH)/function/Outsrv_Cursor1.class $(ERASE) $(DB2PATH)/function/Outsrv_SJProfileKeys.class $(ERASE) $(DB2PATH)/function/Outsrv_SJProfile0.ser $(ERASE) $(DB2PATH)/function/Person.class $(ERASE) $(DB2PATH)/function/Spserver.class $(ERASE) $(DB2PATH)/function/Stserver.class $(ERASE) $(DB2PATH)/function/StserverEmployees.class $(ERASE) $(DB2PATH)/function/StserverIterator.class $(ERASE) $(DB2PATH)/function/StserverSalary.class $(ERASE) $(DB2PATH)/function/Stserver_SJProfile0.ser $(ERASE) $(DB2PATH)/function/Stserver_SJProfileKeys.class $(ERASE) $(DB2PATH)/function/UDFsrv.class $(ERASE) $(DB2PATH)/function/V5Stp.class ############################################################################# # 3 -- COMMANDS TO MAKE INDIVIDUAL SAMPLES # 3a - JDBC, non client/server samples # 3c - SQLJ, non client/server samples # 3d - client/server samples (mixed) # 3e - applets (mixed) ############################################################################# #**************************************************************************** # 3a - JDBC, non client/server samples #**************************************************************************** DB2Appl : DB2Appl.java javac DB2Appl.java Dynamic : Dynamic.java javac Dynamic.java UseThrds : UseThrds.java javac UseThrds.java Varinp : Varinp.java javac Varinp.java #**************************************************************************** # 3c - SQLJ, non client/server samples #**************************************************************************** App.class : App.sqlj sqlj App.sqlj App : App.class ./embprep App $(DB) $(UID) $(PWD) Cursor.class : Cursor.sqlj sqlj Cursor.sqlj Cursor : Cursor.class ./embprep Cursor $(DB) $(UID) $(PWD) OpF_Curs.class : OpF_Curs.sqlj sqlj OpF_Curs.sqlj Openftch.class : Openftch.sqlj sqlj Openftch.sqlj Openftch : OpF_Curs.class Openftch.class ./embprep Openftch $(DB) $(UID) $(PWD) Static.class : Static.sqlj sqlj Static.sqlj Static : Static.class ./embprep Static $(DB) $(UID) $(PWD) Updat.class : Updat.sqlj sqlj Updat.sqlj Updat : Updat.class ./embprep Updat $(DB) $(UID) $(PWD) #**************************************************************************** # 3d - client/server samples (mixed) #**************************************************************************** #--------------------DB2UdCli / DB2Udf--------------------------------------# DB2UdCli : DB2UdCli.java javac DB2UdCli.java DB2Udf : DB2Udf.java javac DB2Udf.java $(ERASE) $(DB2PATH)/function/DB2Udf.class $(COPY) DB2Udf.class $(DB2PATH)/function #--------------------MRSPcli / MRSPsrv--------------------------------------# MRSPcli : MRSPcli.java javac MRSPcli.java MRSPsrv : MRSPsrv.java javac MRSPsrv.java $(ERASE) $(DB2PATH)/function/MRSPsrv.class $(COPY) MRSPsrv.class $(DB2PATH)/function #--------------------Outcli / Outsrv----------------------------------------# Outcli : Outcli.java javac Outcli.java Outsrv.class : Outsrv.sqlj 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 #--------------------Spclient / Spserver------------------------------------# # Note: before you execute Spclient for the first time, you must call the # Spcreate.db2 CLP script to catalog the methods in Spserver as stored # procedures Spclient : Spclient.java javac Spclient.java Spserver : Spserver.java javac Spserver.java $(ERASE) $(DB2PATH)/function/Spserver.class $(COPY) Spserver.class $(DB2PATH)/function #--------------------Stclient / Stserver------------------------------------# # Note: before you execute Stclient for the first time, you must call the # Stcreate.db2 CLP script to catalog the methods in Spserver as stored # procedures Stclient.class : Stclient.sqlj sqlj Stclient.sqlj Stclient : Stclient.class ./embprep Stclient $(DB) $(UID) $(PWD) StserverIterator.class : StserverIterator.sqlj sqlj StserverIterator.sqlj Stserver.class : Stserver.sqlj StserverIterator.class sqlj Stserver.sqlj Stserver : StserverIterator.class Stserver.class ./embprep Stserver $(DB) $(UID) $(PWD) $(ERASE) $(DB2PATH)/function/Stserver.class $(ERASE) $(DB2PATH)/function/StserverEmployees.class $(ERASE) $(DB2PATH)/function/StserverIterator.class $(ERASE) $(DB2PATH)/function/StserverSalary.class $(ERASE) $(DB2PATH)/function/Stserver_SJProfileKeys.class $(ERASE) $(DB2PATH)/function/Stserver_SJProfile0.ser $(COPY) Stserver.class $(DB2PATH)/function $(COPY) StserverEmployees.class $(DB2PATH)/function $(COPY) StserverIterator.class $(DB2PATH)/function $(COPY) StserverSalary.class $(DB2PATH)/function $(COPY) Stserver_SJProfileKeys.class $(DB2PATH)/function $(COPY) Stserver_SJProfile0.ser $(DB2PATH)/function #--------------------UDFcli + UDFclie / UDFsrv------------------------------# # Before you can make UDFclie, you must run UDFcli once # 'make all' includes RunUDFcli, which runs UDFcli before making UDFclie UDFcli : UDFcli.java javac UDFcli.java RunUDFcli : UDFcli java UDFcli $(UID) $(PWD) UDFclie.class : UDFclie.sqlj sqlj UDFclie.sqlj UDFclie : UDFclie.class ./embprep UDFclie $(DB) $(UID) $(PWD) UDFsrv : UDFsrv.java javac UDFsrv.java $(ERASE) $(DB2PATH)/function/UDFsrv.class $(ERASE) $(DB2PATH)/function/Person.class $(COPY) UDFsrv.class $(DB2PATH)/function $(COPY) Person.class $(DB2PATH)/function #--------------------V5SpCli / V5Stp--------------------------------------# V5SpCli : V5SpCli.java javac V5SpCli.java V5Stp : V5Stp.java javac V5Stp.java $(ERASE) $(DB2PATH)/function/V5Stp.class $(COPY) V5Stp.class $(DB2PATH)/function #**************************************************************************** # 3e - applets (mixed) #**************************************************************************** DB2Applt : DB2Applt.java javac DB2Applt.java Applt.class : Applt.sqlj sqlj Applt.sqlj Applt : Applt.class ./embprep Applt $(DB) $(UID) $(PWD)