1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
# Makefile for SQLite ODBC Driver
# using MinGW cross compiler
MINGW = /opt/mingw/i386-mingw32msvc
CC = $(MINGW)/bin/gcc
STRIP = $(MINGW)/bin/strip
RC = $(MINGW)/bin/windres
MAKENSIS = makensis
DRV_VER= $(shell cat VERSION)
CFLAGS= -g -O2 -Wall -DDRIVER_VER_INFO=\"$(DRV_VER)\"
SQLITE_INC = sqlite
SQLITE_LIB = sqlite/libsqlite.a
SQLITE_FLAGS = -DHAVE_LIBVERSION=1 \
-DHAVE_ENCDEC=1 \
-DHAVE_SQLITEATOF=1 \
-DHAVE_SQLITEMPRINTF=1 \
-DHAVE_SQLITETRACE=1
SQLITE3_INC = sqlite3
SQLITE3_LIB = sqlite3/libsqlite3.a
SQLITE3_FLAGS= -DHAVE_SQLITE3COLUMNTABLENAME=1
ODBC_FLAGS = -DHAVE_LONG_LONG=1
ODBC_LIB = -lodbc
all: sqliteodbc.dll sqlite3odbc.dll \
sqlite.exe sqlite3.exe \
inst.exe instq.exe uninst.exe uninstq.exe \
adddsn.exe remdsn.exe \
addsysdsn.exe remsysdsn.exe \
SQLiteODBCInstaller.exe
sqliteodbc.o: sqliteodbc.c sqliteodbc.h resource.h
$(CC) $(CFLAGS) -mdll -c -I$(SQLITE_INC) $(ODBC_FLAGS) \
$(SQLITE_FLAGS) sqliteodbc.c
sqliteodbcu.o: sqliteodbc.c sqliteodbc.h resource.h
$(CC) $(CFLAGS) -mdll -c -I$(SQLITE_INC) $(ODBC_FLAGS) \
$(SQLITE_FLAGS) -o sqliteodbcu.o sqliteodbc.c
sqliteodbc.dll: sqliteodbc.o sqliteodbcres.o
$(CC) $(CFLAGS) -shared -Wl,--kill-at \
-Wl,--out-implib,libsqliteodbc.a -Wl,--strip-all \
-o sqliteodbc.dll \
sqliteodbc.o sqliteodbcres.o \
-lodbc32 -lodbccp32 -lcomdlg32 \
-lkernel32 -luser32 -lmsvcrt $(SQLITE_LIB)
sqlite.exe: sqliteodbc.dll sqlite/src/shell.c sqlite/sqlite.h
$(CC) $(CFLAGS) -Isqlite -o sqlite.exe \
sqlite/src/shell.c -L. -lsqliteodbc # -lcomdlg32
$(STRIP) sqlite.exe
sqliteodbcu.dll: sqliteodbcu.o sqliteodbcures.o
$(CC) $(CFLAGS) -shared -Wl,--kill-at \
-Wl,--out-implib,libsqliteodbcu.a -Wl,--strip-all \
-o sqliteodbcu.dll \
sqliteodbcu.o sqliteodbcures.o \
-lodbc32 -lodbccp32 -lcomdlg32 \
-lkernel32 -luser32 -lmsvcrt $(SQLITE_LIB)
sqliteu.exe: sqliteodbcu.dll sqlite/src/shell.c sqlite/sqlite.h
$(CC) $(CFLAGS) -Isqlite -o sqliteu.exe \
sqlite/src/shell.c -L. -lsqliteodbcu # -lcomdlg32
$(STRIP) sqliteu.exe
sqliteodbcres.o: sqliteodbc.rc resource.h
$(RC) -o sqliteodbcres.o -I$(SQLITE_INC) sqliteodbc.rc
sqliteodbcures.o: sqliteodbc.rc resource.h
$(RC) -o sqliteodbcures.o -I$(SQLITE_INC) sqliteodbc.rc
resource.h: resource.h.in
VERS=`cat VERSION` ;\
VERS_C=`echo $$VERS | sed -e 's/\([0-9]\+\)[.]\([0-9]\+\).*/\1,\2/g'` ;\
sed -e 's/--VERS_C--/'$$VERS_C'/g' < resource.h.in | \
sed -e 's/--VERS--/'$$VERS'/g' > resource.h
sqlite3odbc.o: sqlite3odbc.c sqlite3odbc.h resource3.h
$(CC) $(CFLAGS) -c -I$(SQLITE3_INC) $(ODBC_FLAGS) \
$(SQLITE3_FLAGS) sqlite3odbc.c
sqlite3odbc.dll: sqlite3odbc.o sqlite3odbcres.o
$(CC) $(CFLAGS) -shared -Wl,--kill-at \
-Wl,--out-implib,libsqlite3odbc.a -Wl,--strip-all \
-o sqlite3odbc.dll \
sqlite3odbc.o sqlite3odbcres.o \
-lodbc32 -lodbccp32 -lcomdlg32 \
-lkernel32 -luser32 -lmsvcrt $(SQLITE3_LIB)
$(STRIP) sqlite3odbc.dll
sqlite3.exe: sqliteodbc.dll sqlite3/src/shell.c sqlite3/sqlite3.h
$(CC) $(CFLAGS) -Isqlite3 -o sqlite3.exe \
sqlite3/src/shell.c -L. -lsqlite3odbc # -lcomdlg32
$(STRIP) sqlite3.exe
sqlite3odbcres.o: sqlite3odbc.rc resource3.h
$(RC) -o sqlite3odbcres.o -I$(SQLITE3_INC) sqlite3odbc.rc
resource3.h: resource.h.in
VERS=`cat VERSION` ;\
VERS_C=`echo $$VERS | sed -e 's/\([0-9]\+\)[.]\([0-9]\+\).*/\1,\2/g'` ;\
sed -e 's/--VERS_C--/'$$VERS_C'/g' < resource.h.in | \
sed -e 's/--VERS--/'$$VERS'/g' > resource3.h
inst.exe: inst.c
$(CC) $(CFLAGS) -mwindows -o inst.exe inst.c \
-lodbc32 -lodbccp32 -lkernel32 -luser32
$(STRIP) inst.exe
instq.exe: inst.exe
cp -p inst.exe instq.exe
uninst.exe: inst.exe
cp -p inst.exe uninst.exe
uninstq.exe: inst.exe
cp -p inst.exe uninstq.exe
adddsn.exe: adddsn.c
$(CC) $(CFLAGS) -mwindows -o adddsn.exe adddsn.c \
-lodbc32 -lodbccp32 -lkernel32 -luser32
$(STRIP) adddsn.exe
remdsn.exe: adddsn.exe
cp -p adddsn.exe remdsn.exe
addsysdsn.exe: adddsn.exe
cp -p adddsn.exe addsysdsn.exe
remsysdsn.exe: adddsn.exe
cp -p adddsn.exe remsysdsn.exe
SQLiteODBCInstaller.exe: SQLiteODBCInstaller.c
$(CC) $(CFLAGS) -o SQLiteODBCInstaller.exe \
SQLiteODBCInstaller.c -lkernel32 -luser32
$(STRIP) SQLiteODBCInstaller.exe
clean:
rm -f *.o sqliteodbc*.dll sqlite3odbc.dll *inst.exe \
*dsn.exe sqlite*.exe *~ core
rm -f resource.h resource3.h
|