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

#
# include site information file
#
include ../site.mm

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

#
# libraries used for EXEs
#
NEW_LDLIBS=$(LDLIBS) so32dll.lib tcp32dll.lib
MSQLD_LIBS=alloca.obj ..\..\lib\mSQLrexp.lib

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

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

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

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

net.obj: net.c
        $(CC) $(CC_FLAGS) net.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
#
mSQLbase.lib: mSQLbase.obj net.obj
        @if exist mSQLbase.lib del mSQLbase.lib
        $(RANLIB) mSQLbase.lib +mSQLbase.obj +net.obj;
        @if exist ..\..\lib\mSQLbase.lib del ..\..\lib\mSQLbase.lib
        @if exist ..\..\include\msql.h del ..\..\include\msql.h
        copy /b mSQLbase.lib ..\..\lib\mSQLbase.lib
        copy /b msql.h ..\..\include\msql.h
        @if exist mSQLbase.bak del mSQLbase.bak

#
# 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 acl.obj $(LDLIBS)
        $(LINK) $(LFLAGS) msqladm.exe msqladm.obj acl.obj mSQLbase.lib\
 $(NEW_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 mSQLbase.lib $(LDLIBS)
        $(LINK) $(LFLAGS) msql.exe msql.obj mSQLbase.lib $(NEW_LDLIBS)
        @if exist ..\..\bin\msql.exe del ..\..\bin\msql.exe
        copy /b msql.exe ..\..\bin\msql.exe
        copy /b sample.msl ..\..\bin\test.msl

msqldump.obj: msqldump.c
        $(CC) $(CC_FLAGS) msqldump.c
msqldump.exe: msqldump.obj mSQLbase.lib $(LDLIBS)
        $(LINK) $(LFLAGS) msqldump.exe msqldump.obj mSQLbase.lib $(NEW_LDLIBS)
        @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 mSQLbase.lib $(LDLIBS)
        $(LINK) $(LFLAGS) relshow.exe relshow.obj mSQLbase.lib $(NEW_LDLIBS)
        @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 mSQLbase.lib $(LDLIBS)
        $(LINK) $(LFLAGS) ins_test.exe ins_test.obj mSQLbase.lib $(NEW_LDLIBS)

sel_test.obj: sel_test.c
        $(CC) $(CC_FLAGS) sel_test.c
sel_test.exe: sel_test.obj mSQLbase.lib $(LDLIBS)
        $(LINK) $(LFLAGS) sel_test.exe sel_test.obj mSQLbase.lib $(NEW_LDLIBS)

alloca.obj: alloca.c
        $(CC) $(CC_FLAGS) alloca.c
        @if exist ..\..\lib\alloca.obj del ..\..\lib\alloca.obj
        copy /b alloca.obj ..\..\lib\alloca.obj
msqld.exe: msqld.obj msql_yac.obj msql_lex.obj msql_pro.obj msqldb.obj\
 acl.obj alloca.obj mSQLbase.lib $(LDLIBS) ..\common\debug.obj $(DB_LIBS)
        $(LINK) $(LFLAGS) msqld.exe msqld.obj msql_yac.obj msql_lex.obj\
 msql_pro.obj msqldb.obj acl.obj mSQLbase.lib $(NEW_LDLIBS) $(MSQLD_LIBS)
        @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

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

