# Makefile for src/
#######################

BASEDIR      = $(shell cat ../.BASEDIR)
include $(BASEDIR)/rules.mk

HEADERS     = $(wildcard *.hpp) $(wildcard *.h)
SRC_CPP     = $(wildcard *.cpp)
OBJECTS_CPP = $(subst .cpp,.o,$(SRC_CPP))
SRC_C       = $(wildcard *.c)
OBJECTS_C   = $(subst .c,.o,$(SRC_C))
SRC         = $(SRC_CPP) $(SRC_C)
OBJECTS     = $(OBJECTS_CPP) $(OBJECTS_C)
LIBNAME     = libvitooki-base.so
LIB	        = .libs/$(LIBNAME)
SUBDIRS     = adaptors cache container io metadata net

all:  $(LIB) all_recursive

Makefile: Makefile.dep

dep:    Makefile.dep

Makefile.dep:     $(SRC)
	$(GCC) $(INCLUDES) -M $+ > Makefile.dep

include Makefile.dep

$(LIB): $(OBJECTS)
	@mkdir -p .libs
	$(CPP) $(OBJECTS) $(LDFLAGS) -o $@ -shared


doc:	$(HEADERS) $(SRC)
	kdoc -f html -d ../doc/html/ -n vitooki ../includes/*.hpp -lqt -lSDL
#	kdoc -f html -d ../doc/html/ -n vitooki -lqt -lSDL *.hpp

clean: clean_recursive
	rm -f .libs/libvitooki-* *.o *~ Makefile.dep

install: install_recursive
	@echo "installing ViTooKi Base lib"
	cp $(LIB) $(PREFIX)/lib/$(LIBNAME)

uninstall: uninstall_recursive
	@echo "removing ViTooKi Base lib"
	rm -f $(PREFIX)/lib/$(LIBNAME)
