#
#  Makefile for librtorb.so
#  Copyright(C) 2006, Isao Hara,AIST
#  $Revision: 1.10 $
#  $Date: 2008/06/06 10:14:21 $
#  $Id: Makefile,v 1.10 2008/06/06 10:14:21 yoshi Exp $
#
#
#CFLAG_OS = -DCYGWIN
CFLAG_OS = -DLinux 

CFLAG_DEBUG = -g -O -Wall 
#CFLAG_DEBUG += -DDEBUG
#CFLAG_DEBUG += -DDEBUG_MALLOC 
#CFLAG_DEBUG += -DHASH_DEBUG
#CFLAG_DEBUG += -DDEBUG_GIOP 
#CFLAG_DEBUG = -O -Wall

NAMING_SRCS = CosName/CosNaming-common.c CosName/CosNaming-skels.c CosName/CosNaming-stubs.c CosName/CosNaming-skelimpl.c
NAMING_OBJ = $(NAMING_SRCS:.c=.o)
NAMING_HEADER = CosName/CosNaming.h

#LIBOBJS  = client.o sockserv.o
LIBOBJS  = socket.o pthread.o hashtable.o list.o array.o
LIBOBJS += util.o endian.o allocater.o
LIBOBJS += iop.o giop.o giop-msg.o giop-marshal.o
LIBOBJS += orb.o 
LIBOBJS += corba.o corba-typecode.o corba-exception.o corba-sequence.o corba-any.o
LIBOBJS += poa.o
LIBOBJS += rtorb.o connection.o server_loop.o
LIBOBJS += shmc.o shmcport.o
LIBOBJS += $(NAMING_OBJ)

INCLUDE = -I. -I../include -I./CosName -I./shmc

CFLAGS = -Wall -fpic $(INCLUDE) $(CFLAG_DEBUG) $(CFLAG_OS)
#CFLAGS = -Wall -fpic -g $(INCLUDE) $(CFLAG_DEBUG) $(CFLAG_OS)
CFLAGS += -O2
#CFLAGS = -Wall -fpic $(INCLUDE) $(CFLAG_DEBUG) $(CFLAG_OS)
#DEFINE = -DUSE_SHMC
#DEFINE += -DUSE_THREAD
#DEFINE += -DDEBUG
#DEFINE += -DDEBUG_MALLOC
CFLAGS += $(DEFINE)


LIBORB = libRtORB.so
LIBORB_CPP = libRtORB_cpp.so
NAMING_LIB = libRtORB_CosNaming.so

all: 
	$(MAKE) CosNaming
	$(MAKE) $(LIBORB)
	$(MAKE) libCXX

CosName:
	if [ ! -L CosName ]; then \
		ln -s ../CosName ./; \
	fi;
	
CosNaming: CosName CosName/CosNaming.idl
	cd CosName && $(MAKE) 

libCXX: 
	cd CXX && $(MAKE) "DEFINE=$(DEFINE)" "CC=$(CXX)" "CXX=$(CXX)"
	if [ ! -L $(LIBORB_CPP) ]; then \
		ln -s CXX/$(LIBORB_CPP) ./; \
	fi

$(LIBORB): $(LIBOBJS) $(NAMING_HEADER) $(NAMING_SRCS)
	$(CC) -shared -o $@ $(LIBOBJS) 

clean:
	$(MAKE) -C CXX clean 
	rm -f *~  $(LIBOBJS) 

allclean:
	rm -f *.o *~ $(LIBORB)
	cd CosName && $(MAKE) allclean
	cd CXX && $(MAKE) allclean

