# Makefile for cmlog user client library
include ../Makefile.config

OBJTYPE = .obj/$(TARGETDIR)

#-D_CMLOG_DEBUG

XTRACXXFLAGS := -I. -I../data -I../Common \
	-I../Network -I../database -I../database/include \
	-D_CMLOG_BUILD_CLIENT
XTRACFLAGS := -I. -I. -I../data -I../Common \
	-I../Network -I../database -I../database/include \
	-D_CMLOG_BUILD_CLIENT

XTRACXXFLAGS_DBASE := -I. -I../data -I../Common \
	-I../Network -I../database -I../database/include \
	-D_CMLOG_BUILD_SERVER

OBJS = $(OBJTYPE)/cmlogMsg.o \
	$(OBJTYPE)/cmlogSlist.o \
	$(OBJTYPE)/cmlogStrHash.o \
	$(OBJTYPE)/cmlogCallback.o \
	$(OBJTYPE)/cmlogUtil.o \
	$(OBJTYPE)/cmlogNetUtil.o \
	$(OBJTYPE)/cmlogAdmin.o

OBJS1 = $(OBJTYPE)/cmlogUtil.o \
	$(OBJTYPE)/cmlogDatabase.o \
	$(OBJTYPE)/cmlogConverter.o

LIBS = -L$(LIBDIR) -ldata -ldb

ifeq ($(TARGET), solaris)
LIBS :=  $(LIBS) -lsocket -lnsl
endif

ifeq ($(TARGET), sparcv9)
LIBS :=  $(LIBS) -lsocket -lnsl
endif

ifeq ($(TARGET), solaris-gnu)
LIBS :=  $(LIBS) -lsocket -lnsl
endif

ifeq ($(TARGET), solaris-noth)
LIBS :=  $(LIBS) -lsocket -lnsl
endif

ifneq ($(TARGET), vxworks)
targets: $(OBJTYPE) progs copybin
else
targets:
endif

$(OBJTYPE):
	@mkdir -p $(OBJTYPE)

progs: cmlogAdmin cmlogConverter


cmlogAdmin: $(OBJS)
	rm -f $@
	$(CXX) -o $@ $(OBJS) $(LIBS)

cmlogConverter: $(OBJS1)
	rm -f $@
	$(CXX) -o $@ $(OBJS1) $(LIBS)

copybin: cmlogAdmin cmlogConverter
	if test ! -d $(BINDIR); then mkdir -p $(BINDIR); else echo; fi
	mv cmlogAdmin cmlogConverter $(BINDIR)		

clean:
	rm -rf *.o *.a core *~ .obj cmlogAdmin cmlogConverter

#########################################################################
# do not edit the followings

cmlogAdmin.o: cmlogAdmin.cc
	rm -f $@
	$(CXX) -I$(INCDIR) $(CXXFLAGS) $(XTRACXXFLAGS) -o $@ -c $<

cmlogConverter.o: cmlogConverter.cc
	rm -f $@
	$(CXX) -I$(INCDIR) $(CXXFLAGS) $(XTRACXXFLAGS) -o $@ -c $<

$(OBJTYPE)/cmlogMsg.o: ../Common/cmlogMsg.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cmlogMsg.cc -o $@

$(OBJTYPE)/cmlogSlist.o: ../Common/cmlogSlist.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cmlogSlist.cc -o $@

$(OBJTYPE)/cmlogStrHash.o: ../Common/cmlogStrHash.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cmlogStrHash.cc -o $@

$(OBJTYPE)/cmlogCallback.o: ../Common/cmlogCallback.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cmlogCallback.cc -o $@

$(OBJTYPE)/cmlogUtil.o: ../Common/cmlogUtil.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS_DBASE) -c ../Common/cmlogUtil.cc -o $@

$(OBJTYPE)/cmlogNetUtil.o: ../Network/cmlogNetUtil.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Network/cmlogNetUtil.cc -o $@

$(OBJTYPE)/cmlogDatabase.o: ../database/cmlogDatabase.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS_DBASE) -c ../database/cmlogDatabase.cc -o $@

