File: Makefile.mingw-cross

package info (click to toggle)
sqliteodbc 0.70-3
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 1,700 kB
  • ctags: 1,040
  • sloc: ansic: 21,609; sh: 6,574; makefile: 104
file content (147 lines) | stat: -rw-r--r-- 4,443 bytes parent folder | download | duplicates (2)
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