# Makefile for ace

include ../Makefile.config

ifeq ($(SHOBJ),YES)
OBJTYPE = .shobj/$(TARGETDIR)
else
OBJTYPE = .obj/$(TARGETDIR)
endif

ifeq ($(XTRAOBJS), YES)
XOBJS = 
else
XOBJS = 
endif

ifeq ($(TARGET), vxworks)
OBJS = $(OBJTYPE)/ACE.o \
	$(OBJTYPE)/Addr.o \
	$(OBJTYPE)/ARGV.o \
	$(OBJTYPE)/Event_Handler.o \
	$(OBJTYPE)/Handle_Set.o \
	$(OBJTYPE)/High_Res_Timer.o \
	$(OBJTYPE)/INET_Addr.o \
	$(OBJTYPE)/IPC_SAP.o \
	$(OBJTYPE)/OS.o \
	$(OBJTYPE)/Reactor.o \
	$(OBJTYPE)/Signal.o \
	$(OBJTYPE)/SOCK.o \
	$(OBJTYPE)/SOCK_Acceptor.o \
	$(OBJTYPE)/SOCK_CODgram.o \
	$(OBJTYPE)/SOCK_Connector.o \
	$(OBJTYPE)/SOCK_Dgram.o \
	$(OBJTYPE)/SOCK_Dgram_Bcast.o \
	$(OBJTYPE)/SOCK_IO.o \
	$(OBJTYPE)/SOCK_Stream.o \
	$(OBJTYPE)/Time_Value.o \
	$(OBJTYPE)/Timer_Queue.o \
	$(OBJTYPE)/Trace.o \
	$(OBJTYPE)/reactorTimer.o \
	$(OBJTYPE)/reactorTimerRep.o

else
OBJS = $(OBJTYPE)/ACE.o \
	$(OBJTYPE)/Addr.o \
	$(OBJTYPE)/ARGV.o \
	$(OBJTYPE)/Date_Time.o \
	$(OBJTYPE)/Event_Handler.o \
	$(OBJTYPE)/FIFO.o \
	$(OBJTYPE)/FIFO_Recv.o \
	$(OBJTYPE)/FIFO_Recv_Msg.o \
	$(OBJTYPE)/FIFO_Send.o \
	$(OBJTYPE)/FIFO_Send_Msg.o \
	$(OBJTYPE)/FILE.o \
	$(OBJTYPE)/FILE_Addr.o \
	$(OBJTYPE)/FILE_Connector.o \
	$(OBJTYPE)/FILE_IO.o \
	$(OBJTYPE)/Get_Opt.o \
	$(OBJTYPE)/Handle_Set.o \
	$(OBJTYPE)/High_Res_Timer.o \
	$(OBJTYPE)/INET_Addr.o \
	$(OBJTYPE)/IO_SAP.o \
	$(OBJTYPE)/IPC_SAP.o \
	$(OBJTYPE)/LSOCK.o \
	$(OBJTYPE)/LSOCK_Acceptor.o \
	$(OBJTYPE)/LSOCK_CODgram.o \
	$(OBJTYPE)/LSOCK_Connector.o \
	$(OBJTYPE)/LSOCK_Dgram.o \
	$(OBJTYPE)/LSOCK_Stream.o \
	$(OBJTYPE)/OS.o \
	$(OBJTYPE)/Profile_Timer.o \
	$(OBJTYPE)/Reactor.o \
	$(OBJTYPE)/Signal.o \
	$(OBJTYPE)/SOCK.o \
	$(OBJTYPE)/SOCK_Acceptor.o \
	$(OBJTYPE)/SOCK_CODgram.o \
	$(OBJTYPE)/SOCK_Connector.o \
	$(OBJTYPE)/SOCK_Dgram.o \
	$(OBJTYPE)/SOCK_Dgram_Bcast.o \
	$(OBJTYPE)/SOCK_IO.o \
	$(OBJTYPE)/SOCK_Dgram_Mcast.o \
	$(OBJTYPE)/SOCK_Stream.o \
	$(OBJTYPE)/SV_Message.o \
	$(OBJTYPE)/SV_Message_Queue.o \
	$(OBJTYPE)/SV_Semaphore_Complex.o \
	$(OBJTYPE)/SV_Semaphore_Simple.o \
	$(OBJTYPE)/SV_Shared_Memory.o \
	$(OBJTYPE)/Synch.o \
	$(OBJTYPE)/Synch_Options.o \
	$(OBJTYPE)/Thread.o \
	$(OBJTYPE)/Thread_Manager.o \
	$(OBJTYPE)/Time_Value.o \
	$(OBJTYPE)/Timer_Queue.o \
	$(OBJTYPE)/Token.o \
	$(OBJTYPE)/UNIX_Addr.o \
	$(OBJTYPE)/reactorTimer.o \
	$(OBJTYPE)/reactorTimerRep.o
endif

targets: lnkconfig $(OBJTYPE) $(SACE_LIB) copylib

lnkconfig:
	@rm -f config.h
	@ln -s $(ACECONFIGF) config.h

$(OBJTYPE):
	mkdir -p $(OBJTYPE)

$(SACE_LIB): $(OBJS)
	rm -f $@
	$(MAKELIB) $@ $(OBJS) $(XOBJS)
	$(RANLIB) $@

copylib:$(SACE_LIB)
	if test ! -d $(LIBDIR); then mkdir -p $(LIBDIR); else echo; fi
	mv $(SACE_LIB) $(LIBDIR)	
	

clean:
	rm -rf *.o *.a *.so *~ .obj .shobj core


