Makefile

1
CC=gcc
2
CFLAGS=-g -pedantic -Wall -O2 -shared -fpic -I /usr/include/lua5.1 -I /usr/include/mysql -I /usr/include/postgresql/ -I /opt/ibm/db2exc/V9.5/include/ -I /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/rdbms/public/ -I .
3
AR=ar rcu
4
RANLIB=ranlib
5
RM=rm -rf
6
MKDIR=mkdir -p
7
 
8
COMMON_LDFLAGS=
9
MYSQL_LDFLAGS=$(COMMON_LDFLAGS) -lmysqlclient
10
PSQL_LDFLAGS=$(COMMON_LDFLAGS) -lpq 
11
SQLITE3_LDFLAGS=$(COMMON_LDFLAGS) -lsqlite3 
12
DB2_LDFLAGS=$(COMMON_LDFLAGS) -L/opt/ibm/db2exc/V9.5/lib64 -L/opt/ibm/db2exc/V9.5/lib32 -ldb2 
13
ORACLE_LDFLAGS=$(COMMON_LDFLAGS) -L/usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/ -locixe 
14
 
15
BUILDDIR=build
16
 
17
DBDMYSQL=dbdmysql.so
18
DBDPSQL=dbdpostgresql.so
19
DBDSQLITE3=dbdsqlite3.so
20
DBDDB2=dbddb2.so
21
DBDORACLE=dbdoracle.so
22
 
23
OBJS=build/dbd_common.o
24
MYSQL_OBJS=$(OBJS) build/dbd_mysql_main.o build/dbd_mysql_connection.o build/dbd_mysql_statement.o
25
PSQL_OBJS=$(OBJS) build/dbd_postgresql_main.o build/dbd_postgresql_connection.o build/dbd_postgresql_statement.o
26
SQLITE3_OBJS=$(OBJS) build/dbd_sqlite3_main.o build/dbd_sqlite3_connection.o build/dbd_sqlite3_statement.o
27
DB2_OBJS=$(OBJS) build/dbd_db2_main.o build/dbd_db2_connection.o build/dbd_db2_statement.o
28
ORACLE_OBJS=$(OBJS) build/dbd_oracle_main.o build/dbd_oracle_connection.o build/dbd_oracle_statement.o
29
 
30
free: mysql psql sqlite3
31
 
32
all:  mysql psql sqlite3 db2 oracle
33
 
34
mysql: $(BUILDDIR) $(MYSQL_OBJS)
35
	$(CC) $(CFLAGS) $(MYSQL_OBJS) -o $(DBDMYSQL) $(MYSQL_LDFLAGS)
36
 
37
psql: $(BUILDDIR) $(PSQL_OBJS)
38
	$(CC) $(CFLAGS) $(PSQL_OBJS) -o $(DBDPSQL) $(PSQL_LDFLAGS)
39
 
40
sqlite3: $(BUILDDIR) $(SQLITE3_OBJS)
41
	$(CC) $(CFLAGS) $(SQLITE3_OBJS) -o $(DBDSQLITE3) $(SQLITE3_LDFLAGS)
42
 
43
db2: $(BUILDDIR) $(DB2_OBJS)
44
	$(CC) $(CFLAGS) $(DB2_OBJS) -o $(DBDDB2) $(DB2_LDFLAGS)
45
 
46
oracle: $(BUILDDIR) $(ORACLE_OBJS)
47
	$(CC) $(CFLAGS) $(ORACLE_OBJS) -o $(DBDORACLE) $(ORACLE_LDFLAGS)
48
 
49
clean:
50
	$(RM) $(BUILDDIR) $(MYSQL_OBJS) $(PSQL_OBJS) $(SQLITE3_OBJS) $(DB2_OBJS) $(ORACLE_OBJS) $(DBDMYSQL) $(DBDPSQL) $(DBDSQLITE3) $(DBDDB2) $(DBDORACLE) 
51
 
52
build/dbd_common.o: dbd/common.c dbd/common.h
53
	$(CC) -c -o $@ $< $(CFLAGS)
54
 
55
build/dbd_mysql_connection.o: dbd/mysql/connection.c dbd/mysql/dbd_mysql.h dbd/common.h 
56
	$(CC) -c -o $@ $< $(CFLAGS)
57
build/dbd_mysql_main.o: dbd/mysql/main.c dbd/mysql/dbd_mysql.h dbd/common.h
58
	$(CC) -c -o $@ $< $(CFLAGS)
59
build/dbd_mysql_statement.o: dbd/mysql/statement.c dbd/mysql/dbd_mysql.h dbd/common.h
60
	$(CC) -c -o $@ $< $(CFLAGS)
61
 
62
build/dbd_postgresql_connection.o: dbd/postgresql/connection.c dbd/postgresql/dbd_postgresql.h dbd/common.h
63
	$(CC) -c -o $@ $< $(CFLAGS)
64
build/dbd_postgresql_main.o: dbd/postgresql/main.c dbd/postgresql/dbd_postgresql.h dbd/common.h
65
	$(CC) -c -o $@ $< $(CFLAGS)
66
build/dbd_postgresql_statement.o: dbd/postgresql/statement.c dbd/postgresql/dbd_postgresql.h dbd/common.h
67
	$(CC) -c -o $@ $< $(CFLAGS)
68
 
69
build/dbd_sqlite3_connection.o: dbd/sqlite3/connection.c dbd/sqlite3/dbd_sqlite3.h dbd/common.h 
70
	$(CC) -c -o $@ $< $(CFLAGS)
71
build/dbd_sqlite3_main.o: dbd/sqlite3/main.c dbd/sqlite3/dbd_sqlite3.h dbd/common.h
72
	$(CC) -c -o $@ $< $(CFLAGS)
73
build/dbd_sqlite3_statement.o: dbd/sqlite3/statement.c dbd/sqlite3/dbd_sqlite3.h dbd/common.h
74
	$(CC) -c -o $@ $< $(CFLAGS)
75
 
76
build/dbd_db2_connection.o: dbd/db2/connection.c dbd/db2/dbd_db2.h dbd/common.h 
77
	$(CC) -c -o $@ $< $(CFLAGS)
78
build/dbd_db2_main.o: dbd/db2/main.c dbd/db2/dbd_db2.h dbd/common.h
79
	$(CC) -c -o $@ $< $(CFLAGS)
80
build/dbd_db2_statement.o: dbd/db2/statement.c dbd/db2/dbd_db2.h dbd/common.h
81
	$(CC) -c -o $@ $< $(CFLAGS)
82
 
83
build/dbd_oracle_connection.o: dbd/oracle/connection.c dbd/oracle/dbd_oracle.h dbd/common.h 
84
	$(CC) -c -o $@ $< $(CFLAGS)
85
build/dbd_oracle_main.o: dbd/oracle/main.c dbd/oracle/dbd_oracle.h dbd/common.h
86
	$(CC) -c -o $@ $< $(CFLAGS)
87
build/dbd_oracle_statement.o: dbd/oracle/statement.c dbd/oracle/dbd_oracle.h dbd/common.h
88
	$(CC) -c -o $@ $< $(CFLAGS)
89
 
90
build:
91
	$(MKDIR) ${BUILDDIR}