#----------------------------------------------------------------------------
#       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
LDFLAGS  += -L$(ACE_ROOT)/lib
TAOIDL = $(ACE_ROOT)/TAO/TAO_IDL/tao_idl
SERVER_SVC_LIBS = #-lTAO_IORTable
CLIENT_SVC_LIBS =      # wir brauchen hier keine
IDLFLAGS =

all: owhalloempfaenger owhallosender 

GEN=	owhalloC.cpp\
	owhalloC.h\
	owhalloC.i\
	owhalloS.cpp\
	owhalloS.h\
	owhalloS.i\
	owhalloS_T.cpp\
	owhalloS_T.h\
	owhalloS_T.i

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

owhalloempfaenger: empfaenger.cpp owhalloC.o owhalloS.o owhalloI.o
	$(CC) -o $@  $(CCFLAGS) $(CPPFLAGS) $(LDFLAGS) empfaenger.cpp owhalloC.o owhalloS.o owhalloI.o $(SERVER_SVC_LIBS) $(TAO_SRVR_LIBS)

owhallosender: sender.cpp owhalloC.o
	$(CC) -o $@  $(CCFLAGS) $(CPPFLAGS) $(LDFLAGS) sender.cpp owhalloC.o \
 $(CLIENT_SVC_LIBS) $(TAO_CLNT_LIBS) 

owhalloC.o: owhalloC.cpp owhalloC.h
owhalloI.o: owhalloI.cpp owhalloI.h owhalloS.h owhalloC.h
owhalloS.o: owhalloS.cpp owhalloS.h owhalloC.h \
	 owhalloS_T.i owhalloS_T.cpp owhalloS.i
owhalloS_T.o: owhalloS_T.cpp owhalloS_T.h owhalloS_T.i

clean:
	rm -f *.o *~

clobber: clean
	rm -f owhalloempfaenger owhallosender
	rm -f $(GEN)	

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

