CC	= g++
INC	= /home/emily/Mud/Posix/
LIBS	= -lpthread

CFLAGS	= -g -Wall

OBJS	= Lang/ScriptEngine.o \
          \
          Mud/Kernel.o Mud/MudThread.o Mud/LocalUserDB.o Mud/ObjectDB.o \
          Mud/UserClient.o Mud/MudListener.o Mud/ServiceClient.o \
          Mud/Logger.o Mud/Cron.o Mud/LogonDB.o \
          \
          Streams/ConsoleStream.o Streams/FileStream.o Streams/Stream.o \
          Streams/StreamBundle.o \
          \
          Base/BaseDB.o Base/Client.o Base/Object.o Base/StringBag.o \
          Base/ListenThread.o Base/ObjectFactory.o Base/Utils.o \
          Base/ObjectBag.o Base/LogonBundle.o \
          \
          Objects/Archway.o Objects/Coord.o Objects/Location.o \
          Objects/MudObject.o Objects/Thing.o Objects/Container.o \
          Objects/Exit.o Objects/Mobile.o Objects/Space.o \
          \
          RPC/Message.o RPC/RPCListener.o RPC/RPCThread.o RPC/RemoteObject.o \
          RPC/MessageReceiver.o \
          \
          TelnetServer/Telnet.o TelnetServer/TelnetListener.o \
          TelnetServer/TelnetThread.o TelnetServer/MessageInterpreter.o \
          TelnetServer/MessageThread.o TelnetServer/TelnetInfo.o \
          \
          Chat/ChatChannel.o Chat/ChatClient.o Chat/ChatDB.o \
          Chat/SayChannel.o Chat/GlobalChannel.o Chat/OOCChannel.o \
          \
          Posix/ClientSocket.o Posix/Listener.o Posix/OSUtils.o \
          Posix/Socket.o Posix/Condition.o Posix/Lock.o Posix/ServerSocket.o \
          Posix/Thread.o \
          \
          Services/ChatServerDB.o Services/ServiceDB.o \
          Services/ServiceThread.o Services/UserListener.o \
          Services/ChatThread.o Services/ServiceListener.o Services/UserDB.o \
          Services/UserThread.o Services/ChatListener.o


all : lan mu str bas obj rpc tel cha pos ser main

lan:
	cd Lang; $(MAKE)

mu:
	cd Mud; $(MAKE)

str:
	cd Streams; $(MAKE)

bas:
	cd Base; $(MAKE)

obj:
	cd Objects; $(MAKE)

rpc:
	cd RPC; $(MAKE)

tel:
	cd TelnetServer; $(MAKE)

cha:
	cd Chat; $(MAKE)

pos:
	cd Posix; $(MAKE)

ser:
	cd Services; $(MAKE)

main:	Main.cc
	$(CC) -I$(INC) $(CFLAGS) $(OBJS) Main.cc $(LIBS) -o mud

clean:
	rm mud Lang/*.o Mud/*.o Streams/*.o Base/*.o Objects/*.o RPC/*.o \
           TelnetServer/*.o Chat/*.o Posix/*.o Services/*.o


