COMPILER = gcc
#DEBUG = -Wall -g -DNOLOGS
DEBUG = -Wall -g
SOURCES = ./src
INCLUDE = ./include
LIBS = `pkg-config --libs glib-2.0 gmodule-2.0` -ldb1
FLAGS = `pkg-config --cflags glib-2.0 gmodule-2.0` -I${INCLUDE} -I./.. -I../../../include
BINARIES = bin
FINAL = engine_bookmarks.so

first: clean ${FINAL} bdbprint

show1:
		./bdbprint s data/bm_words.db
	
show2:
		./bdbprint b data/bm_trans.db
		
bdbprint: ${SOURCES}/berkeleyRead.c
		@echo -en "Berkeley DB reader building ...\n"
		gcc ${DEBUG} `pkg-config --cflags --libs glib-2.0` -ldb1 $< -o $@

${FINAL}: bookmark.o ${SOURCES}/engine_bookmark.c
		gcc ${DEBUG} -shared -fPIC ${FLAGS} ${LIBS} bookmark.o -o ${FINAL}
		cp ${FINAL} ../../../bin

bookmark.o: ${SOURCES}/engine_bookmark.c
		gcc ${DEBUG} -c -fPIC -o bookmark.o ${SOURCES}/engine_bookmark.c ${FLAGS}
		
clean:
		@-rm -f ${BINARIES}/*
		@-rm -f ${SOURCES}/test
		@-rm -f ${SOURCES}/*~
		@-rm -f *~
		@-rm -f ${INCLUDE}/*~
		@-rm -f ${SOURCES}/${FINAL}
		@-rm -f ${SOURCES}/testDatabase
		@-rm -f engine_bookmarks.so bookmark.o bdbprint
		@echo -e -n "Project 'BookmarkEngine' directories has been cleaned.\n"


	
cleandata: bdbprint
		@-rm -f ws_bookmarks-journal
		@-rm -f ws_bookmarks
		@-rm -f data/bm_words.db data/bm_trans.db
		@./bdbprint s data/bm_words.db
		@./bdbprint b data/bm_trans.db add 0 1


data: ${SOURCES}/testMakeDatabase.c
		@echo -e -n "Compiling testDatabase...\n"
		@gcc ${DEBUG} -o ${SOURCES}/testDatabase ${SOURCES}/testMakeDatabase.c ${FLAGS} ${LIBS}

datarun: data
		@run-standalone.sh src/testDatabase	
	
test: test.o
		@echo "Linking test program..."
		@gcc ${LIBS} ${DEBUG} -o ${SOURCES}/test ${BINARIES}/test.o
		@echo -e "Building test program finished.\n"

test.o:
		@echo "Compiling test program..."
		@gcc ${FLAGS} ${DEBUG} -c -o ${BINARIES}/test.o ${SOURCES}/test.c

check:
		@echo "Running test program:"
		@run-standalone.sh  ${SOURCES}/test	
	
	