1
##########################################################################
3
# MAKEFILE FOR MYODBC 3.51 DRIVER #
4
# WINDOWS - RELEASE/SHARE #
5
# (C) Copyright MySQL AB 1995-2002 #
7
##########################################################################
10
!MESSAGE *****************************************************************
11
!MESSAGE * MySQL ODBC 3.51 Driver, Release Build *
12
!MESSAGE * (C) Copyright MySQL AB, 1995-2002 *
14
!MESSAGE * AUTHORS: Monty (monty@mysql.com), Venu (venu@mysql.com) *
15
!MESSAGE *****************************************************************
17
!MESSAGE *****************************************************************
18
!MESSAGE * This program is free software; you can redistribute it and/or *
19
!MESSAGE * modify it under the terms of the GNU General Public License *
20
!MESSAGE * as published by the Free Software Foundation; either version *
21
!MESSAGE * 2 of the License, or (at your option) any later version. *
22
!MESSAGE *****************************************************************
24
# -----------------------------
25
# CONFIGURE DEFINATIONS
26
# -----------------------------
28
# specify MySQL include directory
29
MYSQL_INCLUDE_PATH = c:\mysql\include
31
# specify the MySQL client libraries path (release version)
32
MYSQL_LIB_PATH = c:\mysql\lib\opt
34
# specify driver output file name
35
MYODBC3_OUTFILE = myodbc3
37
# specify the output directory
40
# -----------------------------
42
# -----------------------------
53
# specify the include path
54
INCDIR = -I. -I$(MYSQL_INCLUDE_PATH)
62
# general compiler flags
63
CGENERAL = -nologo -DENGLISH -DMYODBC_EXPORTS -D_USERDLL -DDONT_DEFINE_VOID
65
# multi thread related flags
69
OUTLIST = -Fo$(OUTDIR)\ -Fd$(OUTDIR)\
72
SHAREFLAGS = -DDBUG_OFF -D_DBUG_OFF -DNDEBUG -D_NDEBUG
74
# all compiler flags in one place 'CFLAGS'
75
CFLAGS = $(CGENERAL) $(WARNLEVEL) $(OPTLEVEL) \
76
$(MTHREAD) $(INCDIR) $(SHAREFLAGS) $(OUTLIST)
78
# -----------------------------
80
# -----------------------------
82
DRIVER_DLL = $(OUTDIR)\$(MYODBC3_OUTFILE).dll
83
DRIVER_LIB = $(OUTDIR)\$(MYODBC3_OUTFILE).lib
84
MYODBC3_RES = $(OUTDIR)\myodbc3.res
85
MYODBC3_RC = myodbc3.rc
86
MYODBC3_DEF = myodbc3.def
88
# -----------------------------
90
# -----------------------------
92
MYODBC3_SRCS = catalog.c \
109
# --------------------------------------------------
110
# DRIVER INTERMEDIATE FILES - FOR DEPENDENCY PURPOSE
111
# --------------------------------------------------
113
MYODBC3_OBJS = $(OUTDIR)/catalog.obj \
114
$(OUTDIR)/connect.obj \
115
$(OUTDIR)/cursor.obj \
117
$(OUTDIR)/error.obj \
118
$(OUTDIR)/execute.obj \
119
$(OUTDIR)/handle.obj \
122
$(OUTDIR)/myodbc3.obj \
123
$(OUTDIR)/options.obj \
124
$(OUTDIR)/prepare.obj \
125
$(OUTDIR)/results.obj \
126
$(OUTDIR)/setup.obj \
127
$(OUTDIR)/transact.obj \
128
$(OUTDIR)/utility.obj \
129
$(OUTDIR)/myodbc3.res
131
# ------------------------------------
132
# BASED ON OS, SPECIFY THE TARGET PATH
133
# ------------------------------------
135
!IF "$(OS)" == "Windows_NT"
136
SYSDIR = $(WINDIR)\system32
137
CFLAGS = $(CFLAGS) -D_WIN32 -DWIN32 -D_WINDOWS -D__WIN__
141
SYSDIR = $(WINDIR)\system
142
CFLAGS = $(CFLAGS) -D_WINDOWS -D__WIN__
147
# -----------------------------
149
# -----------------------------
151
# mysql client libraries
153
MYSQL_CLIENT_LIBS = mysqlclient.lib zlib.lib
157
SYSLIBS = kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
158
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib\
159
odbc32.lib odbccp32.lib wsock32.lib ctl3d32.lib
163
LDFLAGS = $(SYSLIBS) /NODEFAULTLIB:LIBC \
164
/DLL /DEF:$(MYODBC3_DEF) $(MYODBC3_OBJS) \
165
$(MYSQL_CLIENT_LIBS) /implib:$(DRIVER_LIB) \
166
/libpath:$(MYSQL_LIB_PATH) /out:$(DRIVER_DLL)
168
# ---------------------------------------------------
169
# RESOURCE COMPILATION
171
# ONE MUST SUPPLY THE RESOURCE FILE LANGUAGE USING /l
172
# IN HEX FORMAXT, 0x409 for english
173
# ---------------------------------------------------
176
MYODBC3_RES_PROJ = /l $(RES_LANGUAGE) /fo $(MYODBC3_RES) $(INCDIR) $(MYODBC3_RC)
178
# -----------------------------
179
# BUILD TARGET SPECIFICATION
180
# -----------------------------
183
build : $(OUTDIR) $(DRIVER_DLL)
189
#------------------------------
190
# DRIVER DLL BUILD SPECIFICATION
191
#------------------------------
193
$(DRIVER_DLL): $(MYODBC3_OBJS) $(RES) $(MYODBC3_RES) $(MYODBC3_SRCS)
194
$(LINK) /RELEASE $(LDFLAGS)
197
$(CC) -c $(CFLAGS) $< -o $*.obj
199
#------------------------------
200
# RESOURCE COMPILATION
201
#------------------------------
204
$(RSC) $(MYODBC3_RES_PROJ)
206
#------------------------------
207
# CREATE OUTPUT DIR, IF IT DOES NOT EXISTS
208
#------------------------------
211
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
213
# -----------------------------
214
# INSTALL SPECIFICATION
215
# -----------------------------
218
copy $(DRIVER_DLL) $(SYSDIR)\myodbc3.dll
219
copy $(DRIVER_LIB) $(SYSDIR)\myodbc3.lib
221
# -----------------------------
222
# CLEAN SPECIFICATION
223
# -----------------------------
226
-@erase $(DRIVER_DLL)
227
-@erase $(DRIVER_LIB)
228
-@erase $(OUTDIR)\*.exp
229
-@erase $(MYODBC3_RES)
230
-@erase $(MYODBC3_OUTFILE).pdb
231
-@erase $(MYODBC3_OUTFILE).ilk
232
-@erase $(OUTDIR)\*.obj
233
-@erase $(OUTDIR)\*.idb