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

OBJTYPE = .obj/$(TARGETDIR)

#$(HOME)/vxworks/lib/libm68kgcc.a
ifeq ($(XTRAOBJS), YES)
#XOBJS = /usr/local/wind68k/5.2/host/sun4-solaris2/lib/libm68kgcc.a
XOBJS =
else
XOBJS =
endif

#-D_CMLOG_DEBUG -D_CMLOG_CLIENTD_AUTO_QUIT
XTRACXXFLAGS := -I. -I../data \
	-I../Thread -I../Common \
	-I../Network -I$(WRAPPER_ROOT)
# -D_POSIX_C_SOURCE=199506L
XTRACFLAGS := -I. -I. -I../data \
	-I../Thread -I../Common \
	-I../Network -I$(WRAPPER_ROOT)

CLNTOBJS := $(OBJTYPE)/cmlogMsg.o \
	$(OBJTYPE)/cmlogUtil.o \
	$(OBJTYPE)/cmlogNetUtil.o \
	$(OBJTYPE)/cmlogSlist.o \
	$(OBJTYPE)/cmlogSvcLocaterRep.o \
	$(OBJTYPE)/cmlogServerLocater.o \
	$(OBJTYPE)/cmlogClntCxt.o \
	$(OBJTYPE)/cmlogUpIO.o \
	$(OBJTYPE)/cmlogServerHB.o \
	$(OBJTYPE)/cmlogUxToServer.o \
	$(OBJTYPE)/cmlogClntDSigHandler.o \
	$(OBJTYPE)/cmlogClientD.o


ifeq ($(TARGET), solaris)
LIBS = -L$(WRAPPER_ROOT)/lib/$(TARGET) -lSACE \
	-L$(LIBDIR) -ldata -lsocket -lnsl \
	-lposix4 -lpthread -lthread -ldl -lgen
endif

ifeq ($(TARGET), sparcv9)
LIBS = -L$(WRAPPER_ROOT)/lib/$(TARGET) -lSACE \
	-L$(LIBDIR) -ldata -lsocket -lnsl \
	-lposix4 -lpthread -lthread -ldl -lgen
endif

ifeq ($(TARGET), solaris-gnu)
LIBS = -L$(WRAPPER_ROOT)/lib/$(TARGET) -lSACE \
	-L$(LIBDIR) -ldata -lsocket -lnsl \
	-lposix4 -lpthread -lthread -ldl -lgen
endif

ifeq ($(TARGET), solaris-noth)
LIBS = -L$(WRAPPER_ROOT)/lib/$(TARGET) -lSACE \
	-L$(LIBDIR) -ldata -lsocket -lnsl -ldl -lgen
endif

ifeq ($(TARGET), hpux)
LIBS = -L$(WRAPPER_ROOT)/lib/$(TARGET) -lSACE \
	-L$(LIBDIR) -ldata
endif

ifeq ($(TARGET), Linux-i386)
LIBS = -L$(WRAPPER_ROOT)/lib/$(TARGET) -lSACE \
	-L$(LIBDIR) -ldata
endif

ifeq ($(TARGET), Linux-alpha)
LIBS = -L$(WRAPPER_ROOT)/lib/$(TARGET) -lSACE \
	-L$(LIBDIR) -ldata
endif

ifeq ($(TARGET), vxworks)
LIBS = 	-L$(LIBDIR) -ldata -L$(WRAPPER_ROOT)/lib/$(TARGETDIR) -lSACE

endif

targets: lnaceconfig $(OBJTYPE) cmlogClientD copybin

lnaceconfig:
	rm -f $(WRAPPER_ROOT)/ace/config.h
	ln -s $(ACECONFIGF) $(WRAPPER_ROOT)/ace/config.h

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

ifneq ($(TARGET), vxworks)
cmlogClientD: $(CLNTOBJS)
	rm -f $@
	$(CXX) -o $@ $(CLNTOBJS) $(LIBS)
else
cmlogClientD: $(CLNTOBJS)
	rm -f $@
	$(MAKELIB) $@ $(CLNTOBJS) $(LIBS) $(XOBJS)
endif

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

clean:
	rm -rf *.o core *~ cmlogClientD .obj

#########################################################################
# do not edit the followings
$(OBJTYPE)/cmlogMsg.o: ../Common/cmlogMsg.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cmlogMsg.cc -o $@	

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

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

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

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

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

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

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

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

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

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


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

