#----------------------------------------------------------------------------
#       Include macros and targets
#----------------------------------------------------------------------------
include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
include $(ACE_ROOT)/TAO/rules.tao.GNU
#include $(ACE_ROOT)/TAO/taoconfig.mk

CPPFLAGS += -I$(ACE_ROOT)/TAO/orbsvcs
TAOIDL = $(ACE_ROOT)/TAO/TAO_IDL/tao_idl
SERVER_SVC_LIBS = -lTAO_IORTable
CLIENT_SVC_LIBS =      # wir brauchen hier keine
IDLFLAGS = -Gv

DUMPABLEOBJS = RACECA_DumpableImpl.o

all: loggerserver loggerclient

GEN=	loggerC.cpp\
	loggerC.h\
	loggerC.i\
	loggerS.cpp\
	loggerS.h\
	loggerS.i\
	loggerS_T.cpp\
	loggerS_T.h\
	loggerS_T.i

$(GEN): logger.idl
	$(TAOIDL) -in $(IDLFLAGS) logger.idl

loggerserver: server.cpp loggerC.o loggerS.o loggerI.o $(DUMPABLEOBJS)
	$(CC) -o $@  $(CCFLAGS) $(CPPFLAGS) $(LDFLAGS) server.cpp loggerC.o loggerS.o loggerI.o $(DUMPABLEOBJS) $(SERVER_SVC_LIBS) $(TAO_SRVR_LIBS)

loggerclient: client.cpp loggerC.o $(DUMPABLEOBJS)
	$(CC) -o $@  $(CCFLAGS) $(CPPFLAGS) $(LDFLAGS) client.cpp loggerC.o \
$(DUMPABLEOBJS) $(CLIENT_SVC_LIBS) $(TAO_CLNT_LIBS) 

loggerC.o: loggerC.cpp loggerC.h
loggerI.o: loggerI.cpp loggerI.h loggerS.h loggerC.h
loggerS.o: loggerS.cpp loggerS.h loggerC.h \
	 loggerS_T.i loggerS_T.cpp loggerS.i
loggerS_T.o: loggerS_T.cpp loggerS_T.h loggerS_T.i

clean:
	rm -f *.o *~

clobber: clean
	rm -f loggerclient loggerserver
	rm -f $(GEN)	

newimpl: logger.idl
	if [ -r loggerI.h ]; then \
	   mv loggerI.h loggerI.h.alt ; \
	   mv loggerI.cpp loggerI.cpp.alt ; \
	fi
	$(TAOIDL) -in -GI $(IDLFLAGS) logger.idl
	-if [ -r loggerI.h.alt ]; then \
	   mv loggerI.h loggerI.h.neu ; \
	   mv loggerI.cpp loggerI.cpp.neu ; \
	   diff -w --ifdef NEU  loggerI.h.alt loggerI.h.neu > loggerI.h ; \
	   diff -w --ifdef NEU  loggerI.cpp.alt loggerI.cpp.neu > loggerI.cpp ; \
	fi

