# # Whatever you put in for $(CC) must be able to grok ANSI C. # CC = dmc LD = link WINZIP = C:\apps\Winzip\wzzip OPTIM = -o -6 SYSDEFS = -DWIN32 -DWIN32_LEAN_AND_MEAN # The suffix appended to executables. # This should be set for Cygwin and Windows. EXE = .exe #EXE = # # To log failed commands (HUH's) to stderr, include -DLOG_FAILED_COMMANDS # To restrict object-creating commands to users with the BUILDER bit, # include -DRESTRICTED_BUILDING # To log all commands, include -DLOG_COMMANDS # To force fork_and_dump() to use vfork() instead of fork(), include # -DUSE_VFORK. # To force grow_database() to be clever about its memory management, # include -DDB_DOUBLING. Use this only if your realloc does not allocate # in powers of 2 (if you already have a clever realloc, this option will # only cost you extra space). # By default, db.c initially allocates enough space for 10000 objects, then # grows the space if needed. To change this value, include # -DDB_INITIAL_SIZE=xxxx where xxxx is the new value (minimum 1). # To include code for keeping track of the number of blocks allocated, # include -DTEST_MALLOC. # To include code which attempts to compress string data, include -DCOMPRESS. # To eliminate the message third parties see when a player whispers, include # -DQUIET_WHISPER. # To include Stephen White's gender flags and pronoun substitution code, # include -DGENDER. # To give set (!)WIZARD and extended WHO privs only to id #1, # include -DGOD_PRIV. When this option is set, two other options # become meanigful # -DGOD_MODE Restricts host names some commands to #1 # -DGOD_ONLY_PCREATE Restricts @pcreate to player #1 # To have logs and WHO use hostnames instead of addresses, include # -DHOST_NAME. # To have messages for connect and disconnect, include -DCONNECT_MESSAGES. # To use a hashed player list for player name lookups, # include -DPLAYER_LIST. # To disable login-time creation of players, include -DREGISTRATION. # see GOD_ONLY_PCREATE above. # To cause netmud to detach itself from the terminal on startup, include # -DDETACH. The log file appears on LOG_FILE, set in config.h. # To add the @count & @recycle command, include -DRECYCLE # To disable core dump on errors, include -DNODUMPCORE # To add the ROBOT flag (allowing robots to be excluded from some rooms # at each player's request), include -DROBOT_MODE # To use Tinker instead of Wizard, Bobble instead of Toad, and # donate instead of sacrifice, include -DTINKER # To prevent users from using confusing names # (currently A, An, The, You, Your, Going, Huh?), include -DNOFAKES # To include code for marking all things with a timestamp/usecnt, # include -DTIMESTAMPS # # To Use Islandia values in config.h, include -DISLANDIA # To Use TinyHELL values in config.h, include -DTINYHELL #DEFS= $(SYSDEFS) -DGOD_PRIV -DCOMPRESS -DQUIET_WHISPER -DGENDER -DHOST_NAME \ # -DCONNECT_MESSAGES -DPLAYER_LIST -DDETACH -DREGISTRATION \ # -DGOD_ONLY_PCREATE -DROBOT_MODE -DRECYCLE -DNOFAKES \ # -DTINYHELL DEFS= $(SYSDEFS) -DGOD_PRIV -DCOMPRESS -DQUIET_WHISPER -DGENDER -DHOST_NAME \ -DCONNECT_MESSAGES -DPLAYER_LIST -DROBOT_MODE \ -DRECYCLE -DTINKER -DNOFAKES -DTIMESTAMPS CFLAGS = $(OPTIM) $(DEFS) -w2 -w7 LFLAGS = LIBS= wsock32.lib # Everything needed to use db.c DBFILES= db.c compress.c player_list.c stringutil.c # .obj versions of above DBOFILES= db.obj compress.obj player_list.obj stringutil.obj # Everything except interface.c --- allows for multiple interfaces CFILES= create.c game.c help.c look.c match.c move.c player.c predicates.c \ rob.c set.c speech.c utils.c wiz.c \ boolexp.c unparse.c os.c $(DBFILES) # .o versions of above OFILES= create.obj game.obj help.obj look.obj match.obj move.obj player.obj \ predicates.obj rob.obj set.obj speech.obj utils.obj wiz.obj \ boolexp.obj unparse.obj os.obj $(DBOFILES) # .dependency info for OFILES OFILESDEPS = db.dep compress.dep player_list.dep stringutil.dep \ create.dep game.dep help.dep look.dep match.dep move.dep player.dep \ predicates.dep rob.dep set.dep speech.dep utils.dep wiz.dep \ interface.dep sanity-check.dep \ extract.dep dump.dep decompress.dep os.dep # Files in the standard distribution DISTFILES= $(CFILES) config.h db.h externs.h interface.h match.h \ interface.c sanity-check.c extract.c dump.c decompress.c \ help.txt small.db minimal.db restart-cmu do_gripes \ restart-day restart-night tiny.docs tinymud.ps tinymud.tex \ README small.db.README \ CHANGES copyright.h announce.txt \ Makefile Makefile.bor Makefile.dgm Makefile.vc Makefile.lcc \ CHANGELOG os.h INSTALL_NOTES RELEASE = dist OUTFILES= netmud$(EXE) dump$(EXE) decompress$(EXE) sanity-check$(EXE) \ extract$(EXE) all: $(OUTFILES) netmud$(EXE): interface.obj $(OFILES) $(LD) $(LFLAGS) $**, $@,, $(LIBS) dump$(EXE): dump.obj unparse.obj $(DBOFILES) $(LD) $(LFLAGS) $**, $@,, $(LIBS) sanity-check$(EXE): sanity-check.obj utils.obj $(DBOFILES) $(LD) $(LFLAGS) $**, $@,, $(LIBS) extract$(EXE): extract.obj utils.obj $(DBOFILES) $(LD) $(LFLAGS) $**, $@,, $(LIBS) decompress$(EXE): decompress.obj compress.obj $(LD) $(LFLAGS) $**, $@,, $(LIBS) clean: -@del *.obj *.dep *.map $(OUTFILES) dist : $(DISTFILES) @echo "Building distribution..." @-md tinymud-1.5.4 @© /y $** tinymud-1.5.4 1>NUL @$(WINZIP) -Pr tinymud-1.5.4-$(RELEASE).zip tinymud-1.5.4 1>NUL 2>NUL @rd /s /q tinymud-1.5.4 @echo "Done." # compile and generate dependency info; db.obj : $(db.dep) db.c $(CC) -c -d $(CFLAGS) db compress.obj : $(compress.dep) compress.c $(CC) -c -d $(CFLAGS) compress player_list.obj : $(player_list.dep) player_list.c $(CC) -c -d $(CFLAGS) player_list stringutil.obj : $(stringutil.dep) stringutil.c $(CC) -c -d $(CFLAGS) stringutil create.obj : $(create.dep) create.c $(CC) -c -d $(CFLAGS) create game.obj : $(game.dep) game.c $(CC) -c -d $(CFLAGS) game help.obj : $(help.dep) help.c $(CC) -c -d $(CFLAGS) help look.obj : $(look.dep) look.c $(CC) -c -d $(CFLAGS) look match.obj : $(match.dep) match.c $(CC) -c -d $(CFLAGS) match move.obj : $(move.dep) move.c $(CC) -c -d $(CFLAGS) move player.obj : $(player.dep) player.c $(CC) -c -d $(CFLAGS) player predicates.obj : $(predicates.dep) predicates.c $(CC) -c -d $(CFLAGS) predicates rob.obj : $(rob.dep) rob.c $(CC) -c -d $(CFLAGS) rob set.obj : $(set.dep) set.c $(CC) -c -d $(CFLAGS) set speech.obj : $(speech.dep) speech.c $(CC) -c -d $(CFLAGS) speech utils.obj : $(utils.dep) utils.c $(CC) -c -d $(CFLAGS) utils wiz.obj : $(wiz.dep) wiz.c $(CC) -c -d $(CFLAGS) wiz boolexp.obj : $(boolexp.dep) boolexp.c $(CC) -c -d $(CFLAGS) boolexp unparse.obj : $(unparse.dep) unparse.c $(CC) -c -d $(CFLAGS) unparse interface.obj : $(interface.dep) interface.c $(CC) -c -d $(CFLAGS) interface dump.obj : $(dump.dep) dump.c $(CC) -c -d $(CFLAGS) dump sanity-check.obj : $(sanity-check.dep) sanity-check.c $(CC) -c -d $(CFLAGS) sanity-check extract.obj : $(extract.dep) extract.c $(CC) -c -d $(CFLAGS) extract decompress.obj : $(decompress.dep) decompress.c $(CC) -c -d $(CFLAGS) decompress os.obj : $(os.dep) os.c $(CC) -c -d $(CFLAGS) os