# Version
VERSION = 0.0.1

# Compiler flags
MSQLFLAGS = -Wall -W -O2 -s -pipe -lpthread -L/usr/local/lib/mysql -I/usr/local/include/mysql      -lmysqlclient
DLLFLAGS = -Wall -W -O2 -s -pipe -lpthread -L/usr/local/lib/mysql -I/usr/local/include/mysql     -lmysqlclient      -ldl
SL3FLAGS = -Wall -W -O2 -s -pipe -Wl,-R/usr/local/lib -lsqlite3
SL3MFLAG = -Wall -W -O2 -s -pipe -Wl,-R/usr/local/lib -lsqlite3 -lm
SLFLAGS = -Wall -W -O2 -s -pipe -Wl,-R/usr/local/lib -lsqlite
CFLAGS = -Wall -W -O2 -s -pipe 
sqliteLIB := $(shell ls /usr/local/lib/libsqlite.so)
sqlite3LIB := $(shell ls /usr/local/lib/libsqlite3.so)
# all assumes sqlite and sqlite3 are installed  
#
all: apiSQLite3 apiSQLite3b  eatblob myfuncpp simplesqlite3cpp simplesqlite3 sqlite3apilist


# If only sqlite is installed: make sqlite
sqlite: apiSQLite

# If only sqlite3 is installed:  make sqlite3
sqlite3: apiSQLite3 apiSQLite3b eatblob myfuncpp simplesqlite3cpp simplesqlite3 

apiSQLite3: apiSQLite3.c
ifeq ("$(sqlite3LIB)","/usr/local/lib/libsqlite3.so")
	gcc -o $@ $(SL3FLAGS)  $<
else
	echo "Sqlite not installed? I looked for /usr/local/lib/libsqlite.so"
endif




apiSQLite3b: apiSQLite3b.c
ifeq ("$(sqlite3LIB)","/usr/local/lib/libsqlite3.so")
	gcc -o $@ $(SL3FLAGS)  $<
else
	echo "Where is sqlite version 3? I looked for /usr/local/lib/libsqlite3.so"
endif


apiSQLite: apiSQLite.c
ifeq ("$(sqliteLIB)","/usr/local/lib/libsqlite.so")
	gcc -o $@ $(SLFLAGS)  $<
else
	echo "Where is sqlite version 2?? I looked for /usr/local/lib/libsqlite.so"
endif


eatblob: eatblob.c
ifeq ("$(sqlite3LIB)","/usr/local/lib/libsqlite3.so")
	gcc -o $@ $(SL3FLAGS)  $<
else
	echo "Where is sqlite versions 3? I looked for /usr/local/lib/libsqlite3.so"
endif


myfuncpp: myfuncpp.cc
ifeq ("$(sqlite3LIB)","/usr/local/lib/libsqlite3.so")
	g++ -o $@ $(SL3FLAGS)  $<
else
	echo "Where is sqlite verson 3? I looked for /usr/local/lib/libsqlite3.so"
endif


simplesqlite3cpp: simplesqlite3cpp.cc
ifeq ("$(sqlite3LIB)","/usr/local/lib/libsqlite3.so")
	g++ -o $@ $(SL3FLAGS)  $<
else
	echo "Where is sqlite version 3? I looked for /usr/local/lib/libsqlite3.so"
endif


simplesqlite3: simplesqlite3.c
ifeq ("$(sqlite3LIB)","/usr/local/lib/libsqlite3.so")
	gcc -o $@ $(SL3FLAGS)  $<
else
	echo "Where is sqlite version 3? I looked for /usr/local/lib/libsqlite3.so"
endif


simplesqlite3cpp2: simplesqlite3cpp2.cc
ifeq ("$(sqlite3LIB)","/usr/local/lib/libsqlite3.so")
	g++ -o $@ $(SL3FLAGS)  $<
else
	echo "Where is sqlite version 3? I looked for /usr/local/lib/libsqlite3.so"
endif



sqlite3apilist: sqlite3apilist.cc
ifeq ("$(sqlite3LIB)","/usr/local/lib/libsqlite3.so")
	g++ -o $@ $(SL3FLAGS)  $<
else
	echo "Where is sqlite version 3? I looked for /usr/local/lib/libsqlite3.so"
endif




test:
	./apiSQLite test.db "create table test (a INTEGER PRIMARY KEY, b int)"
	./apiSQLite test.db "insert into test (b) values (1)"
	./apiSQLite test.db "insert into test (b) values (2)"
	./apiSQLite test.db "insert into test (b) values (3)"
	./apiSQLite test.db "select * from test"


test3:
	./apiSQLite3b test3.db < script0



clean:	
	rm -f apiSQLite3 apiSQLite3b apiSQLite test3.db test.db eatblob myfuncpp simplesqlite3cpp simplesqlite3 simplesqlite3cpp2 sqlite3api_list


