# (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