LIBPATH = -L$(HOME)/lib/ 

INCPATH = -I../../../Include

CFLAGS = -xc++ -Wall -Dlinux
#remember -DPO_SSL

LIBOBJECTS = \
	Connection.o ConnectionListener.o ConnectionMessage_Break.o \
	ConnectionMessage_Close.o ConnectionMessage_OpenBack.o \
	ConnectionSender.o ConnectionSocket.o Connection_Dual.o \
	Connection_Mono.o GenericMessage.o Message.o MessageHandler.o \
	MessageStack.o ConnectionManager.o DispatchMessage.o \
	Connection_Local.o ServerSession.o \
	MessageDispatcher.o MessageDispatcherManager.o \
	DispatchMessageHandler.o ServerSessionDefault.o \
	ServerSessionDispatcher.o
		
#  .+-----------------------+.  #
#  +  Generic Compile Rules  +  #
#  `+-----------------------+'  #
#################################

%.lo: ../../../Src/Comm/%.cpp 
	gcc $(CFLAGS) $(INCPATH) -c -o $@ $<

%.o: ../../../Src/Comm/%.cpp
	gcc $(CFLAGS) $(INCPATH) -c -o $@ $<

#################################
#  .+-----------------------+.  #
#  +  Labels                 +  #
#  `+-----------------------+'  #
#################################

ALL: static

shared:  libComm.so

static: libComm.a

clean:
	rm -f *core *.lo *.o
	rm -f ../../../Libraries/Linux/libComm.so
	rm -f ../../../Libraries/Linux/libComm.a

install: shared static
	cp ../../../Libraries/Linux/libComm.so /lib/
	cp ../../../Libraries/Linux/libComm.a /lib/

#################################
#  .+-----------------------+.  #
#  +  Main targets to build  +  #
#  `+-----------------------+'  #
#################################

libComm.so: $(LIBOBJECTS)
	gcc  -shared -o ../../../Libraries/Linux/libComm.so $(LIBOBJECTS)

libComm.a: $(LIBOBJECTS)
	ar -r ../../../Libraries/Linux/libComm.a $(LIBOBJECTS)

