export LD_LIBRARY_PATH = ../../../../lib/
CC = gcc
ECC = ../../../../bin/ecc
ECP = ../../../../bin/ecp
ECS = ../../../../bin/ecs
ECFLAGS = 
CFLAGS = -fmessage-length=0 -fvisibility=hidden -w -fPIC
OFLAGS = -L../../../../lib/
LIBS = -lecere -shared
OBJECTS = \
	release/SQLite.o release/sqlite3.o release/SQLite.main.o

COBJECTS = \
	release/SQLite.c 

SYMBOLS = \
	release/SQLite.sym 

IMPORTS = \
	release/SQLite.imp 

RESOURCES = \
	

all: release/libEDASQLite.so

release/SQLite.main.ec: $(SYMBOLS) $(COBJECTS)
	$(ECS) -dynamiclib $(SYMBOLS) $(IMPORTS) -symbols release -o release/SQLite.main.ec

release/SQLite.main.c: release/SQLite.main.ec
	$(ECP) $(ECFLAGS) $(CFLAGS) -c release/SQLite.main.ec -o release/SQLite.main.sym -symbols release

	$(ECC) $(ECFLAGS) $(CFLAGS) -c release/SQLite.main.ec -o release/SQLite.main.c -symbols release

release/libEDASQLite.so:  $(SYMBOLS) $(OBJECTS) $(RESOURCES)
	$(CC) $(OFLAGS) $(OBJECTS) $(LIBS) -o release/libEDASQLite.so
	strip release/libEDASQLite.so

# SYMBOL RULES

release/SQLite.sym: SQLite.ec
	$(ECP) $(ECFLAGS) $(CFLAGS) -c SQLite.ec -o release/SQLite.sym

# C OBJECT RULES

release/SQLite.c: SQLite.ec release/SQLite.sym | $(SYMBOLS)
	$(ECC) $(ECFLAGS) $(CFLAGS) -c SQLite.ec -o release/SQLite.c -symbols release

# OBJECT RULES

release/SQLite.o: release/SQLite.c
	$(CC) $(CFLAGS) -c release/SQLite.c -o release/SQLite.o

release/sqlite3.o: sqlite3.c
	$(CC) $(CFLAGS) -c sqlite3.c -o release/sqlite3.o

release/SQLite.main.o: release/SQLite.main.c
	$(CC) $(CFLAGS) -c release/SQLite.main.c -o release/SQLite.main.o

clean:
	rm -f release/libEDASQLite.so $(OBJECTS) $(IMPORTS) $(SYMBOLS) $(COBJECTS) release/SQLite.main.c release/SQLite.main.ec release/SQLite.main.imp release/SQLite.main.sym

