cdirt/ascii/
cdirt/data/BULL/
cdirt/data/ZONES/PENDING/
cdirt/pending/
cdirt/src/utils/
cdirt/utils/
#########################################################
# C-Dirt Makefile  (C) G.Castrataro
#########################################################

# Directory Definitions
#
BIN	= $(ROOTDIR)bin/
DATA	= $(ROOTDIR)data/
ZONE	= $(DATA)ZONES
HDIR	= $(ROOTDIR)include/
XDIR    = $(ROOTDIR)cr_inc/       # crossroads specific files
SDIR    = $(ROOTDIR)specials/     # specials for quests, etc
UTIL	= $(ROOTDIR)utils/
CRDIR   = $(ROOTDIR)cr
UTILDIR = $(ROOTDIR)src/utils
CR      = $(CRDIR)/cr.a

# Target Executables#
MUDD	= aberd.new
GEN	= generate

# Compiler and Compiler Flags
#
# CC      : The C Compiler.
# LDFLAGS : The Linker Flags. NetBSD requires -lcrypt.
# CFLAGS  : C Compiler Flags.
# DFLAGS  : Debug Flags. (-g for GNU Debug Libs) (-DCORE to make MUD dump core)

MAKE            = make
export CC	= gcc
export CFLAGS   = -I$(HDIR) -I$(XDIR) -I$(SDIR) $(COPT)
export LDFLAGS  = $(LDOPT)
export DFLAGS   =

# Extra Defines
#
ECHO	= /bin/echo		# Echo Utility

# Zone File Dependencies
#
ZONES = $(ZONE)/abyss.zone		$(ZONE)/ancient.zone \
	$(ZONE)/arena.zone		$(ZONE)/awiz.zone \
	$(ZONE)/beach.zone		$(ZONE)/blizzard.zone \
	$(ZONE)/caledonia.zone		$(ZONE)/camelot.zone \
	$(ZONE)/castle.zone		$(ZONE)/catacomb.zone \
	$(ZONE)/cave.zone 		$(ZONE)/church.zone \
	$(ZONE)/dgod.zone 		$(ZONE)/eastcoast.zone \
	$(ZONE)/eforest.zone 		$(ZONE)/evolution.zone \
	$(ZONE)/fairybook.zone 		$(ZONE)/fairytale.zone \
	$(ZONE)/fantasy.zone 		$(ZONE)/fareast.zone \
	$(ZONE)/forest.zone 		$(ZONE)/frobozz.zone \
	$(ZONE)/god.zone 		$(ZONE)/grove.zone \
	$(ZONE)/hick.zone 		$(ZONE)/home.zone \
	$(ZONE)/icecave.zone 		$(ZONE)/island.zone \
	$(ZONE)/ist.zone 		$(ZONE)/labyrinth.zone \
	$(ZONE)/ledge.zone 		$(ZONE)/marriage.zone \
	$(ZONE)/moor.zone 		$(ZONE)/mountain.zone \
	$(ZONE)/nibelung.zone		$(ZONE)/oaktree.zone \
	$(ZONE)/orchold.zone		$(ZONE)/pirate.zone \
	$(ZONE)/quarry.zone		$(ZONE)/rainforest.zone \
	$(ZONE)/ruins.zone		$(ZONE)/sea.zone \
	$(ZONE)/shalafi.zone		$(ZONE)/sherwood.zone \
	$(ZONE)/talon.zone		$(ZONE)/thyrannen.zone \
	$(ZONE)/tower.zone		$(ZONE)/treehouse.zone \
	$(ZONE)/valley.zone		$(ZONE)/village.zone \
	$(ZONE)/volcano.zone		$(ZONE)/waste.zone \
	$(ZONE)/wiz.zone		$(ZONE)/zodiac.zone \
	$(ZONE)/xlimbo.zone 		$(ZONE)/files \
	$(ZONE)/crystalcave.zone	$(ZONE)/pyramid.zone

# MUD Daemon Dependencies
#
MUDDOBJS = parse.o ban.o acct.o bootstrap.o change.o \
	   clone.o commands.o exit.o group.o \
	   flags.o frob.o log.o magic.o main.o mobile.o god.o \
	   move.o mud.o objsys.o rooms.o sendsys.o \
	   timing.o update.o utils.o viewcom.o wizard.o wizlist.o \
	   writer.o zones.o quests.o spell.o puff.o comm.o \

# Generator Depends
#
GENOBS = generate.o mkdata.o utils.o

# Make Targets
#
all:	gen cr mudd utilsrc
gen:    $(BIN)$(GEN)
reg:	clean all
mudd:	$(BIN)$(MUDD)

# Make OverWrite
#
ow:	all
	@echo Overwriting "stable" binary!
	@cd $(BIN);cp -f $(MUDD) aberd

# Clean up
#
clean:
	@rm -f errlist *.o *~ \#* Makefile.old
	@rm -f $(CRDIR)/*.o $(CRDIR)/*~ $(CRDIR)/cr.a $(CRDIR)/core 
	@rm -f $(CRDIR)/\#*
	@rm -f $(HDIR)*~ $(HDIR)\#* $(HDIR)core
	@rm -f $(HDIR)locations.h 
	@rm -f $(HDIR)verbs.h 
	@rm -f $(HDIR)objects.h
	@rm -f $(HDIR)mobiles.h
	@touch $(HDIR)locations.h
	@touch $(HDIR)verbs.h
	@touch $(HDIR)objects.h
	@touch $(HDIR)mobiles.h
	@rm -f $(UTILDIR)/*~ $(UTILDIR)/\#* $(UTILDIR)/*.o $(UTILDIR)/core
	@rm -f $(DATA)*~ $(DATA)core $(DATA)\#* $(DATA)TMP/*
	@rm -f $(DATA)verbs $(DATA)locations $(DATA)mobiles
	@rm -f $(DATA)objects $(DATA)zones $(DATA)core
	@rm -f $(BIN)* $(ROOTDIR).*~

distro:	clean
	@rm -f $(DATA)syslog $(DATA)csyslog
	@rm -f $(DATA)players/[A-Z]/* $(DATA)CRASHES/*
	@rm -f $(DATA)DESC/* $(DATA)LOGS/* $(DATA)WALL/*
	@rm -f $(DATA)WIZ_ZONES/* $(DATA)XRMAIL/* $(DATA)XRVOTE/*
	@rm -f $(DATA)wizlist $(DATA)banned_* $(DATA)mkdata.log
	@rm -f $(DATA)monitor_hosts
	@rm -f $(ROOTDIR)server.log $(ROOTDIR)#* $(ROOTDIR)*~
	@rm -f $(ROOTDIR).config.mkfile $(ROOTDIR).config.pri
	@rm -f $(ROOTDIR).config.mkfile.tmp $(ROOTDIR).config.pri.tmp
	@rm -f $(ROOTDIR).config
	@rm -f $(HDIR)MACHINE.H $(HDIR)config.h

# Generate dependencies
#
depend:
	@../utils/makedep

# Generator (gen) Target
#

$(BIN)$(GEN): $(GENOBS)
	@$(ECHO) 'Linking Generator...'
	@$(CC) -o $(BIN)$(GEN) $(LDFLAGS) $(DFLAGS) $(GENOBS)

	@$(ECHO) 'Generating World Files...'
	@$(BIN)$(GEN) -q data $(ZONE)/files
	@$(ECHO) 'Generating Verb Files...'
	@$(BIN)$(GEN) verbs $(DATA)verbs.src $(DATA)verbs $(HDIR)verbs.h

# Crossroads archive
cr:
	@$(ECHO) 'Building Crossroads archive...'
	@$(MAKE) -C $(CRDIR)

# Build all Utils
utilsrc:
	@$(ECHO) 'Building Utilities...'
	@$(MAKE) -C $(UTILDIR)

# MUD Daemon
$(BIN)$(MUDD): $(MUDDOBJS) $(CR)
	@$(ECHO) 'Linking MUD Daemon...'
	@$(CC) -o $(BIN)$(MUDD) $(LDFLAGS) $(DFLAGS) $(MUDDOBJS) $(CR) $(LDFLAGS)

.c.o:
	@$(ECHO) 'Compiling $*.c...'
	@$(CC) -c $(CFLAGS) $(DFLAGS) $*.c

# Verbs Dependencies
#
$(HDIR)verbs.h $(DATA)verbs: $(BIN)$(GEN) $(DATA)verbs.src
	@$(ECHO) 'Generating Verb Files...'
	@$(BIN)$(GEN) verbs $(DATA)/verbs.src $(DATA)/verbs $(HDIR)verbs.h

# MUD World Dependencies
#
$(HDIR)locations.h $(HDIR)mobiles.h $(HDIR)objects.h \
$(DATA)/locations $(DATA)/mobiles $(DATA)/objects: $(BIN)$(GEN) $(ZONES)
	@$(ECHO) 'Generating World Files...'
	@$(BIN)$(GEN) data $(ZONE)/files

#############################################################
# Do not delete this line, the makedep program requires it. #
# Last Updated: Mon Dec 1 01:58:38 MST 1997                #
#############################################################

# Dependencies for the MUD source code
#