# (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 -- Windows 32-bit 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 -l # The required libraries LIBS= db2api.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 /case; 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 /case; outsrv : outsrv.obj $(LINK) /d outsrv.obj $(LIBS) $(COPY) outsrv.dll "$(DB2PATH)\function"