# (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 # C 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 # The following compile and link options are for the SPARCompiler C compiler. CC=cc # For 64 bit executables use: # EXTRA_CFLAGS=-xarch=v9 CFLAGS=$(EXTRA_CFLAGS) -I$(DB2PATH)/include LIBS=-L$(DB2PATH)/lib -R$(DB2PATH)/lib -ldb2 # For multi-threaded applications: MTFLAGS=-I$(DB2PATH)/include -mt -D_POSIX_PTHREAD_SEMANTICS $(EXTRA_CFLAGS) MTLIBS=-L$(DB2PATH)/lib -R$(DB2PATH)/lib -ldb2 -lpthread # 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 : \ udfspserver \ allremoteclient \ localclient #**************************************************************************** # 2b - make udfspserver #**************************************************************************** udfspserver : \ spserver \ udf udfsrv #**************************************************************************** # 2c - make localclient #**************************************************************************** localclient : \ dbstart dbstop #**************************************************************************** # 2d - make udfspclient #**************************************************************************** udfspclient : \ calludf \ spclient udfcli #**************************************************************************** # 2e - make otherremoteclient #**************************************************************************** otherremoteclient : \ adhoc advsql asynrlog autocfg \ backrest blobfile \ cli_info client columns cursor \ d_dbconf d_dbmcon db_udcs db2mon dbauth dbcat \ dbcmt dbconf dbinst dbmconf dbsnap \ dbstat dcscat delet dmscont dynamic \ ebcdicdb expsamp \ impexp \ joinsql \ loadqry lobeval lobfile lobloc lobval \ makeapi migrate monreset monsz \ nodecat \ openftch \ rebind rechist recursql restart \ sampudf setact setrundg static sws \ tabscont tabspace tabsql tbdefine thdsrver \ tload trigsql tspace \ updat udfcli \ varinp #**************************************************************************** # 2f - make allremoteclient #**************************************************************************** allremoteclient : \ udfspclient \ otherremoteclient #**************************************************************************** # 2g - make clean #**************************************************************************** clean : \ cleangen \ cleanemb cleangen : $(ERASE) *.o *.map message.* $(ERASE) *.DEL *.TXT *.IXF $(ERASE) photo.xwd $(ERASE) /u/backup/* cleanemb : $(ERASE) adhoc.c advsql.c asynrlog.c autocfg.c $(ERASE) blobfile.c $(ERASE) calludf.c columns.c cursor.c $(ERASE) dbauth.c dbstat.c delet.c dynamic.c $(ERASE) expsamp.c $(ERASE) impexp.c $(ERASE) joinsql.c $(ERASE) loadqry.c lobeval.c lobfile.c lobloc.c lobval.c $(ERASE) makeapi.c $(ERASE) openftch.c $(ERASE) rebind.c rechist.c recursql.c $(ERASE) sampudf.c spclient.c spserver.c static.c $(ERASE) tabscont.c tabspace.c tabsql.c tbdefine.c $(ERASE) thdsrver.c tload.c trigsql.c tspace.c $(ERASE) updat.c utilemb.c udfcli.c $(ERASE) varinp.c #**************************************************************************** # 2h - make cleanall #**************************************************************************** cleanall : \ clean $(ERASE) *.bnd $(ERASE) adhoc advsql asynrlog autocfg $(ERASE) backrest blobfile $(ERASE) calludf cli_info client columns cursor $(ERASE) d_dbconf d_dbmcon db_udcs db2mon dbauth dbcat $(ERASE) dbcmt dbconf dbinst dbmconf dbsnap $(ERASE) dbstart dbstat dbstop dcscat delet dmscont dynamic $(ERASE) ebcdicdb expsamp $(ERASE) impexp $(ERASE) joinsql $(ERASE) loadqry lobeval lobfile lobloc lobval $(ERASE) makeapi migrate monreset monsz $(ERASE) nodecat $(ERASE) openftch $(ERASE) rebind rechist recursql restart $(ERASE) sampudf setact setrundg spclient spserver static sws $(ERASE) tabscont tabspace tabsql tbdefine tblcli tblsrv $(ERASE) thdsrver tload trigsql tspace $(ERASE) updat udf udfcli udfsrv $(ERASE) varinp $(ERASE) $(DB2PATH)/function/udf $(ERASE) $(DB2PATH)/function/udfsrv $(ERASE) $(DB2PATH)/function/spserver ############################################################################# # 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 (mixed) # 3e - multi-threaded samples ############################################################################# #**************************************************************************** # 3a - utilities #**************************************************************************** utilapi.o : utilapi.c $(CC) -c utilapi.c $(CFLAGS) utilemb.c : utilemb.sqc ./embprep utilemb $(DB) $(UID) $(PWD) utilemb.o : utilemb.c $(CC) -c utilemb.c $(CFLAGS) #**************************************************************************** # 3b - non embedded SQL, non client/server samples #**************************************************************************** backrest : utilapi.o backrest.c $(CC) -o backrest backrest.c utilapi.o $(CFLAGS) $(LIBS) cli_info : utilapi.o cli_info.c $(CC) -o cli_info cli_info.c utilapi.o $(CFLAGS) $(LIBS) client : utilapi.o client.c $(CC) -o client client.c utilapi.o $(CFLAGS) $(LIBS) d_dbconf : utilapi.o d_dbconf.c $(CC) -o d_dbconf d_dbconf.c utilapi.o $(CFLAGS) $(LIBS) d_dbmcon : utilapi.o d_dbmcon.c $(CC) -o d_dbmcon d_dbmcon.c utilapi.o $(CFLAGS) $(LIBS) db_udcs : utilapi.o db_udcs.c $(CC) -o db_udcs db_udcs.c utilapi.o $(CFLAGS) $(LIBS) db2mon : utilapi.o db2mon.c $(CC) -o db2mon db2mon.c utilapi.o $(CFLAGS) $(LIBS) dbcat : utilapi.o dbcat.c $(CC) -o dbcat dbcat.c utilapi.o $(CFLAGS) $(LIBS) dbcmt : utilapi.o dbcmt.c $(CC) -o dbcmt dbcmt.c utilapi.o $(CFLAGS) $(LIBS) dbconf : utilapi.o dbconf.c $(CC) -o dbconf dbconf.c utilapi.o $(CFLAGS) $(LIBS) dbinst : utilapi.o dbinst.c $(CC) -o dbinst dbinst.c utilapi.o $(CFLAGS) $(LIBS) dbmconf : utilapi.o dbmconf.c $(CC) -o dbmconf dbmconf.c utilapi.o $(CFLAGS) $(LIBS) dbsnap : utilapi.o dbsnap.c $(CC) -o dbsnap dbsnap.c utilapi.o $(CFLAGS) $(LIBS) dbstart : utilapi.o dbstart.c $(CC) -o dbstart dbstart.c utilapi.o $(CFLAGS) $(LIBS) dbstop : utilapi.o dbstop.c $(CC) -o dbstop dbstop.c utilapi.o $(CFLAGS) $(LIBS) dcscat : utilapi.o dcscat.c $(CC) -o dcscat dcscat.c utilapi.o $(CFLAGS) $(LIBS) dmscont : utilapi.o dmscont.c $(CC) -o dmscont dmscont.c utilapi.o $(CFLAGS) $(LIBS) ebcdicdb : utilapi.o ebcdicdb.c $(CC) -o ebcdicdb ebcdicdb.c utilapi.o $(CFLAGS) $(LIBS) migrate : utilapi.o migrate.c $(CC) -o migrate migrate.c utilapi.o $(CFLAGS) $(LIBS) monreset : utilapi.o monreset.c $(CC) -o monreset monreset.c utilapi.o $(CFLAGS) $(LIBS) monsz : utilapi.o monsz.c $(CC) -o monsz monsz.c utilapi.o $(CFLAGS) $(LIBS) nodecat : utilapi.o nodecat.c $(CC) -o nodecat nodecat.c utilapi.o $(CFLAGS) $(LIBS) restart : utilapi.o restart.c $(CC) -o restart restart.c utilapi.o $(CFLAGS) $(LIBS) setact : utilapi.o setact.c $(CC) -o setact setact.c utilapi.o $(CFLAGS) $(LIBS) setrundg : utilapi.o setrundg.c $(CC) -o setrundg setrundg.c utilapi.o $(CFLAGS) $(LIBS) sws : utilapi.o sws.c $(CC) -o sws sws.c utilapi.o $(CFLAGS) $(LIBS) #**************************************************************************** # 3c - embedded SQL non client/server samples #**************************************************************************** adhoc.c : adhoc.sqc ./embprep adhoc $(DB) $(UID) $(PWD) adhoc : adhoc.c utilemb.o $(CC) -o adhoc adhoc.c utilemb.o $(CFLAGS) $(LIBS) advsql.c : advsql.sqc ./embprep advsql $(DB) $(UID) $(PWD) advsql : advsql.c utilemb.o $(CC) -o advsql advsql.c utilemb.o $(CFLAGS) $(LIBS) asynrlog.c : asynrlog.sqc ./embprep asynrlog $(DB) $(UID) $(PWD) asynrlog : asynrlog.c utilemb.o $(CC) -o asynrlog asynrlog.c utilemb.o $(CFLAGS) $(LIBS) autocfg.c : autocfg.sqc ./embprep autocfg $(DB) $(UID) $(PWD) autocfg : autocfg.c utilemb.o $(CC) -o autocfg autocfg.c utilemb.o $(CFLAGS) $(LIBS) blobfile.c : blobfile.sqc ./embprep blobfile $(DB) $(UID) $(PWD) blobfile : blobfile.c utilemb.o $(CC) -o blobfile blobfile.c utilemb.o $(CFLAGS) $(LIBS) columns.c : columns.sqc ./embprep columns $(DB) $(UID) $(PWD) columns : columns.c utilemb.o $(CC) -o columns columns.c utilemb.o $(CFLAGS) $(LIBS) cursor.c : cursor.sqc ./embprep cursor $(DB) $(UID) $(PWD) cursor : cursor.c utilemb.o $(CC) -o cursor cursor.c utilemb.o $(CFLAGS) $(LIBS) dbauth.c : dbauth.sqc ./embprep dbauth $(DB) $(UID) $(PWD) dbauth : dbauth.c utilemb.o $(CC) -o dbauth dbauth.c utilemb.o $(CFLAGS) $(LIBS) dbstat.c : dbstat.sqc ./embprep dbstat $(DB) $(UID) $(PWD) dbstat : dbstat.c utilemb.o $(CC) -o dbstat dbstat.c utilemb.o $(CFLAGS) $(LIBS) delet.c : delet.sqc ./embprep delet $(DB) $(UID) $(PWD) delet : delet.c utilemb.o $(CC) -o delet delet.c utilemb.o $(CFLAGS) $(LIBS) dynamic.c : dynamic.sqc ./embprep dynamic $(DB) $(UID) $(PWD) dynamic : dynamic.c utilemb.o $(CC) -o dynamic dynamic.c utilemb.o $(CFLAGS) $(LIBS) expsamp.c : expsamp.sqc ./embprep expsamp $(DB) $(UID) $(PWD) expsamp : expsamp.c utilemb.o $(CC) -o expsamp expsamp.c utilemb.o $(CFLAGS) $(LIBS) impexp.c : impexp.sqc ./embprep impexp $(DB) $(UID) $(PWD) impexp : impexp.c utilemb.o $(CC) -o impexp impexp.c utilemb.o $(CFLAGS) $(LIBS) joinsql.c : joinsql.sqc ./embprep joinsql $(DB) $(UID) $(PWD) joinsql : joinsql.c utilemb.o $(CC) -o joinsql joinsql.c utilemb.o $(CFLAGS) $(LIBS) loadqry.c : loadqry.sqc ./embprep loadqry $(DB) $(UID) $(PWD) loadqry : loadqry.c utilemb.o $(CC) -o loadqry loadqry.c utilemb.o $(CFLAGS) $(LIBS) lobeval.c : lobeval.sqc ./embprep lobeval $(DB) $(UID) $(PWD) lobeval : lobeval.c utilemb.o $(CC) -o lobeval lobeval.c utilemb.o $(CFLAGS) $(LIBS) lobfile.c : lobfile.sqc ./embprep lobfile $(DB) $(UID) $(PWD) lobfile : lobfile.c utilemb.o $(CC) -o lobfile lobfile.c utilemb.o $(CFLAGS) $(LIBS) lobloc.c : lobloc.sqc ./embprep lobloc $(DB) $(UID) $(PWD) lobloc : lobloc.c utilemb.o $(CC) -o lobloc lobloc.c utilemb.o $(CFLAGS) $(LIBS) lobval.c : lobval.sqc ./embprep lobval $(DB) $(UID) $(PWD) lobval : lobval.c utilemb.o $(CC) -o lobval lobval.c utilemb.o $(CFLAGS) $(LIBS) makeapi.c : makeapi.sqc ./embprep makeapi $(DB) $(UID) $(PWD) makeapi : makeapi.c utilemb.o $(CC) -o makeapi makeapi.c utilemb.o $(CFLAGS) $(LIBS) openftch.c : openftch.sqc ./embprep openftch $(DB) $(UID) $(PWD) openftch : openftch.c utilemb.o $(CC) -o openftch openftch.c utilemb.o $(CFLAGS) $(LIBS) rebind.c : rebind.sqc ./embprep rebind $(DB) $(UID) $(PWD) rebind: rebind.c utilemb.o $(CC) -o rebind rebind.c utilemb.o $(CFLAGS) $(LIBS) rechist.c : rechist.sqc ./embprep rechist $(DB) $(UID) $(PWD) rechist: rechist.c utilemb.o $(CC) -o rechist rechist.c utilemb.o $(CFLAGS) $(LIBS) recursql.c : recursql.sqc ./embprep recursql $(DB) $(UID) $(PWD) recursql : recursql.c utilemb.o $(CC) -o recursql recursql.c utilemb.o $(CFLAGS) $(LIBS) sampudf.c : sampudf.sqc ./embprep sampudf $(DB) $(UID) $(PWD) sampudf : sampudf.c utilemb.o $(CC) -o sampudf sampudf.c utilemb.o $(CFLAGS) $(LIBS) static.c : static.sqc ./embprep static $(DB) $(UID) $(PWD) static : static.c utilemb.o $(CC) -o static static.c utilemb.o $(CFLAGS) $(LIBS) tabscont.c : tabscont.sqc ./embprep tabscont $(DB) $(UID) $(PWD) tabscont : tabscont.c utilemb.o $(CC) -o tabscont tabscont.c utilemb.o $(CFLAGS) $(LIBS) tabspace.c : tabspace.sqc ./embprep tabspace $(DB) $(UID) $(PWD) tabspace : tabspace.c utilemb.o $(CC) -o tabspace tabspace.c utilemb.o $(CFLAGS) $(LIBS) tabsql.c : tabsql.sqc ./embprep tabsql $(DB) $(UID) $(PWD) tabsql : tabsql.c utilemb.o $(CC) -o tabsql tabsql.c utilemb.o $(CFLAGS) $(LIBS) tbdefine.c : tbdefine.sqc ./embprep tbdefine $(DB) $(UID) $(PWD) tbdefine : tbdefine.c utilemb.o $(CC) -o tbdefine tbdefine.c utilemb.o $(CFLAGS) $(LIBS) tload.c : tload.sqc ./embprep tload $(DB) $(UID) $(PWD) tload : tload.c utilemb.o $(CC) -o tload tload.c utilemb.o $(CFLAGS) $(LIBS) trigsql.c : trigsql.sqc ./embprep trigsql $(DB) $(UID) $(PWD) trigsql : trigsql.c utilemb.o $(CC) -o trigsql trigsql.c utilemb.o $(CFLAGS) $(LIBS) tspace.c : tspace.sqc ./embprep tspace $(DB) $(UID) $(PWD) tspace : tspace.c utilemb.o $(CC) -o tspace tspace.c utilemb.o $(CFLAGS) $(LIBS) updat.c : updat.sqc ./embprep updat $(DB) $(UID) $(PWD) updat : updat.c utilemb.o $(CC) -o updat updat.c utilemb.o $(CFLAGS) $(LIBS) varinp.c : varinp.sqc ./embprep varinp $(DB) $(UID) $(PWD) varinp : varinp.c utilemb.o $(CC) -o varinp varinp.c utilemb.o $(CFLAGS) $(LIBS) #**************************************************************************** # 3d - client/server samples (mixed) #**************************************************************************** #--------------------calludf/udf--------------------------------------------# calludf.c : calludf.sqc ./embprep calludf $(DB) $(UID) $(PWD) calludf : calludf.c utilemb.o $(CC) -o calludf calludf.c utilemb.o $(CFLAGS) $(LIBS) udf : udf.c $(CC) -o udf udf.c -Kpic $(CFLAGS) $(LIBS) -ldb2apie -G $(ERASE) $(DB2PATH)/function/udf $(COPY) udf $(DB2PATH)/function/udf #--------------------spclient/spserver--------------------------------------# spclient.c : spclient.sqc ./embprep spclient $(DB) $(UID) $(PWD) spclient : spclient.c utilemb.o $(CC) -o spclient spclient.c utilemb.o $(CFLAGS) $(LIBS) spserver.c : spserver.sqc ./embprep spserver $(DB) $(UID) $(PWD) spserver : spserver.c $(CC) -Kpic $(CFLAGS) -o spserver spserver.c -G $(LIBS) $(ERASE) $(DB2PATH)/function/spserver $(COPY) spserver $(DB2PATH)/function/spserver #-------------------- udfcli/udfsrv----------------------------------------# udfcli.c : udfcli.sqc ./embprep udfcli $(DB) $(UID) $(PWD) udfcli : udfcli.c utilemb.o $(CC) -o udfcli udfcli.c utilemb.o $(CFLAGS) $(LIBS) udfsrv : udfsrv.c $(CC) -o udfsrv udfsrv.c $(CFLAGS) $(LIBS) -Kpic -G $(ERASE) $(DB2PATH)/function/udfsrv $(COPY) udfsrv $(DB2PATH)/function/udfsrv #**************************************************************************** # 3e - multi-threaded samples #**************************************************************************** thdsrver.c : thdsrver.sqc ./embprep thdsrver $(DB) $(UID) $(PWD) thdsrver : thdsrver.c $(CC) -o thdsrver thdsrver.c $(MTFLAGS) $(MTLIBS)