CXX      = g++
CPPFLAGS = $(shell root-config --cflags) -I/usr/local/include/mysql
CXXFLAGS = -g -Wall -fPIC
LDFLAGS  = -g
SOFLAGS  = -shared -Wl,-soname,

MAKEDEP  = $(ROOTSYS)/bin/rmkdepend

DICT     = MySQLDict.cxx
DICTH    = $(DICT:.cxx=.h)
DICTO    = $(DICT:.cxx=.o)
LINKDEF  = LinkDef.h
NAME     = libMySQL.so

SOURCE   = $(filter-out $(DICT), $(wildcard *.cxx))
OBJECTS  = $(SOURCE:.cxx=.o)

CLASSINCLUDES = MySQLServer.h MySQLResult.h MySQLRow.h
DICTINCLUDES =

MYSQL = /usr/local/lib/mysql/libmysqlclient.a


all: $(NAME)

$(NAME): $(OBJECTS) $(DICTO)
	$(CXX) $(SOFLAGS)$(NAME) $(LDFLAGS) $(OBJECTS) $(DICTO) $(MYSQL) -o $(NAME)
	@echo Library $(NAME) is created

$(DICT): $(CLASSINCLUDES) $(LINKDEF)
	@echo Generating dictionary
	rootcint -f $(DICT) -c $(DICTINCLUDES) $(CLASSINCLUDES) $(LINKDEF)

%.o: %.cxx
	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $<

depend:
	$(MAKEDEP) -fMake-depend -Y -- $(CXXFLAGS) -- $(SOURCE) \
	> /dev/null 2>&1

clean:
	rm -f $(OBJECTS) $(DICT) $(DICTH) $(DICTO) $(NAME) core

include Make-depend
