# Module specific stuff
UTIL_VERSION = .01
UTIL_NAME = libbsql.so

# Bastard stuff
CC      = gcc
RM      = rm -f
CP      = cp -f
LEX     = lex
YACC    = yacc
MKDIR   = mkdir -p

ifndef TOP
TOP = ../..
INSTALL_LIB = $(TOP)/lib
endif


# --------------------------------------
SRCS = bsql_lexer.c	\
	bsql_parser.c	\
	db_bsql.c		\
	db_bsqltbl.c	\
	db_bsqltree.c	\
	db_bsqlval.c

OBJS = bsql_lexer.o	\
	bsql_parser.o	\
	db_bsql.o		\
	db_bsqltbl.o	\
	db_bsqltree.o	\
	db_bsqlval.o

DEFINES  = -I$(TOP)/include -I. 
CFLAGS   = -ggdb -rdynamic $(DEFINES) -DUTIL_VERSION=$(UTIL_VERSION)
LIBS     = -lc -ldl -lbastard
LDFLAGS  = -L$(TOP)/lib $(LIBS)  


# --------------------------------------
all: 	$(UTIL_NAME)

install:  $(UTIL_NAME)
	$(CP) $(UTIL_NAME) $(INSTALL_LIB)/$(UTIL_NAME)

uninstall: 
	$(RM) $(INSTALL_LIB)/$(UTIL_NAME)

clean: 
	$(RM) $(OBJS) $(MODNAME)
	$(RM) bsql_lexer.c bsql_parser.c

# --------------------------------------
$(UTIL_NAME): $(OBJS) 
	$(CC) $(LDFLAGS) -o $@ $^


bsql_lexer.c:
	$(LEX) -obsql_lexer.c bsql.l

bsql_parser.c:
	$(YACC) -d -o bsql_parser.c bsql.y

.c.o: $(SRCS)
	$(CC) $(CFLAGS) -o $@ -c $<
