# Makefile modified for use with IBM C/C++ Set/2

#
# include site information file
#
include ../site.OS2

#
# extended compiler flags
#
CC_FLAGS= $(CFLAGS) $(SIGLIST) $(DIRENT) $(MMAP) $(U_INT) $(ROOT_EXEC)\
 $(FAST_MALLOC) $(NEW_DB) $(NEW_DB_INC)

#
# operations
#
all: ..\..\lib\mSQL.lib ..\..\lib\mSQL.dll msql.exe msqladm.exe msqldump.exe\
 relshow.exe ins_test.exe sel_test.exe lextest.exe msqld.exe

clean:
        @if exist *.bak del *.bak
        @if exist *.obj del *.obj

delete: clean
        @if exist *.dll del *.dll
        @if exist *.exe del *.exe

delete_all: delete
        @if exist msql_yac.c del msql_yac.c
        @if exist msql_yac.h del msql_yac.h

#
# the objects
#
libmsql.obj: libmsql.c
        $(CC) $(DFLAGS) /DROOT="\"$(ROOT)\"" libmsql.c

net.obj: net.c
        $(CC) $(DFLAGS) net.c

alloca.obj: alloca.c
        $(CC) $(DFLAGS) alloca.c

msql_yac.h: msql_yac.c
msql_yac.c: msql_yac.y
        $(YACC) $(YFLAGS) msql_yac.c msql_yac.y

msql_pro.obj: msql_pro.c
        $(CC) $(CC_FLAGS) msql_pro.c

msqldb.obj: msqldb.c
        $(CC) $(CC_FLAGS) msqldb.c

msqld.obj: msqld.c
        $(CC) $(CC_FLAGS) /DINST_DIR="\"$(INST_DIR)\""\
 /DPID_DIR="\"$(PID_DIR)\"" msqld.c

acl.obj: acl.c
        $(CC) $(CC_FLAGS) /DROOT="\"$(ROOT)\"" acl.c

msql_lex.obj: msql_lex.c
        $(CC) $(CC_FLAGS) msql_lex.c

msql_yac.obj: msql_yac.c
        $(CC) $(CC_FLAGS) msql_yac.c

#
# We don't need an !object call for net.c as net.o is made from the
# !library call below
#

#
# the libraries
#
..\..\lib\mSQL.lib: libmsql.obj net.obj alloca.obj
        $(RANLIB) $@ -+libmsql.obj -+net.obj -+alloca.obj;
        @if exist $*.bak del $*.bak
        @if exist ..\..\include\msql.h del ..\..\include\msql.h
        copy /b msql.h ..\..\include\msql.h

..\..\lib\mSQL.dll: libmsql.obj net.obj alloca.obj
        @if exist $@ del $@
        $(LLINK) $**, $@, nul, $(TCPIP_LIBS), libmsql.def;
        copy /b $@ ..\..\bin
        @if exist $*_dll.lib del $*_dll.lib
        $(DLLLIB) $*_dll.lib $@

#
# the executables
#
msqladm.obj: msqladm.c
        $(CC) $(CC_FLAGS) /DROOT="\"$(ROOT)\"" /DINST_DIR="\"$(INST_DIR)\""\
 /DPID_DIR="\"$(PID_DIR)\"" msqladm.c
msqladm.exe: msqladm.obj
        $(LINK) $(LFLAGS) msqladm.exe msqladm.obj $(LDLIBS)
        @if exist ..\..\bin\msqladm.exe del ..\..\bin\msqladm.exe
        copy /b msqladm.exe ..\..\bin\msqladm.exe

msql.obj: msql.c
        $(CC) $(CC_FLAGS) msql.c
msql.exe: msql.obj
        $(LINK) $(LFLAGS) msql.exe msql.obj $(LDLIBS)
        @if exist ..\..\bin\msql.exe del ..\..\bin\msql.exe
        copy /b msql.exe ..\..\bin\msql.exe
        copy /b sample.msl ..\..\bin\test.msl
        copy /b sample.out ..\..\bin\test.out

msqldump.obj: msqldump.c
        $(CC) $(CC_FLAGS) msqldump.c
msqldump.exe: msqldump.obj
        $(LINK) $(LFLAGS) msqldump.exe msqldump.obj $(DLL_LIBS)
        @if exist ..\..\bin\msqldump.exe del ..\..\bin\msqldump.exe
        copy /b msqldump.exe ..\..\bin\msqldump.exe

relshow.obj: relshow.c
        $(CC) $(CC_FLAGS) relshow.c
relshow.exe: relshow.obj
        $(LINK) $(LFLAGS) relshow.exe relshow.obj $(DLL_LIBS)
        @if exist ..\..\bin\relshow.exe del ..\..\bin\relshow.exe
        copy /b relshow.exe ..\..\bin\relshow.exe

ins_test.obj: ins_test.c
        $(CC) $(CC_FLAGS) ins_test.c
ins_test.exe: ins_test.obj
        $(LINK) $(LFLAGS) ins_test.exe ins_test.obj $(DLL_LIBS)

sel_test.obj: sel_test.c
        $(CC) $(CC_FLAGS) sel_test.c
sel_test.exe: sel_test.obj
        $(LINK) $(LFLAGS) sel_test.exe sel_test.obj $(DLL_LIBS)

msqld.exe: msql_yac.obj msqld.obj msql_lex.obj msql_pro.obj msqldb.obj acl.obj
        $(LINK) $(LFLAGS) msqld.exe msqld.obj msql_yac.obj msql_lex.obj\
 msql_pro.obj msqldb.obj acl.obj $(LDLIBS) $(NEW_DB_LIB)
        @if exist ..\..\bin\msqld.exe del ..\..\bin\msqld.exe
        copy /b msqld.exe ..\..\bin\msqld.exe
        copy /b sample.acl ..\..\bin\sample.acl

msqld-clean:
        del msqld.obj msql_yac.obj msql_lex.obj msql_pro.obj net.obj\
 msqldb.obj msql_yac.c msql_yac.h alloca.obj

lextest.exe: msql_yac.c msql_lex.c
        $(CC) $(CC_FLAGS) -DDEBUG msql_lex.c
        $(LINK) $(LFLAGS) lextest.exe msql_lex.obj $(DLL_LIBS)
        del msql_lex.obj

