#==============================================================================
# Makefile
#
# OS/2 Makefile for use with IBM C/C++ Set/2 to build the CLI for mSQL
#
# (c) 1996 by Dirk Ohme - all rights reserved
#==============================================================================
# Site specific configuration (OS/2)
#==============================================================================
## [BEGIN]
#
# option switches
# (do not remove the lines starting with "##" !!!)
#
# BCPP: select this if your compiler don't know the '_System' and '_Optink'
#       directive
##-BCPP=Y
#
# debug mode: select this to enable debugging of the software
##-DEBUG_MODE=Y
#
# list mode: select this (and DEBUG_MODE) to create a list file of each *.c
##-LIST_MODE=Y
#
# static: link staticly against mSQL
##-STATIC=Y
STATIC=Y
#
## [END]
#==============================================================================

#---| definitions |------------------------------------------------------------
NAME     = cli
DLLNAME  = lib$(NAME).dll
OBJECTS  = catalog.obj cli.obj connect.obj execute.obj info.obj log.obj\
 options.obj prepare.obj results.obj transact.obj

#---| compiler |---------------------------------------------------------------
CC       = icc
!ifndef BCPP
CFLAGS   = /c /DOS2 /DmSQL /G4 /Gd- /Ge- /Gf /Gi /Gm /Gs- /I. /I..\..\include\
/Q /Se /Ss+
!else
CFLAGS   = /c /DOS2 /BCPP /DmSQL /G4 /Gd- /Ge- /Gf /Gi /Gm /Gs- /I.\
/I..\..\include /Q /Se /Ss+
!endif

#---| linker |-----------------------------------------------------------------
LN       = link386
LFLAGS   = /noi /nol /pm:VIO /se:1024 /st:32768
!ifdef STATIC
LIBS     = so32dll.lib tcp32dll.lib ..\..\lib\msql.lib
!else
LIBS     = ..\..\lib\msql_dll.lib
!endif

#---| debugging |--------------------------------------------------------------
!ifdef DEBUG_MODE
!  ifdef LIST_MODE
DEBUG    = /DDEBUG /Le /Ls /Ti+
LDEBUG   = /deb
!  else
DEBUG    = /DDEBUG /Ti+
LDEBUG   = /deb
!  endif
!else
DEBUG    =
LDEBUG   =
!endif

#---| library tool |-----------------------------------------------------------
AR       = lib
ARFLAGS  = /noe /noi /nol
IMPLIB   = implib
IFLAGS   = /nol

#---| online help compiler |---------------------------------------------------
IPF      = ipfc /inf
INF      = view

#---| global dependencies |----------------------------------------------------
all:     $(NAME).lib $(NAME)_dll.lib $(DLLNAME) $(NAME).inf $(NAME).htm\
 install
clean:
         @if exist *.lst       del *.lst
         @if exist *.obj       del *.obj
         @if exist *.res       del *.res
delete:  clean
         @if exist *.dll       del *.dll
         @if exist *.htm       del *.htm
         @if exist *.inf       del *.inf
         @if exist *.lib       del *.lib
delete_all: delete
install:
         if exist ..\..\doc\$(NAME).htm     del ..\..\doc\$(NAME).htm
         if exist ..\..\doc\$(NAME).inf     del ..\..\doc\$(NAME).inf
         if exist ..\..\doc\cli_logo.bmp    del ..\..\doc\cli_logo.bmp
         if exist ..\..\doc\cli_ov1.bmp     del ..\..\doc\cli_ov1.bmp
         if exist ..\..\doc\cli_ov2.bmp     del ..\..\doc\cli_ov2.bmp
         if exist ..\..\lib\$(NAME).lib     del ..\..\lib\$(NAME).lib
         if exist ..\..\lib\$(DLLNAME)      del ..\..\lib\$(DLLNAME)
         if exist ..\..\lib\$(NAME)_dll.lib del ..\..\lib\$(NAME)_dll.lib
         if exist ..\..\include\sqlcli_.h   del ..\..\include\sqlcli_.h
         copy /b $(NAME).htm     ..\..\doc
         copy /b $(NAME).inf     ..\..\doc
         copy /b cli_logo.bmp    ..\..\doc
         copy /b cli_ov1.bmp     ..\..\doc
         copy /b cli_ov2.bmp     ..\..\doc
         copy /b $(NAME).lib     ..\..\lib
         copy /b $(DLLNAME)      ..\..\lib
         copy /b $(NAME)_dll.lib ..\..\lib
         copy /b sqlcli_.h       ..\..\include
view:    $(NAME).inf
         @$(INF) $(NAME).inf

#--------| inference rules |---------------------------------------------------
.SUFFIXES: .def .htm .inf .ipf .lib
.c.obj:
         $(CC) $(DEBUG) $(CFLAGS) $*.c
.def.lib:
         $(IMPLIB) $(IFLAGS) $*.lib $*.def
.ipf.htm:
         @cd ..\os2_www
         @convert ..\os2_cli\$(NAME)
         @cd ..\os2_cli
.ipf.inf:
         @$(IPF) $*.ipf

#---| local dependencies |-----------------------------------------------------
$(NAME).lib:       $(OBJECTS)
         @if exist $*.lib del $*.lib
         $(AR) $(ARFLAGS) $*.lib $(OBJECTS);
$(DLLNAME):        $(OBJECTS)
         @if exist $@ del $@
         $(LN) $(LDEBUG) $(LFLAGS) $**, $@, nul, $(LIBS), $(NAME)_dll.def;
$(NAME)_dll.lib:   $(NAME)_dll.def
$(NAME).htm:       $(NAME).ipf
$(NAME).inf:       $(NAME).ipf

#==============================================================================
