TOPDIR 	=	/afs/athena.mit.edu/contrib/games
LIBDIR	=	${TOPDIR}/lib/mboggle
BINDIR	=	${TOPDIR}/arch/@sys/bin
MANDIR	=	${TOPDIR}/man
MANSCT	=	6
WRDDIR	=	${LIBDIR}/words

CC	=	gcc
CDEBUGFLAGS=	-O2 -funroll-loops
CFLAGS	=	$(CDEBUGFLAGS) -DMBOGGLE_PORT=32254 \
		-DSTARTZEPHYR=\"/usr/athena/bin/zwrite\" \
		-DHESIOD -DSOLARIS -I/usr/athena/include
LDFLAGS	=	-L/usr/athena/lib

TARGETS	= 	mboggle mbogglemaster buildhash checkword

HASHSRC	= 	hash.c commonhash.c
HASHOBJ	= 	hash.o commonhash.o
HASHINC	= 	hash.h

BLDSRC	=	buildhash.c $(HASHSRC)
BLDOBJ	= 	buildhash.o $(HASHOBJ)
BLDINC	= 	$(HASHINC)

SRVSRC	= 	mbogglemaster.c safe_read.c $(HASHSRC)
SRVOBJ	= 	mbogglemaster.o safe_read.o $(HASHOBJ)
SRVINC	= 	boggle.h $(HASHINC)

GAMESRC	= 	boggle.c safe_read.c word_window.c
GAMEOBJ	= 	boggle.o safe_read.o word_window.o
GAMEINC	=	boggle.h

CHKSRC	=	checkword.c $(HASHSRC)
CHKOBJ	=	checkword.o $(HASHOBJ)
CHKINC	= 	$(HASHINC)

#
# for IBM's running AIX
#TERMLIB=	-ltermlib
TERMLIB=	

# Note: "words" not in all target because it takes so long to build
# the words.  Build them by hand when they need to be built, rather
# than allowing them to be built automatically during every "make
# all".
all: $(TARGETS)
	
# Install doesn't include the server because that should be installed
# by hand on a particular machine.
install:  $(TARGETS)
	install -c -s mboggle ${BINDIR}
	install -c -s mbogglemaster ${BINDIR}
	install -c -s checkword ${BINDIR}

word_install:
	-mkdir ${LIBDIR}
	tar cf - words | (cd ${LIBDIR}; tar xvf -)

man_install: mboggle.s
	install -c mboggle.s ${MANDIR}/man${MANSCT}/mboggle.${MANSCT}

depend: $(SRVSRC) $(GAMESRC)
depend: ${SRVINC} ${GAMEINC} $(HASHINC) $(CHKINC) $(BLDINC) Makefile
	makedepend -v ${CFLAGS} -s'# DO NOT DELETE' ${SRVSRC} ${GAMESRC} \
		${HASHSRC} ${BLDSRC} ${CHKSRC}

clean:
	-rm -f *~ *.o $(TARGETS) *.bak

mboggle: ${GAMEOBJ}
	$(CC) ${LDFLAGS} ${GAMEOBJ} -lcurses $(TERMLIB) -lhesiod -lresolv -lnsl -lsocket -o $@

mbogglemaster: ${SRVOBJ}
	$(CC) ${LDFLAGS} ${SRVOBJ} -lhesiod -lresolv -lnsl -lsocket -lc -lucb -o $@

checkword: ${CHKOBJ}
	$(CC) ${LDFLAGS} ${CFLAGS} ${CHKOBJ} -o $@

buildhash: ${BLDOBJ}
	$(CC) ${LDFLAGS} ${BLDOBJ} -lm -o $@ 

words: buildhash makewordfiles
	makewordfiles $(WRDDIR)
	buildhash $(WRDDIR) 4 25

.c.o:
	$(CC) $(CFLAGS) -c $<

# DO NOT DELETE THIS LINE
