# Untermud makefile .AUTODEPEND BCCROOT = $(MAKEDIR)\.. CC = $(BCCROOT)\bin\bcc32 LD = $(BCCROOT)\bin\ilink32 AR = $(BCCROOT)\bin\tlib YACC = yacc WINZIP = C:\apps\Winzip\wzzip # The suffix appended to executables. # This should be set for Cygwin and Windows. EXE = .exe #EXE = # Compiler directives for debugging !ifdef DEBUG DEBUG_CFLAGS = -v -y -Od -r- DEBUG_LFLAGS = -v !else DEBUG_CFLAGS = -v- -O2 -$(PROCESSOR_LEVEL) DEBUG_LFLAGS = -v- !endif INCDIRS = -I$(BCCROOT)\include # Compiler/linker directives for linking static or dynamic !ifdef STATIC STATIC_CFLAGS = LIBS = import32.lib cw32mt.lib ws2_32.lib !else STATIC_CFLAGS = -tWR LIBS = import32.lib cw32mti.lib ws2_32.lib !endif BCC32STARTUP = c0x32.obj MSGS= -q -w -w-pia -w-par -w-sig -w-use -w-pin DEFS= -DWIN32 -DWIN32_LEAN_AND_MEAN -D_NO_VCL OPTIM= $(STATIC_CFLAGS) $(DEBUG_CFLAGS) -tWM -tWC CFLAGS= $(OPTIM) $(DEFS) $(MSGS) LFLAGS = -Tpe -ap -c -Gn $(DEBUG_LFLAGS) # Include directories INCS = -I.\ -I.\U $(INCDIRS) DBMLIBS = gdbm.lib ndbm.lib dbm.lib #if building with combat, include this #COMBAT= COMBAT = combat.c HDR = config.h mud.h comp.h vars.h look.h match.h cmd.h sbuf.h trans.h sym.h xact.h \ combat.h os.h SRC = mud.c $(COMBAT) cron.c net.c do_go.c do_look.c login.c trans.c version.c \ run.c sym.c activ.c vars.c cmd.c xact.c xmit.c cache.c bool.c util.c \ match.c obj.c sbuf.c list.c rot.c alloc.c errors.c misc2.c misc.c os.c # .obj versions of above OBJ = $(SRC:.c=.obj) XTRA = README README_2.0a README_COMBAT CHANGES COPYRIGHT Makefile INSTALL_NOTES \ untermud-2.4-orig.tar.gz makefile.bor makefile.vc \ bootup buildh buildd buildg bootup.cmd buildh.cmd buildd.cmd buildg.cmd CMDLIB = CMD\cmd.lib CMDSRC = CMD\_dump.c CMD\_echo.c CMD\_wall.c CMD\_force.c CMD\_if.c CMD\_mark.c \ CMD\_rand.c CMD\build.c CMD\destroy.c CMD\do.c CMD\drop.c CMD\examine.c \ CMD\go.c CMD\inv.c CMD\kill.c CMD\look.c CMD\news.c CMD\page.c \ CMD\passwd.c CMD\quit.c CMD\read.c CMD\say.c CMD\take.c CMD\use.c \ CMD\which.c CMD\telep.c CMD\wear.c CMD\whisper.c CMD\wizard.c CMDOBJ = $(CMDSRC:.c=.obj) CMDXTRA = CMD\README DBLIB = DB\db.lib DBSRC = DB\oif.c DB\expr.c DB\dbmchunk.c DB\dbmconf.c DB\gdbmchunk.c \ DB\gdbmconf.c DB\hashconf.c DB\hashdir.c DBOBJ = $(DBSRC:.c=.obj) DBXTRA = DB\README DB\dumpdb.c DB\loaddb.c DB\comp.c DB\bigrams.c \ DB\config DB\startup DB\minimal_db.oif DBUTIL = misc.obj alloc.obj obj.obj sbuf.obj list.obj ULIB = U\u.lib UHDR = U\u.h USRC = U\bltin.c U\uinterp.y U\u_util.c U\b_cmd.c U\b_echo.c U\b_err.c \ U\b_lst.c U\b_match.c U\b_misc.c U\b_int.c U\b_oid.c U\b_rnd.c \ U\b_time.c U\b_str.c UOBJ = U\bltin.obj U\uinterp.obj U\u_util.obj U\b_cmd.obj U\b_echo.obj U\b_err.obj U\b_lst.obj \ U\b_match.obj U\b_misc.obj U\b_int.obj U\b_oid.obj U\b_rnd.obj \ U\b_time.obj U\b_str.obj UXTRA = U\README MISCSRC = MISC\bonk.c MISC\oif2set.c MISCOBJ = $(MISCSRC:.c=.obj) MISCXTRA = $(MISCSRC:.c=.doc) MISCDBCHKSRC = MISC\dbchk\dbchk.c MISC\dbchk\dbchk_cache.c MISCDBCHKOBJ = $(MISCDBCHKSRC:.c=.obj) #if building without RWHO support, change RWHOLIB to nothing: #RWHOLIB = RWHOLIB = RWHO\rwho.lib RWHOHDR = RWHO\rwho.h RWHOSRC = RWHO\updat.c RWHO\clilib.c RWHOOBJ = $(RWHOSRC:.c=.obj) RWHOXTRA = RWHO\mudwho.c RWHO\mwhoforvm RWHO\HOW_TO RWHO\rwhodoc RWHO\README # RWHO daemon RWHOD = RWHO\rwhod RWHODSRC = $(RWHOD)\mwhod.c RWHODOBJ = $(RWHODSRC:.c=.obj) RWHODXTRA = $(RWHOD)\mwhod.doc $(RWHOD)\README # Files in the standard distribution DISTFILES = $(SRC) $(HDR) $(XTRA) !ifndef RELEASE RELEASE=dist !endif # Dependency information OBJDEPENDS = $(OBJ) $(CMDOBJ) $(DBOBJ) $(UOBJ) $(RWHOOBJ) \ DB\dumpdb.obj DB\loaddb.obj DB\comp.obj DB\bigrams.obj \ RWHO\mudwho.obj $(MISCOBJ) $(MISCDBCHKOBJ) $(RWHODOBJ) ALLLIBS = $(CMDLIB) $(DBLIB) $(ULIB) $(RWHOLIB) TARGETS = mud$(EXE) mudwho$(EXE) dumpdb$(EXE) loaddb$(EXE) bigrams$(EXE) \ comp$(EXE) bonk$(EXE) oif2set$(EXE) dbchk$(EXE) mwhod$(EXE) all: $(TARGETS) mud$(EXE) : $(OBJ) $(CMDLIB) $(DBLIB) $(ULIB) $(RWHOLIB) $(DBMLIBS) $(LD) $(LFLAGS) $(BCC32STARTUP) $**, $<,, $(LIBS) mudwho$(EXE) : RWHO\mudwho.obj getopt.lib $(LD) $(LFLAGS) $(BCC32STARTUP) $**, $<,, $(LIBS) dumpdb$(EXE) : DB\dumpdb.obj $(DBUTIL) $(DBLIB) getopt.lib $(DBMLIBS) $(LD) $(LFLAGS) $(BCC32STARTUP) $**, $<,, $(LIBS) loaddb$(EXE) : DB\loaddb.obj $(DBUTIL) $(DBLIB) getopt.lib $(DBMLIBS) $(LD) $(LFLAGS) $(BCC32STARTUP) $**, $<,, $(LIBS) comp$(EXE) : DB\comp.obj $(LD) $(LFLAGS) $(BCC32STARTUP) $**, $<,, $(LIBS) bigrams$(EXE) : DB\bigrams.obj $(LD) $(LFLAGS) $(BCC32STARTUP) $**, $<,, $(LIBS) $(CMDLIB) : $(CMDOBJ) @echo "making CMD library..." -@del $< 2>NUL $(AR) $< /a $** $(DBLIB) : $(DBOBJ) @echo "making DB library..." -@del $< 2>NUL $(AR) $< /a $** $(ULIB) : $(UOBJ) @echo "making U library..." -@del $< 2>NUL $(AR) $< /a $** U\uinterp.c y.tab.h : U\uinterp.y $(YACC) -d U\uinterp.y -move y.tab.c U\uinterp.c $(RWHOLIB) : $(RWHOOBJ) @echo "making RWHO library..." -@del $< 2>NUL $(AR) $< /a $** mwhod$(EXE) : $(RWHODOBJ) getopt.lib $(LD) $(LFLAGS) $(BCC32STARTUP) $**, $<,, $(LIBS) bonk$(EXE) : MISC\bonk.obj $(LD) $(LFLAGS) $(BCC32STARTUP) $**, $<,, $(LIBS) oif2set$(EXE) : MISC\oif2set.obj $(LD) $(LFLAGS) $(BCC32STARTUP) $**, $<,, $(LIBS) dbchk$(EXE) : $(MISCDBCHKOBJ) $(DBUTIL) $(DBLIB) getopt.lib $(DBMLIBS) $(LD) $(LFLAGS) $(BCC32STARTUP) $**, $<,, $(LIBS) clean : @echo "Cleaning..." @-del *.tds *.TR2 *.map $(TARGETS) $(ALLLIBS) DB\dumpdb.obj DB\loaddb.obj \ DB\comp.obj DB\bigrams.obj U\uinterp.c y.tab.h RWHO\mudwho.obj \ $(OBJDEPENDS) 2>NUL @echo "Done." dist : $(DISTFILES) @echo "Building distribution..." @-md untermud @© /y $** untermud 1>NUL @echo .svn > ex.tmp @xcopy CMD untermud\CMD /I /E /Y /Q /EXCLUDE:ex.tmp @xcopy MISC untermud\MISC /I /E /Y /Q /EXCLUDE:ex.tmp @xcopy DB untermud\DB /I /E /Y /Q /EXCLUDE:ex.tmp @xcopy DOC untermud\DOC /I /E /Y /Q /EXCLUDE:ex.tmp @xcopy HELP untermud\HELP /I /E /Y /Q /EXCLUDE:ex.tmp @xcopy RWHO untermud\RWHO /I /E /Y /Q /EXCLUDE:ex.tmp @xcopy U untermud\U /I /E /Y /Q /EXCLUDE:ex.tmp @del ex.tmp @$(WINZIP) -Pr untermud-$(RELEASE).zip untermud 1>NUL 2>NUL @rd /s /q untermud @echo "Done." .c.obj: $(CC) $(CFLAGS) $(INCS) -c -n$(@D) $<