home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-387-Vol-3of3.iso
/
t
/
toaster.zip
/
Compat
/
Makefile
< prev
next >
Wrap
Makefile
|
1992-03-31
|
7KB
|
265 lines
# This line is needed on some machines.
MAKE=make
#
# Uncomment the next line if you are on a NeXT machine
#NEXT=-DNeXT -bsd
#
# Choose one of the following for your lexical analyzer
#
# This one is the old one that uses the C preprocessor. uses .i files
#
#LEXICAL=lexical
#
# This one is faster, but can't handle complex #if's
#
LEXICAL=lex
#
# Chose one of these mallocs.
# This malloc is based on Lars', but faster. It was written by
# Satoria, of Darker Realms
#
MALLOC=smalloc
#
# Gnu malloc, fastest but uses most memory.
#
#MALLOC=gmalloc
#
# Boehm-Demers Garbage Collecting malloc package.
#
#MALLOC=gcmalloc
#
# Lars special malloc for LPmud. Uses least memory, but has an inefficient
# recombination scheme that may slow down the game after long uptimes.
#
#MALLOC=malloc
#
# Use this "malloc" package if you are on a NeXT, or want to use the
# system malloc. sysmalloc.c is an empty file.
#
#MALLOC=sysmalloc
#
# Set MUD_LIB to the directory which contains the mud data.
#
MUD_LIB = /local/mud/Lib/Compat/mudlib
#
# Set BINDIR to the directory where you want to install the executables.
#
BINDIR = /local/mud/Bin/Compat
#
# Define what random number generator to use.
# If no one is specified, a guaranteed bad one will be used.
# RANDOM (to use the random() system call) and DRAND48 (to use
# the drand48() system call) are available. For a NeXT, use
# RANDOM. If in doubt, do a 'man random' or a 'man drand48'
# and see which is defined.
#
RAND=DRAND48
#
# Flags to yacc. probably don't need to be changed, but if you use
# bison, then take out the -d.
#
YFLAGS=-d
#
# Profiling information
#
PROFIL=
#PROFIL=-p -DMARK
#PROFIL=-pg
#
# Enable warnings from the compiler, if wanted.
#
WARN=
#WARN= -Wall -Wshadow -Dlint
#
# This is used for debugging, and unless you are trying to
# debug code, don't define this. (It prints a trace of every
# instruction, so it's not feasible to have this to play the
# game with).
#
TRACE=
#TRACE=-DTRACE_CODE
#
# Enable run time debugging. It will use more time and space.
# When the flag is changed, be sure to recompile everything.
# Simple comment out this line if not wanted.
#
#DEBUG=
DEBUG=-DDEBUG
#
# These are the compiler flags. The first is for cc, the second
# is for gcc.
#
#FLAGS=-O -g -fstrength-reduce
FLAGS=-g
#
# Any extra compiler flags you wish to declare, put here.
#
#EXTRA=-DPORTNO=3000
#
MPATH=-DMUD_LIB='"$(MUD_LIB)"'
#
# If you don't have 'strchr', then add next flag to CFLAGS.
# -Dstrchr=index -Dstrrchr=rindex
#
# The BUG_FREE is for the stralloc package, and assumes that the
# hashing functions are bug free. -DSLOW_STATISTICS is for smalloc.c,
# and should be taken out if you don't want the debugging information that
# it provides.
#
CFLAGS= $(FLAGS) -D$(RAND) -DMALLOC_$(MALLOC) $(WARN) $(TRACE) $(PROFIL) $(DEBUG) $(MPATH) -DLEX_$(LEXICAL) -DBINDIR='"$(BINDIR)"' -DBUG_FREE $(EXTRA) $(NEXT) -DSLOW_STATISTICS
#
# Your compiler. Use gcc if you have it, cc if you don't.
#
CC=cc
#CC=gcc
#
# Add extra libraries here.
#
LIBS= -lm -lnet -lnsl_s -lndir
MFLAGS = "BINDIR = $(BINDIR)" "MUD_LIB = $(MUD_LIB)" "MUDDIR = $(MUDDIR)"
#
# Add str.c here if you don't have memcpy() or strtol()
# Uncomment the alloca.c if your system does not have alloca
#
SRC=$(LEXICAL).c main.c interpret.c simulate.c object.c backend.c \
comm1.c ed.c regexp.c wiz_list.c swap.c $(MALLOC).c call_out.c array.c \
parse.c otable.c dumpstat.c stralloc.c hash.c indentp.c port.c \
text.c memused.c vpopen.c access_check.c clilib.c \
prelang.y postlang.y simul_efun.c alloca.c
#
# Add str.o here if you don't have memcpy() or strtol()
# Uncomment the alloca.o if your system does not have alloca
#
OBJ=lang.o $(LEXICAL).o main.o interpret.o simulate.o object.o backend.o \
comm1.o ed.o regexp.o wiz_list.o swap.o $(MALLOC).o call_out.o array.o \
parse.o otable.o dumpstat.o stralloc.o hash.o indentp.o port.o \
text.o memused.o vpopen.o access_check.o clilib.o simul_efun.o alloca.o
driver: $(OBJ) make_func
$(CC) $(CFLAGS) $(OBJ) -o driver $(LIBS)
all: driver utils
list_funcs:
@$(CC) -E $(CFLAGS) func_spec.c
make_func.c: make_func.y
/local/monitors/risner/bin/yacc make_func.y
mv y.tab.c make_func.c
make_func: make_func.o
$(CC) make_func.o -o make_func
make_func.o: config.h
install: driver
install -c $? $(BINDIR)/parse
install.utils:
(cd util; $(MAKE) $(MFLAGS) install)
utils:
(cd util; $(MAKE) $(MFLAGS))
parse: driver
-mv parse parse.old
cp driver parse
LPmud.doc: LPmud.doc.me # Does also depend on lfun_efun.me
nroff -me LPmud.doc.me > LPmud.doc
lfun_efun.me:: make_docs
lfun_efun.me::
make_docs lfun_efun.me
make_docs: make_docs.o
$(CC) make_docs.o -o make_docs
lint: *.c
lint *.c
gcmalloc.o:
cd gc; make "CFLAGS=-g -DLPMUD" gc.a
rm -f gcmalloc.o
ln -s gc/gc.a gcmalloc.o
call_out.o: object.h interpret.h
swap.o: swap.c object.h config.h interpret.h exec.h
lang.o: lang.c config.h object.h interpret.h exec.h instrs.h switch.h
lang.c lang.h: lang.y
/local/monitors/risner/bin/yacc -d lang.y
mv y.tab.c lang.c
mv y.tab.h lang.h
lexical.o: lexical.c config.h
lexical.c: lexical.l
interpret.o: interpret.h config.h object.h instrs.h exec.h patchlevel.h \
switch.h lang.h
simulate.o: interpret.h object.h config.h sent.h wiz_list.h exec.h lang.h
wiz_list.o: wiz_list.h interpret.h
main.o: config.h object.h interpret.h lex.h
clean:
-rm -f *.o lang.h lang.c lexical.c mon.out *.ln tags
-rm -f parse driver core frontend mudlib/core TAGS
-rm -f config.status lpmud.log
(cd util ; echo "Cleaning in util." ; $(MAKE) clean)
frontend: comm2.o frontend.o
$(CC) $(CFLAGS) comm2.o frontend.o -o frontend $(LIBS)
tags: $(SRC)
ctags $(SRC)
TAGS: $(SRC)
etags $(SRC)
count_active: count_active.o
$(CC) count_active.o -o count_active
object.o: interpret.h object.h sent.h config.h wiz_list.h exec.h
backend.o: object.h config.h interpret.h wiz_list.h exec.h
comm1.o: comm.h sent.h interpret.h object.h config.h mudwho.h patchlevel.h
clilib.o: config.h
comm2.o: config.h comm.h
frontend.o: frontend.c config.h comm.h
ed.o: regexp.h object.h config.h interpret.h exec.h
regexp.o: regexp.h
otable.o: config.h object.h interpret.h
dumpstat.o: object.h interpret.h exec.h
parse_old.o: interpret.h config.h object.h wiz_list.h
parse.o: interpret.h config.h object.h wiz_list.h
stralloc.o: config.h
lex.o: config.h instrs.h interpret.h exec.h efun_defs.c lang.h lex.h
array.o: interpret.h object.h config.h wiz_list.h regexp.h
access_check.o: config.h
lang.y efun_defs.c: func_spec.c make_func prelang.y postlang.y config.h
./make_func > efun_defs.c
simul_efun.o: interpret.h object.h exec.h