# Makefile
#
# MUD++ generic Makefile
# As long as you built the g++ compiler in the gcc package
# then MUD++ will link without libg++/libstdc++ since everything
# is coded from scratch in MUD++, including primitive IOStream classes.
# If compiling with c++/g++ gives you problems, change CXX to 'gcc'

SHELL = /bin/sh
.SUFFIXES:
.SUFFIXES: .o .cc

SRCDIR = @srcdir@
CXX = @CXX@
CXXFLAGS = @CXXFLAGS@
L_FLAGS = -L/usr/lib -L/usr/local/lib @LIBS@ -lm

O_FILES = affect.o area.o\
	char.o char_act.o char_combat.o combat.o\
	editarea.o editnpc.o editobj.o editroom.o edittext.o env.o\
	file.o help.o index.o indexable.o io.o\
	llist.o main.o nameable.o nanny.o npc.o\
	object.o pc.o pc_act.o pc_combat.o pc_info.o pc_olc.o pc_wiz.o\
	pulse.o random.o repop.o room.o\
	server.o shop.o socket.o spell.o string.o thing.o utils.o

default:
	$(MAKE) mud++
mud++: $(O_FILES)
	$(CXX) -o mud++ $(O_FILES) $(L_FLAGS)
clean:
	rm -f core *.o mud++


# Dependencies

affect.o: affect.cc bit.h affect.h llist.h file.h io.h config.h \
 streamable.h string.h /usr/include/signal.h spell.h thing.h \
 nameable.h
	$(CXX) -c $(CXXFLAGS) affect.cc
area.o: area.cc io.h config.h string.h /usr/include/signal.h llist.h \
 indexable.h index.h room.h file.h vector.h nameable.h streamable.h \
 exit.h bit.h area.h affect.h combat.h object.h thing.h npc.h char.h \
 pc.h socket.h server.h edit.h shop.h
	$(CXX) -c $(CXXFLAGS) area.cc
char.o: char.cc config.h io.h string.h /usr/include/signal.h llist.h \
 indexable.h index.h room.h file.h vector.h nameable.h streamable.h \
 exit.h bit.h affect.h spell.h thing.h char.h object.h combat.h \
 global.h
	$(CXX) -c $(CXXFLAGS) char.cc
char_act.o: char_act.cc string.h io.h config.h /usr/include/signal.h \
 llist.h index.h indexable.h room.h file.h vector.h nameable.h \
 streamable.h exit.h bit.h char.h thing.h object.h combat.h
	$(CXX) -c $(CXXFLAGS) char_act.cc
char_combat.o: char_combat.cc config.h bit.h io.h string.h \
 /usr/include/signal.h llist.h indexable.h index.h room.h file.h \
 vector.h nameable.h streamable.h exit.h random.h combat.h char.h \
 thing.h object.h global.h
	$(CXX) -c $(CXXFLAGS) char_combat.cc
combat.o: combat.cc config.h bit.h combat.h
	$(CXX) -c $(CXXFLAGS) combat.cc
editarea.o: editarea.cc string.h io.h config.h /usr/include/signal.h \
 llist.h index.h room.h file.h vector.h nameable.h streamable.h exit.h \
 bit.h indexable.h server.h socket.h area.h affect.h combat.h object.h \
 thing.h npc.h char.h edit.h  pc.h global.h
	$(CXX) -c $(CXXFLAGS) editarea.cc
editnpc.o: editnpc.cc string.h io.h config.h /usr/include/signal.h \
 llist.h index.h room.h file.h vector.h nameable.h streamable.h exit.h \
 bit.h indexable.h server.h socket.h edit.h  pc.h char.h \
 thing.h object.h combat.h
	$(CXX) -c $(CXXFLAGS) editnpc.cc
editobj.o: editobj.cc string.h io.h config.h /usr/include/signal.h \
 llist.h index.h indexable.h server.h socket.h bit.h spell.h thing.h \
 nameable.h file.h edit.h room.h vector.h streamable.h exit.h  \
 pc.h char.h object.h combat.h
	$(CXX) -c $(CXXFLAGS) editobj.cc
editroom.o: editroom.cc string.h io.h config.h /usr/include/signal.h \
 llist.h index.h room.h file.h vector.h nameable.h streamable.h exit.h \
 bit.h indexable.h server.h socket.h edit.h  pc.h char.h \
 thing.h object.h combat.h area.h affect.h npc.h global.h
	$(CXX) -c $(CXXFLAGS) editroom.cc
edittext.o: edittext.cc string.h io.h config.h /usr/include/signal.h \
 llist.h index.h room.h file.h vector.h nameable.h streamable.h exit.h \
 bit.h indexable.h server.h socket.h edit.h  pc.h char.h \
 thing.h object.h combat.h
	$(CXX) -c $(CXXFLAGS) edittext.cc
env.o: env.cc llist.h pc.h bit.h socket.h config.h server.h char.h \
 thing.h string.h io.h nameable.h file.h streamable.h object.h \
 combat.h edit.h index.h indexable.h room.h vector.h exit.h  \
 screen.h env.h random.h global.h
	$(CXX) -c $(CXXFLAGS) env.cc
file.o: file.cc file.h io.h config.h
	$(CXX) -c $(CXXFLAGS) file.cc
help.o: help.cc file.h io.h config.h string.h /usr/include/signal.h \
 llist.h help.h nameable.h streamable.h
	$(CXX) -c $(CXXFLAGS) help.cc
index.o: index.cc string.h io.h config.h /usr/include/signal.h index.h
	$(CXX) -c $(CXXFLAGS) index.cc
indexable.o: indexable.cc indexable.h string.h io.h config.h \
 /usr/include/signal.h index.h llist.h room.h file.h vector.h \
 nameable.h streamable.h exit.h bit.h area.h affect.h combat.h \
 object.h thing.h npc.h char.h
	$(CXX) -c $(CXXFLAGS) indexable.cc
io.o: io.cc io.h config.h
	$(CXX) -c $(CXXFLAGS) io.cc
llist.o: llist.cc llist.h indexable.h string.h io.h config.h \
 /usr/include/signal.h index.h room.h file.h vector.h nameable.h \
 streamable.h exit.h bit.h repop.h thing.h area.h affect.h combat.h \
 object.h npc.h char.h
	$(CXX) -c $(CXXFLAGS) llist.cc
main.o: main.cc io.h config.h string.h /usr/include/signal.h server.h \
 socket.h room.h file.h llist.h vector.h nameable.h streamable.h \
 exit.h index.h bit.h indexable.h area.h affect.h combat.h object.h \
 thing.h npc.h char.h edit.h  pc.h help.h env.h random.h \
 global.h
	$(CXX) -c $(CXXFLAGS) main.cc
nameable.o: nameable.cc nameable.h string.h io.h config.h \
 /usr/include/signal.h
	$(CXX) -c $(CXXFLAGS) nameable.cc
nanny.o: nanny.cc string.h io.h config.h /usr/include/signal.h llist.h \
 server.h socket.h screen.h room.h file.h vector.h nameable.h \
 streamable.h exit.h index.h bit.h pc.h char.h thing.h object.h \
 combat.h edit.h indexable.h  global.h
	$(CXX) -c $(CXXFLAGS) nanny.cc
npc.o: npc.cc string.h io.h config.h /usr/include/signal.h llist.h \
 room.h file.h vector.h nameable.h streamable.h exit.h index.h bit.h \
 indexable.h repop.h thing.h area.h affect.h combat.h object.h npc.h \
 char.h global.h
	$(CXX) -c $(CXXFLAGS) npc.cc
object.o: object.cc io.h config.h string.h /usr/include/signal.h \
 index.h indexable.h llist.h room.h file.h vector.h nameable.h \
 streamable.h exit.h bit.h repop.h thing.h spell.h affect.h combat.h \
 char.h object.h area.h npc.h global.h
	$(CXX) -c $(CXXFLAGS) object.cc
pc.o: pc.cc string.h io.h config.h /usr/include/signal.h llist.h \
 indexable.h index.h server.h socket.h room.h file.h vector.h \
 nameable.h streamable.h exit.h bit.h affect.h screen.h npc.h char.h \
 thing.h object.h combat.h pc.h edit.h  global.h
	$(CXX) -c $(CXXFLAGS) pc.cc
pc_act.o: pc_act.cc string.h io.h config.h /usr/include/signal.h \
 llist.h indexable.h index.h server.h socket.h room.h file.h vector.h \
 nameable.h streamable.h exit.h bit.h spell.h thing.h pc.h char.h \
 object.h combat.h edit.h  global.h
	$(CXX) -c $(CXXFLAGS) pc_act.cc
pc_combat.o: pc_combat.cc string.h io.h config.h /usr/include/signal.h \
 llist.h room.h file.h vector.h nameable.h streamable.h exit.h index.h \
 bit.h random.h combat.h pc.h socket.h server.h char.h thing.h \
 object.h edit.h indexable.h  global.h
	$(CXX) -c $(CXXFLAGS) pc_combat.cc
pc_info.o: pc_info.cc string.h io.h config.h /usr/include/signal.h \
 llist.h indexable.h index.h room.h file.h vector.h nameable.h \
 streamable.h exit.h bit.h server.h socket.h area.h affect.h combat.h \
 object.h thing.h npc.h char.h help.h screen.h env.h random.h spell.h \
 pc.h edit.h  global.h
	$(CXX) -c $(CXXFLAGS) pc_info.cc
pc_olc.o: pc_olc.cc string.h io.h config.h /usr/include/signal.h \
 llist.h room.h file.h vector.h nameable.h streamable.h exit.h index.h \
 bit.h repop.h thing.h indexable.h server.h socket.h area.h affect.h \
 combat.h object.h npc.h char.h edit.h  pc.h global.h
	$(CXX) -c $(CXXFLAGS) pc_olc.cc
pc_wiz.o: pc_wiz.cc string.h io.h config.h /usr/include/signal.h \
 llist.h room.h file.h vector.h nameable.h streamable.h exit.h index.h \
 bit.h repop.h thing.h indexable.h server.h socket.h area.h affect.h \
 combat.h object.h npc.h char.h screen.h pc.h edit.h  global.h
	$(CXX) -c $(CXXFLAGS) pc_wiz.cc
pulse.o: pulse.cc string.h io.h config.h /usr/include/signal.h llist.h \
 room.h file.h vector.h nameable.h streamable.h exit.h index.h bit.h \
 indexable.h area.h affect.h combat.h object.h thing.h npc.h char.h \
 pc.h socket.h server.h edit.h  env.h random.h global.h
	$(CXX) -c $(CXXFLAGS) pulse.cc
random.o: random.cc random.h
	$(CXX) -c $(CXXFLAGS) random.cc
repop.o: repop.cc string.h io.h config.h /usr/include/signal.h \
 indexable.h index.h llist.h file.h repop.h thing.h bit.h nameable.h \
 global.h
	$(CXX) -c $(CXXFLAGS) repop.cc
room.o: room.cc file.h io.h config.h string.h /usr/include/signal.h \
 llist.h description.h nameable.h repop.h thing.h bit.h index.h \
 indexable.h server.h socket.h area.h affect.h streamable.h vector.h \
 combat.h room.h exit.h object.h npc.h char.h shop.h global.h
	$(CXX) -c $(CXXFLAGS) room.cc
server.o: server.cc server.h socket.h config.h
	$(CXX) -c $(CXXFLAGS) server.cc
shop.o: shop.cc file.h io.h config.h string.h /usr/include/signal.h \
 llist.h shop.h index.h npc.h char.h thing.h bit.h nameable.h \
 streamable.h object.h combat.h global.h
	$(CXX) -c $(CXXFLAGS) shop.cc
socket.o: socket.cc socket.h config.h
	$(CXX) -c $(CXXFLAGS) socket.cc
spell.o: spell.cc string.h io.h config.h /usr/include/signal.h llist.h \
 room.h file.h vector.h nameable.h streamable.h exit.h index.h bit.h \
 char.h thing.h object.h combat.h affect.h spell.h
	$(CXX) -c $(CXXFLAGS) spell.cc
string.o: string.cc io.h config.h ./string.h ./io.h \
 /usr/include/signal.h
	$(CXX) -c $(CXXFLAGS) string.cc
thing.o: thing.cc file.h io.h config.h string.h /usr/include/signal.h \
 index.h llist.h thing.h bit.h nameable.h
	$(CXX) -c $(CXXFLAGS) thing.cc
utils.o: utils.cc string.h io.h config.h /usr/include/signal.h llist.h \
 indexable.h index.h room.h file.h vector.h nameable.h streamable.h \
 exit.h bit.h object.h thing.h npc.h char.h combat.h pc.h socket.h \
 server.h edit.h  global.h
	$(CXX) -c $(CXXFLAGS) utils.cc