/
ScryMUD/mud/
ScryMUD/mud/grrmud/Boards/
ScryMUD/mud/grrmud/Help/
ScryMUD/mud/grrmud/Pfiles/
ScryMUD/mud/grrmud/PlayerSacks/
ScryMUD/mud/grrmud/PlayerShops/
ScryMUD/mud/grrmud/help_filter/
ScryMUD/mud/hegemon/
ScryMUD/mud/hegemon/data/
ScryMUD/mud/hegemon/data/help/battle/
ScryMUD/mud/hegemon/data/help/client/
ScryMUD/mud/hegemon/data/help/communications/
ScryMUD/mud/hegemon/data/help/skills/
ScryMUD/mud/hegemon/data/help/spells/
ScryMUD/mud/include/
ScryMUD/mud/lib/
ScryMUD/mud/lib/bitfield/
ScryMUD/mud/lib/log/
ScryMUD/mud/lib/string2/
# $Id: Makefile,v 1.16.2.5 2000/05/13 19:42:55 greear Exp $
# $Revision: 1.16.2.5 $  $Author: greear $ $Date: 2000/05/13 19:42:55 $

# makefile template
include ../../MakeInclude


CODE_GEN_SRCS = code_gen.cc
CODE_GEN_OBJS = code_gen.o
CODE_GEN_TARG = ./code_gen

AUDIT_SRCS = audit.cc
AUDIT_OBJS = audit.o
AUDIT_TARG = ./audit

GEN_TARGS = lang_strings.h parse_gen.h lang_strings.cc parse_gen.cc

SRCS  = parse_gen.cc lang_strings.cc classes.cc object.cc critter.cc \
Filters.cc room.cc door.cc skills.cc command3.cc \
grrmud.cc commands.cc command2.cc socials.cc spells.cc \
olc.cc load_wld.cc misc.cc misc2.cc parse.cc battle.cc spec_prc.cc \
login.cc command4.cc olc2.cc command5.cc batl_prc.cc spells2.cc \
ez_spll.cc dam_spll.cc trv_spll.cc rm_spll.cc dam_skll.cc wep_skll.cc \
ez_skll.cc social2.cc cr_skll.cc ar_skll.cc pet_spll.cc vehicle.cc \
script.cc SkillSpell.cc zone.cc rm_parse.cc rm_cmds.cc obj_parse.cc \
obj_cmds.cc BugEntry.cc MudStats.cc clients.cc ServerConfig.cc

OBJS = parse_gen.o lang_strings.o classes.o object.o critter.o \
Filters.o room.o door.o skills.o command3.o \
grrmud.o commands.o command2.o socials.o spells.o olc.o \
load_wld.o misc.o misc2.o parse.o battle.o spec_prc.o login.o \
command4.o olc2.o command5.o batl_prc.o spells2.o \
ez_spll.o dam_spll.o trv_spll.o rm_spll.o dam_skll.o wep_skll.o \
ez_skll.o social2.o cr_skll.o ar_skll.o pet_spll.o vehicle.o const.o \
script.o SkillSpell.o zone.o rm_parse.o rm_cmds.o obj_parse.o \
obj_cmds.o BuildInfo.o BugEntry.o MudStats.o clients.o ServerConfig.o

GEN_SPEC = gen_cmds.spec
LANG_SPEC = translations.spec translations_classes.spec translation2.spec \
translation4.spec translation_olc.spec translation_spell.spec \
translation_battle.spec translation_skill.spec translation5.spec

TARG = grrmud                                 #program to be created

all: ${TARG} ${AUDIT_TARG}

${TARG}: libs ${GEN_TARGS} $(OBJS) 
	$(CCC) $(CCFLAGS) $(LDFLAGS) -o ${TARG} $(OBJS) $(LDLIBS)

# This should really depend on libs too, but my libs make is lazy,
# and that causes this to be rebuilt each time.  By making TARG,
# as above, I think libs will be up to date, but you may have to
# specifically re-build the CODE_GEN_TARG if changes to the libs
# would have affected it. --BEN
${CODE_GEN_TARG}: ${CODE_GEN_OBJS}
	$(CCC) $(CCFLAGS) $(LDFLAGS) -o ${CODE_GEN_TARG} $(CODE_GEN_OBJS) $(LDLIBS)

${AUDIT_TARG}: libs ${AUDIT_OBJS}
	$(CCC) $(CCFLAGS) $(LDFLAGS) -o ${AUDIT_TARG} $(AUDIT_OBJS) $(LDLIBS)
	cp ${AUDIT_TARG} ${TOOL_BIN_DIR}/

new_binary: ${TARG}
	rm -f ${MUD_HOME}/grrmud/gmud.new
	cp ${TARG} ${MUD_HOME}/grrmud/gmud.new

$(OBJS): %.o: %.cc %.h
	@echo " "
	@echo "Making $<"
	$(CC) $(CCFLAGS) \
	-c $<

BuildInfo.cc: $(SRCS) Makefile BuildInfo.prefix
	cat BuildInfo.prefix > BuildInfo.cc
	echo "const char* BuildInfo::getBuildMachine() { return \"`uname -mrspn`\"; }" >> BuildInfo.cc
	echo "" >> BuildInfo.cc
	echo "const char* BuildInfo::getBuilder() { return \"`whoami`\"; }" >> BuildInfo.cc
	echo "" >> BuildInfo.cc
	echo "const char* BuildInfo::getBuildDate() { return \"`date`\"; }" >> BuildInfo.cc
	echo "" >> BuildInfo.cc
	echo "const char* BuildInfo::getVersion() { return \"${SCRY_VERSION}\"; }" >> BuildInfo.cc


parse_gen.cc: ${CODE_GEN_TARG} ${GEN_SPEC}
parse_gen.h: ${CODE_GEN_TARG} ${GEN_SPEC}
	${CODE_GEN_TARG} -C ${GEN_SPEC} parse_gen.cc parse_gen.h


lang_strings.cc: ${CODE_GEN_TARG} ${LANG_SPEC}
lang_strings.h: ${CODE_GEN_TARG} ${LANG_SPEC}
	${CODE_GEN_TARG} -L ${LANG_SPEC} lang_strings.cc lang_strings.h


$(CODE_GEN_OBJS): %.o: %.cc %.h
	@echo " "
	@echo "Making $<"
	$(CC) $(CCFLAGS) -c $<

$(AUDIT_OBJS): %.o: %.cc %.h
	@echo " "
	@echo "Making $<"
	$(CC) $(CCFLAGS) -c $<

libs:
	${MAKE} -C ${MUD_HOME}/lib all


depend:
	makedepend $(SRCS)

clean:
	rm -f *.o ${GEN_TARGS} BuildInfo.cc parse_gen.cc parse_gen.h
	rm -f lang_strings.h lang_strings.cc
	${MAKE} -C ../../lib clean

purge: clean
	rm -f *~
	rm -f *.flc
	rm -f ${TARG} ${CODE_GEN_TARG} ${AUDIT_TARG}


#DO NOT DELETE THIS LINE -- make depend depends on it.

# DO NOT DELETE