ARCH           = OS
SHOBJ          = YES

include ../../include/makeinclude/Makefile.$(ARCH)

APPNAME = "Resource Name Server and Library"

OBJS = $(OBJDIR)/rsvcDataStreamer.o \
	$(OBJDIR)/rsvcDataEntry.o \
	$(OBJDIR)/rsvcData.o \
	$(OBJDIR)/rsvcVirtualDbase.o \
	$(OBJDIR)/rsvcServerConfig.o \
	$(OBJDIR)/rsvcTableDef.o \
	$(OBJDIR)/rsvcHashable.o \
	$(OBJDIR)/rsvcStreamable.o \
	$(OBJDIR)/rsvcCbk.o \
	$(OBJDIR)/rsvcSlist.o \
	$(OBJDIR)/rsvcHSlist.o \
	$(OBJDIR)/rsvcHash.o \
	$(OBJDIR)/lex.yy.o \
	$(OBJDIR)/y.tab.o \
	$(OBJDIR)/rsvcLogicSup.o \
	$(OBJDIR)/rsvcLogicQEng.o \
	$(OBJDIR)/rsvcNetData.o \
	$(OBJDIR)/rsvcDataStore.o \
	$(OBJDIR)/rsvcDataStoreMem.o \
	$(OBJDIR)/rsvcServerStore.o \
	$(OBJDIR)/rsvcDataStoreTable.o \
	$(OBJDIR)/rsvcCacheData.o \
	$(OBJDIR)/rsvcCacheDataAttr.o \
	$(OBJDIR)/rsvcStreamMsg.o \
	$(OBJDIR)/rsvcAcceptor.o \
	$(OBJDIR)/rsvcIO.o \
	$(OBJDIR)/rsvcUdpHandler.o \
	$(OBJDIR)/rsvcLocalConfig.o

CLNTOBJS = $(OBJDIR)/rsvcSlist.o \
	$(OBJDIR)/rsvcHSlist.o \
	$(OBJDIR)/rsvcHash.o \
	$(OBJDIR)/rsvcDataStreamer.o \
	$(OBJDIR)/rsvcDataEntry.o \
	$(OBJDIR)/rsvcData.o \
	$(OBJDIR)/rsvcNetData.o \
	$(OBJDIR)/rsvcCbk.o \
	$(OBJDIR)/rsvcHashable.o \
	$(OBJDIR)/rsvcStreamable.o \
	$(OBJDIR)/rsvcCallback.o \
	$(OBJDIR)/rsvcClient.o \
	$(OBJDIR)/rsvcUdpClient.o

ifeq ($(SHOBJ),YES)
       TARGETS = $(BASELIB)/librsvc.$(SHARED_EXT) $(CDEVBIN)/rsvcServer 
else
       TARGETS = $(BASELIB)/librsvc.a $(CDEVBIN)/rsvcServer 
endif

CXXEXTRA    = -D_CDEV_MANAGE_SERVERS
CCEXTRA     = -w
CXXINCLUDES = -I./
LIBS        = -L$(CDEVLIB) -lcdevReactor $(OSLIBS)
BINARIES    = $(BASEBIN)/rsvcServer $(BASELIB)/librsvc.$(SHARED_EXT) $(BASELIB)/librsvc.a lex.yy.c y.tab.c

targets : $(TARGETS)

$(CDEVBIN)/rsvcServer: $(OBJDIR)/rsvcServer.o $(OBJDIR)/rsvcSignal.o $(OBJS)
	$(LINK.cc) $^ $(LIBS) -o $@
	
$(BASELIB)/librsvc.a: $(CLNTOBJS)
	$(LINK.a) $@ $^ 
	@$(RANLIB) $@ > /dev/null
	@cp $@ $(CDEVLIB)	
	
$(BASELIB)/librsvc.$(SHARED_EXT): $(CLNTOBJS)
	$(LINK.so) -o $@ $^ $(NETLIBS)
	@cp $@ $(CDEVLIB)
	
lex.yy.c : rsvc_logic.l
	$(LEX_CMD_ECHO)\
	$(LEX) rsvc_logic.l
	
y.tab.c : rsvc_logic.y
	$(YACC_CMD_ECHO)\
	$(YACC) -d rsvc_logic.y
	
