# This line is needed on some machines. 
MAKE=make

# Set MUD_LIB to the directory which contains the mud data. Was formerly
# defined in config.h !
MUD_LIB = /mnt/adagio/pub/lib

# Set BINDIR to the directory where you want to install the executables.
BINDIR = /mud/bin

# Specify the interface source files on the ISRC line, and the corresponding
# object files on the IOBJ line.
# NB. interface.c should be edited accordingly.
ISRC= clib/efun.c clib/stdobject.c clib/gl_language.c
IOBJ= clib/efun.o clib/stdobject.o clib/gl_language.o

# Chose one of these mallocs:
# This is the standard malloc for the CD gamedriver. It is quite fast
# and has a very small memory overhead.
MALLOC=bibopmalloc

# This is the old standard mud malloc. It's a bit faster that bibopmalloc
# but uses more memory.
#MALLOC=smalloc

# A variant of smalloc for debug purposes
#MALLOC=debugmalloc
#DEBUG_MALLOC=-DDEBUG_MALLOC

# Gnu malloc, fastest but uses most memory.
#MALLOC=gmalloc
#
# Use the standard malloc on your system:
#MALLOC=sysmalloc

# Lars special malloc for LPmud. Uses little memory, but has an inefficient
# recombination scheme that may slow down the game after long uptimes.
#MALLOC=malloc

# A malloc that will even reclaim memory that has been lost. Can be used to
# searching for lost memory.
#MALLOC=gc


# Define what random number generator to use.
# If no one is specified, a guaranteed bad one will be used.
#
RAND=DRAND48

# If you are on a sysV system you have memmove
#MEMMOVE=-DHAS_MEMMOVE
# If you are on a BSD system you have bcopy instead of memmove
MEMMOVE=

# Select a parser generator among the following:
# The Berkely yacc. Produces the best code. Is available for anonymous ftp.
#YACC=byacc

# Bison from the FSF. Produces good code. Is available for anonymous ftp.
YACC=bison -y

# Standard yacc. Should be available on any Unix system worth its salt.
#YACC=yacc

# If you don't have 'strchr', then add next flag to CFLAGS.
# -Dstrchr=index -Dstrrchr=rindex
#
PROFIL=
#PROFIL=-p -DMARK
#PROFIL=-pg
#Enable warnings from the compiler, if wanted.
WARN=
#WARN= -Wall -Wshadow -Dlint
#
# Enable run time debugging. It will use more time and space.
# When the flag is changed, be sure to recompile everything.
# Simply comment out this line if not wanted.
# If you change anything in the source, you are strongly encouraged to have
# DEBUG defined.
# If you will not change anything, you are still strongly to have it defined,
# as long as the game is not bug free.
DEBUG=
#DEBUG=-DDEBUG
#
#

# System dependent flags
# SunOS 4 gcc
SYS_CFLAGS=-pipe
SYS_OPT=-g -O2
SYS_LIBS=

# SunOS 5 gcc
#SYS_CFLAGS=-pipe -DSOLARIS
#SYS_OPT=-g -O2
#SYS_LIBS=-lsocket -lnsl

# DEC Alpha cc
#SYS_CFLAGS=-std0
#SYS_OPT=-g3 -Olimit 2000 -O
#SYS_LIB=

CFLAGS=  $(SYS_CFLAGS) $(SYS_OPT) -DWORD_WRAP -D$(RAND) -DMALLOC_$(MALLOC) \
 $(WARN) $(PROFIL) $(DEBUG) $(DEBUG_MALLOC) $(MEMMOVE)
CC=gcc 
#
# Add extra libraries here.
#
LIBS= -lm $(SYS_LIBS)
MFLAGS = "BINDIR=$(BINDIR)" "MUD_LIB=$(MUD_LIB)"

driver: DUMMY
	$(MAKE) -f Makefile.distrib "CC=$(CC)" "CFLAGS=$(CFLAGS)" "YACC=$(YACC)" "LIBS=$(LIBS)" "ISRC=$(ISRC)" "IOBJ=$(IOBJ)" "MALLOC=$(MALLOC)" "MUD_LIB=$(MUD_LIB)" "BINDIR=$(BINDIR)" $@

install.utils:
	(cd util; $(MAKE) $(MFLAGS) install)

utils:	
	(cd util; $(MAKE) $(MFLAGS))

clean install depend tags TAGS lint:
	-$(MAKE) -f Makefile.distrib $@

DUMMY: