# Makefile for Linux

# $OMNIORB_TOP must be defined (check your environment)

IDL                = $(OMNIORB_TOP)/bin/omniidl
ORB_IDLFLAGS       = -bcxx
ORB_CXXFLAGS       = -O2 -Wall -Wno-unused -fexceptions -fno-unit-at-a-time \
		     -D__OMNIORB4__ -D_REENTRANT  -D__OSVERSION__=2 -D__linux__ -D__x86__ 
ORB_CPPFLAGS       = -I$(OMNIORB_TOP)/include -I.
ORB_LDFLAGS        = -L$(OMNIORB_TOP)/lib -lomniORB4 -lomnithread -lpthread

# idl, stubs and skeleton
ECHO_IDL      = Echo.idl
ECHO_STUBS    = EchoSK.cc Echo.hh

# target
PROGRAMS =   EchoServer EchoClient 
SOURCES  =   EchoServer.cc EchoClient.cc

all: $(PROGRAMS)

# stubs and skeleton generation 
$(ECHO_STUBS): $(ECHO_IDL)
	$(IDL) $(ORB_IDLFLAGS) $(ECHO_IDL)

EchoSK.o: EchoSK.cc
	g++ $(ORB_CPPFLAGS) -c EchoSK.cc

EchoServer.o: EchoServer.cc $(ECHO_STUBS)
	g++ $(ORB_CPPFLAGS) -c EchoServer.cc 

EchoServer: EchoServer.o EchoSK.o
	g++ $(ORB_LDFLAGS) EchoServer.o EchoSK.o -o EchoServer

EchoClient.o: EchoClient.cc $(ECHO_STUBS)
	g++ $(ORB_CPPFLAGS) -c EchoClient.cc 

EchoClient: EchoClient.o EchoSK.o
	g++ $(ORB_LDFLAGS) EchoClient.o EchoSK.o -o EchoClient

clean:
	rm -f $(ECHO_STUBS) $(PROGRAMS) *~ *.o

#EOF
