# (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 # CLI sample programs -- OS/2 operating system # 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 udfspclient - Builds the examples that call stored # procedures and UDFs ( they can run remotely ) # nmake otherclient - Builds the examples that will run successfully # on a client platform ( others than udfspclient ) # nmake allclient - Builds programs in udfspclient and otherclient # 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 definitions for IBM VisualAge C++ compiler. CC=icc CFLAGS=-C+ -O- -Ti+ CFLAGSSRV=-C+ -Ti+ -Ge- -Gm+ -W2 LINK=ilink LFLAGS=/NOFREE /NOI /DEBUG /ST:64000 /PM:VIO LIBS=$(DB2PATH)\lib\db2cli.lib LIBSAPI=$(DB2PATH)\lib\db2api.lib $(DB2PATH)\lib\db2apie.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(= allclient + udfspserver) # 2b - nmake udfspserver # 2c - nmake udfspclient # 2d - nmake otherclient # 2e - nmake allclient(= udfspclient + otherclient) # # 2f - nmake clean # 2g - nmake cleanall ############################################################################# #**************************************************************************** # 2a - nmake all #**************************************************************************** all : \ allclient \ udfspserver #**************************************************************************** # 2b - nmake udfspserver #**************************************************************************** udfspserver : \ spserver \ udfsrv #**************************************************************************** # 2c - nmake udfspclient #**************************************************************************** udfspclient : \ spclient \ udfcli #**************************************************************************** # 2d - nmake otherclient #**************************************************************************** otherclient : \ aphndls apinfo apsqlca \ dbconn dbinfo dbmconn dbmuse dbnative dbuse dbusemx \ dtinfo dtlob dtudt \ ilinfo \ ininfo \ tbconstr tbdefine tbinfo tbmod tbread #**************************************************************************** # 2e - nmake allclient(= udfspclient + otherclient) #**************************************************************************** allclient : \ udfspclient \ otherclient #**************************************************************************** # 2f - nmake clean #**************************************************************************** clean : \ cleangen \ cleanemb cleangen : - $(ERASE) *.obj *.map *.dll *.lib *.txt *.bmp *.gif *.xwd cleanemb : - $(ERASE) dbusemx.c #**************************************************************************** # 2g - nmake cleanall #**************************************************************************** cleanall : \ clean - $(ERASE) *.bnd *.exe - $(ERASE) $(DB2PATH)\function\udfsrv.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 #**************************************************************************** utilcli.obj : $(CC) utilcli.c $(CFLAGS) utilapi.obj : $(CC) utilapi.c $(CFLAGS) #**************************************************************************** # 3b - non embedded SQL, non client/server samples #**************************************************************************** aphndls.obj : aphndls.c $(CC) $(CFLAGS) aphndls.c aphndls : aphndls.obj utilcli.obj $(LINK) $(LFLAGS) aphndls.obj utilcli.obj, aphndls.exe,,$(LIBS); apinfo.obj : apinfo.c $(CC) $(CFLAGS) apinfo.c apinfo : apinfo.obj utilcli.obj $(LINK) $(LFLAGS) apinfo.obj utilcli.obj, apinfo.exe,,$(LIBS); apsqlca.obj : apsqlca.c $(CC) $(CFLAGS) apsqlca.c apsqlca : apsqlca.obj utilcli.obj $(LINK) $(LFLAGS) apsqlca.obj utilcli.obj, apsqlca.exe,,$(LIBS); dbconn.obj : dbconn.c $(CC) $(CFLAGS) dbconn.c dbconn : dbconn.obj utilcli.obj $(LINK) $(LFLAGS) dbconn.obj utilcli.obj, dbconn.exe,,$(LIBS); dbinfo.obj : dbinfo.c $(CC) $(CFLAGS) dbinfo.c dbinfo : dbinfo.obj utilcli.obj $(LINK) $(LFLAGS) dbinfo.obj utilcli.obj, dbinfo.exe,,$(LIBS); dbmconn.obj : dbmconn.c $(CC) $(CFLAGS) dbmconn.c dbmconn : dbmconn.obj utilcli.obj utilapi.obj $(LINK) $(LFLAGS) dbmconn.obj utilcli.obj utilapi.obj, dbmconn.exe,,\ $(LIBS) $(LIBSAPI); dbmuse.obj : dbmuse.c $(CC) $(CFLAGS) dbmuse.c dbmuse : dbmuse.obj utilcli.obj utilapi.obj $(LINK) $(LFLAGS) dbmuse.obj utilcli.obj utilapi.obj, dbmuse.exe,,\ $(LIBS) $(LIBSAPI); dbnative.obj : dbnative.c $(CC) $(CFLAGS) dbnative.c dbnative : dbnative.obj utilcli.obj $(LINK) $(LFLAGS) dbnative.obj utilcli.obj, dbnative.exe,,$(LIBS); dbuse.obj : dbuse.c $(CC) $(CFLAGS) dbuse.c dbuse : dbuse.obj utilcli.obj $(LINK) $(LFLAGS) dbuse.obj utilcli.obj, dbuse.exe,,$(LIBS); dtinfo.obj : dtinfo.c $(CC) $(CFLAGS) dtinfo.c dtinfo : dtinfo.obj utilcli.obj $(LINK) $(LFLAGS) dtinfo.obj utilcli.obj, dtinfo.exe,,$(LIBS); dtlob.obj : dtlob.c $(CC) $(CFLAGS) dtlob.c dtlob : dtlob.obj utilcli.obj $(LINK) $(LFLAGS) dtlob.obj utilcli.obj, dtlob.exe,,$(LIBS); dtudt.obj : dtudt.c $(CC) $(CFLAGS) dtudt.c dtudt : dtudt.obj utilcli.obj $(LINK) $(LFLAGS) dtudt.obj utilcli.obj, dtudt.exe,,$(LIBS); ilinfo.obj : ilinfo.c $(CC) $(CFLAGS) ilinfo.c ilinfo : ilinfo.obj utilcli.obj $(LINK) $(LFLAGS) ilinfo.obj utilcli.obj, ilinfo.exe,,$(LIBS); ininfo.obj : ininfo.c $(CC) $(CFLAGS) ininfo.c ininfo : ininfo.obj utilcli.obj $(LINK) $(LFLAGS) ininfo.obj utilcli.obj, ininfo.exe,,$(LIBS); spcall.obj : spcall.c $(CC) $(CFLAGS) spcall.c spcall : spcall.obj utilcli.obj $(LINK) $(LFLAGS) spcall.obj utilcli.obj, spcall.exe,,$(LIBS); tbconstr.obj : tbconstr.c $(CC) $(CFLAGS) tbconstr.c tbconstr : tbconstr.obj utilcli.obj $(LINK) $(LFLAGS) tbconstr.obj utilcli.obj, tbconstr.exe,,$(LIBS); tbdefine.obj : tbdefine.c $(CC) $(CFLAGS) tbdefine.c tbdefine : tbdefine.obj utilcli.obj $(LINK) $(LFLAGS) tbdefine.obj utilcli.obj, tbdefine.exe,,$(LIBS); tbinfo.obj : tbinfo.c $(CC) $(CFLAGS) tbinfo.c tbinfo : tbinfo.obj utilcli.obj $(LINK) $(LFLAGS) tbinfo.obj utilcli.obj, tbinfo.exe,,$(LIBS); tbread.obj : tbread.c $(CC) $(CFLAGS) tbread.c tbread : tbread.obj utilcli.obj $(LINK) $(LFLAGS) tbread.obj utilcli.obj, tbread.exe,,$(LIBS); tbmod.obj : tbmod.c $(CC) $(CFLAGS) tbmod.c tbmod : tbmod.obj utilcli.obj $(LINK) $(LFLAGS) tbmod.obj utilcli.obj, tbmod.exe,,$(LIBS); #**************************************************************************** # 3c - embedded SQL non client/server samples #**************************************************************************** dbusemx.c : dbusemx.sqc embprep dbusemx $(DB) $(UID) $(PWD) dbusemx.obj : dbusemx.c $(CC) $(CFLAGS) dbusemx.c dbusemx : dbusemx.obj utilcli.obj $(LINK) $(LFLAGS) dbusemx.obj utilcli.obj, dbusemx.exe,,$(LIBS) $(LIBSAPI); #**************************************************************************** # 3d - client/server samples (mixed) #**************************************************************************** #--------------------spclient/spserver-------------------------------------# spclient.obj : spclient.c $(CC) $(CFLAGS) spclient.c spclient : spclient.obj utilcli.obj $(LINK) $(LFLAGS) spclient.obj utilcli.obj, spclient.exe,,$(LIBS); spserver : - $(ERASE) utilcli.obj $(CC) $(CFLAGSSRV) utilcli.c $(CC) $(CFLAGSSRV) spserver.c $(LINK) $(LFLAGS) spserver.obj utilcli.obj,spserver.dll,, \ $(LIBS),spserver.def; - $(ERASE) utilcli.obj $(COPY) spserver.dll $(DB2PATH)\function #-------------------- udfcli / udfsrv --------------------------------------# udfcli.obj : udfcli.c $(CC) $(CFLAGS) udfcli.c udfcli : udfcli.obj utilcli.obj $(LINK) $(LFLAGS) udfcli.obj utilcli.obj, udfcli.exe,,$(LIBS); udfsrv : $(CC) $(CFLAGSSRV) udfsrv.c $(LINK) $(LFLAGS) udfsrv.obj ,udfsrv.dll,,$(LIBSAPI),udfsrv.def; $(COPY) udfsrv.dll $(DB2PATH)\function