CC	= g++
CFLAGS	= -g -Wall
INC	=
LIBS	=
OBJS	= AberchatClient.o Assembler.o ClassDB.o ClientSocket.o EmailClient.o \
          Environment.o HumlCompiler.o Kernel.o Library.o ListenSocket.o \
          LogonDB.o MudClass.o MudMethod.o MudObject.o MudVariable.o \
          NameClient.o NameService.o ObjectDB.o Opcode.o OSUtils.o Peers.o \
          Processor.o Registry.o ServerSocket.o SocketDB.o StringBag.o \
          Syslog.o TelnetService.o Translated.o UniqueId.o Utils.o Varlist.o \
          VirtualMachine.o

target : Mud

Mud: $(OBJS) Mud.cc
	$(CC) -I$(INC) $(CFLAGS) $(OBJS) Mud.cc $(LIBS) -o Mud

AberchatClient.o : AberchatClient.h AberchatClient.cc
	$(CC) -I$(INC) $(CFLAGS) -c AberchatClient.cc

Assembler.o : Assembler.h Assembler.cc
	$(CC) -I$(INC) $(CFLAGS) -c Assembler.cc

ClassDB.o : ClassDB.h ClassDB.cc
	$(CC) -I$(INC) $(CFLAGS) -c ClassDB.cc

ClientSocket.o : ClientSocket.h ClientSocket.cc
	$(CC) -I$(INC) $(CFLAGS) -c ClientSocket.cc

EmailClient.o : EmailClient.h EmailClient.cc
	$(CC) -I$(INC) $(CFLAGS) -c EmailClient.cc

Environment.o : Environment.h Environment.cc
	$(CC) -I$(INC) $(CFLAGS) -c Environment.cc

HumlCompiler.o : HumlCompiler.h HumlCompiler.cc lex.yy.c
	$(CC) -I$(INC) $(CFLAGS) -c HumlCompiler.cc

Kernel.o : Kernel.h Kernel.cc
	$(CC) -I$(INC) $(CFLAGS) -c Kernel.cc

Library.o : Library.h Library.cc
	$(CC) -I$(INC) $(CFLAGS) -c Library.cc

ListenSocket.o : ListenSocket.h ListenSocket.cc
	$(CC) -I$(INC) $(CFLAGS) -c ListenSocket.cc

LogonDB.o : LogonDB.h LogonDB.cc
	$(CC) -I$(INC) $(CFLAGS) -c LogonDB.cc

MudClass.o : MudClass.h MudClass.cc
	$(CC) -I$(INC) $(CFLAGS) -c MudClass.cc

MudMethod.o : MudMethod.h MudMethod.cc
	$(CC) -I$(INC) $(CFLAGS) -c MudMethod.cc

MudObject.o : MudObject.h MudObject.cc
	$(CC) -I$(INC) $(CFLAGS) -c MudObject.cc

MudVariable.o : MudVariable.h MudVariable.cc
	$(CC) -I$(INC) $(CFLAGS) -c MudVariable.cc

NameClient.o : NameClient.h NameClient.cc
	$(CC) -I$(INC) $(CFLAGS) -c NameClient.cc

NameService.o : NameService.h NameService.cc
	$(CC) -I$(INC) $(CFLAGS) -c NameService.cc

ObjectDB.o : ObjectDB.h ObjectDB.cc
	$(CC) -I$(INC) $(CFLAGS) -c ObjectDB.cc

Opcode.o : Opcode.h Opcode.cc
	$(CC) -I$(INC) $(CFLAGS) -c Opcode.cc

OSUtils.o : OSUtils.h OSUtils.cc
	$(CC) -I$(INC) $(CFLAGS) -c OSUtils.cc

Peers.o : Peers.h Peers.cc
	$(CC) -I$(INC) $(CFLAGS) -c Peers.cc

Processor.o : Processor.h Processor.cc
	$(CC) -I$(INC) $(CFLAGS) -c Processor.cc

Registry.o : Registry.h Registry.cc
	$(CC) -I$(INC) $(CFLAGS) -c Registry.cc

ServerSocket.o : ServerSocket.h ServerSocket.cc
	$(CC) -I$(INC) $(CFLAGS) -c ServerSocket.cc

SocketDB.o : SocketDB.h SocketDB.cc
	$(CC) -I$(INC) $(CFLAGS) -c SocketDB.cc

StringBag.o : StringBag.h StringBag.cc
	$(CC) -I$(INC) $(CFLAGS) -c StringBag.cc

Syslog.o : Syslog.h Syslog.cc
	$(CC) -I$(INC) $(CFLAGS) -c Syslog.cc

TelnetService.o : TelnetService.h TelnetService.cc
	$(CC) -I$(INC) $(CFLAGS) -c TelnetService.cc

Translated.o : Translated.h Translated.cc trans/Avatar.tcc
	$(CC) -I$(INC) $(CFLAGS) -c Translated.cc

UniqueId.o : UniqueId.h UniqueId.cc
	$(CC) -I$(INC) $(CFLAGS) -c UniqueId.cc

Utils.o : Utils.h Utils.cc
	$(CC) -I$(INC) $(CFLAGS) -c Utils.cc

Varlist.o : Varlist.h Varlist.cc
	$(CC) -I$(INC) $(CFLAGS) -c Varlist.cc

VirtualMachine.o : VirtualMachine.h VirtualMachine.cc
	$(CC) -I$(INC) $(CFLAGS) -c VirtualMachine.cc

clean:

	rm Mud *.o

reallyclean:

	rm Mud *.o *~ asm/*~ classes/*~ backup/*~ objects/*~ logs/*~ \
	lib/*~ src/*~ trans/*~ data/*~ core



