PRODUCT = Windows ODBC Sample Driver

NAME = mysql

#       Compiler, linker, and assembler flags.

INC    = C:\ODBC\INCLUDE
CFLAGS = -Zl -G2sw -W3 -ALw -I$(INC) # -Ox
LFLAGS = /align:16
AFLAGS = -MX -t -B63
OBJ    = .
HEADERS=	$(INC)\sql.h $(INC)\sqlext.h $(INC)\myodbc.h

#       This is what gets made by this makefile

goal:                   $(OBJ)\$(NAME).dll

$(OBJ)\catalog.obj:     $$(@B).c $(HEADERS)
	cl $(CFLAGS) -c -Fo$(OBJ)\$(@B).obj $(@B).c

$(OBJ)\connect.obj:     $$(@B).c $(HEADERS)
	cl $(CFLAGS) -c -Fo$(OBJ)\$(@B).obj $(@B).c

$(OBJ)\dll.obj:         $$(@B).c $(HEADERS)
	cl $(CFLAGS) -c -Fo$(OBJ)\$(@B).obj $(@B).c

$(OBJ)\execute.obj:     $$(@B).c $(HEADERS)
	cl $(CFLAGS) -c -Fo$(OBJ)\$(@B).obj $(@B).c

$(OBJ)\info.obj:        $$(@B).c $(HEADERS)
	cl $(CFLAGS) -c -Fo$(OBJ)\$(@B).obj $(@B).c

$(OBJ)\options.obj:     $$(@B).c $(HEADERS)
	cl $(CFLAGS) -c -Fo$(OBJ)\$(@B).obj $(@B).c

$(OBJ)\prepare.obj:     $$(@B).c $(HEADERS)
	cl $(CFLAGS) -c -Fo$(OBJ)\$(@B).obj $(@B).c

$(OBJ)\results.obj:	$$(@B).c $(HEADERS)
	cl $(CFLAGS) -c -Fo$(OBJ)\$(@B).obj $(@B).c

$(OBJ)\transact.obj:    $$(@B).c $(HEADERS)
	cl $(CFLAGS) -c -Fo$(OBJ)\$(@B).obj $(@B).c

$(OBJ)\utility.obj:    $$(@B).c $(HEADERS)
	cl $(CFLAGS) -c -Fo$(OBJ)\$(@B).obj $(@B).c

$(OBJ)\$(NAME).res:	$(NAME).rc $(INC)\odbcver.h myodbc.h
	rc /I$(INC) -r -FO $(OBJ)\$(NAME).res $(NAME).rc

$(OBJ)\$(NAME).dll:	$(OBJ)\catalog.obj \
			$(OBJ)\dll.obj \
			$(OBJ)\connect.obj \
			$(OBJ)\execute.obj \
			$(OBJ)\info.obj \
			$(OBJ)\options.obj \
			$(OBJ)\prepare.obj \
			$(OBJ)\results.obj \
			$(OBJ)\transact.obj \
			$(OBJ)\utility.obj \
			$(NAME).def \
			$(OBJ)\$(NAME).res
	link $(LFLAGS) @<<
libentry.obj+
$(OBJ)\catalog.obj+
$(OBJ)\dll.obj+
$(OBJ)\connect.obj+
$(OBJ)\execute.obj+
$(OBJ)\info.obj+
$(OBJ)\options.obj+
$(OBJ)\prepare.obj+
$(OBJ)\results.obj+
$(OBJ)\utility.obj+
$(OBJ)\transact.obj,
$(OBJ)\$(NAME).dll,
$(OBJ)\$(NAME).map,
MDLLCEW.LIB LIBW.LIB MYSQL.LIB MYSYS.LIB STRINGS.LIB,
$(NAME).def;
<<
	rc -30 $(OBJ)\$(NAME).res $(OBJ)\$(NAME).dll

clean:
    -del $(OBJ)\*.obj
    -del $(OBJ)\$(NAME).dll
    -del $(OBJ)\$(NAME).res
    -del $(OBJ)\$(NAME).map
