#!/bin/make -f
# Whatever compiler you user, it **MUST** be able to grok ANSI C.

# Generic systems using GCC:
# Don't use -O2 on gcc version 2.2 or below.  In fact, don't use 2.2 at all.
CC= gcc
CCFLAGS= -g -pipe -W -Wreturn-type -Wunused -Wcomment -Wswitch -Wformat

# Generic systems using CC:
# Stardent users should add the -43 flag below.
#CC= cc
#CCFLAGS= -O

RM= -rm -f
MV= mv -f
ROOT= ..
MAKE= make
LINT= lint
MKTAGS= ctags
MKDEPEND= makedepend
INCLUDE= ${ROOT}/include
SRC_PREFIX=
DEFS=
CFLAGS= ${CCFLAGS} ${DEFS} -I${INCLUDE}

# Destination for binaries
DEST=${ROOT}

##########################################################################
#            You should not have to change anything below here           #
##########################################################################

MISCSRC= Makefile

CSRC= db.c help.c interface.c log.c game.c remote.c stringutil.c udp.c\
      wiz.c wild.c clilib.c

COBJ= db.o help.o interface.o log.o game.o remote.o stringutil.o udp.o\
      wiz.o wild.o clilib.o

COMSRC= common.c
COMOBJ= common.o

DICSRC= dict.c
DICOBJ= dict.o

GEOSRC= geo.c
GEOOBJ= geo.o

MJRSRC= mjrwho.c
MJROBJ= mjrwho.o

LSRC= copyright.c
LOBJ= copyright.o

SRC= ${MISCSRC} ${CSRC} ${LSRC} ${MSRC} ${COMSRC}
OBJ= ${COBJ} ${LOBJ} ${MOBJ} ${COMOBJ}


TARGETS= mudlink dict mjrwho

.c.o:
	${CC} ${CFLAGS} -c $*.c

install: mudlink dict mjrwho geo

mudlink: ${P} ${REGLIB} ${COBJ} ${LOBJ} ${COMOBJ}
	${RM} mudlink mudlink~
	${CC} ${CFLAGS} -o mudlink ${COBJ} ${LOBJ} ${COMOBJ} ${LIBS}
	${MV} mudlink ${DEST}

dict: ${P} ${REGLIB} ${COMOBJ} ${DICOBJ} ${LOBJ}
	${RM} dict dict~
	${CC} ${CFLAGS} -o dict ${DICOBJ} ${COMOBJ} ${LOBJ} ${LIBS}
	${MV} dict ${DEST}

mjrwho: ${P} ${REGLIB} ${COMOBJ} ${MJROBJ} ${LOBJ}
	${RM} mjrwho mjrwho~
	${CC} ${CFLAGS} -o mjrwho ${MJROBJ} ${COMOBJ} ${LOBJ} ${LIBS}
	${MV} mjrwho ${DEST}

geo: ${P} ${REGLIB} ${COMOBJ} ${GEOOBJ} ${LOBJ}
	${RM} geo geo~
	${CC} ${CFLAGS} -o geo ${GEOOBJ} ${COMOBJ} ${LOBJ} ${LIBS}
	${MV} geo ${DEST}

all:    ${TARGETS} tags

tags: ${CSRC} ${MSRC}
	${MKTAGS} ${CSRC} ${MSRC} ${MJRSRC} ${DICSRC} ${GEOSRC}

lint:   ${CSRC} ${MSRC}
	${LINT} ${LINTFLAGS} ${CSRC} ${MSRC} ${MJRSRC} ${DICSRC} ${GEOSRC}

${SRC}:
	${GET} $@

sources: ${SRC}

names:
	@for i in ${SRC}; do echo ${SRC_PREFIX}$$i; done

depend:
	${MKDEPEND} -- ${CFLAGS} -- ${CSRC} ${MSRC} ${LSRC} ${MJRSRC} \
${DICSRC} ${GEOSRC}
	echo chmod -w Makefile
	chmod -w Makefile

clean: Makefile
	${RM} ${OBJ} ${COMOBJ} ${MJROBJ} ${DICOBJ} ${GEOOBJ} core \
mudlink dict tags mjrwho

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