CPP = g++
FLAG = -g -O2 -W -Wall -D_DEBUG -static -std=c++0x
INCLUDE_DIR = ../../protobuf-2.4.0a/src:../include: \
	../P2SP:../../include/boost/crypto: \
	../../log4cplus-1.0.4/include
LIB_DIR = ../../protobuf-2.4.0a/lib:../../log4cplus-1.0.4/lib
LIB_FILES = log4cplus:protobuf:protoc:pthread:dl:rt
INCLUDE = $(patsubst %, -I%, $(subst :, , $(INCLUDE_DIR)))
LIB = $(patsubst %, -L%, $(subst :, , $(LIB_DIR)))
LIBS = $(patsubst %, -l%, $(subst :, , $(LIB_FILES)))

TARGET=libdatamgr.a
OBJ=DataManage.o

$(TARGET): $(OBJ)
	ar cqs ../Debug/$@ $^

include $(OBJ:.o=.d)

$(OBJ): DataManage.cpp IDataManage.h DataManage.h
	$(CPP) -c $(FLAG) $(INCLUDE) $(LIB) $(LIBS) $< -o $@

%.d: %.cpp
	rm -f $@; \
	$(CPP) -MM $(FLAG) $(INCLUDE) $(LIB) $(LIBS) $< > $@.$$$$; \
	sed 's, \($*\)\.o[ :]*,\1.0 $@ : ,g' < $@.$$$$ > $@; \
	rm -f $@.$$$$

.PHONY : clean
clean :
	rm -f $(TARGET) $(OBJ) *.d
