1# SCCS Id: @(#)template.mak 3.4 1996/10/25 2# Copyright (c) NetHack PC Development Team 1996 3# 4?BEGIN? 5?SCCS? 6?MSC? 7# PC NetHack 3.4 Makefile for Microsoft(tm) "C" >= 7.0 and MSVC >= 1.0 8?ENDMSC? 9?BC? 10# PC NetHack 3.4 Makefile for Borland C++ 3.1. 11?ENDBC? 12# 13# Nota Bene: Before you get to here you should have already read 14# the Install.dos file located in the sys/msdos directory. 15?BC? 16# Additionally, you should run this makefile with the -N 17# Microsoft Compatibility option. 18# 19# This Makefile is for use with Borland C++ version 3.1. 20# 21# This Makefile is specific to Borland's MAKE which is supplied with the 22# compiler. It supports only one overlay management facility - VROOMM. 23# (This Makefile won't work with make45l or NDMAKE) 24?ENDBC? 25?MSC? 26# 27# This Makefile is for use with Microsoft C version 7 and Microsoft Visual C++ 28# Professional Edition (MSVC) version 1.0 or greater. 29# 30# This Makefile is specific to Microsoft's NMAKE which is supplied with the 31# more recent Microsoft C compilers. 32# It supports only one overlay management facility - MOVE. 33# (This Makefile won't work with make45l or NDMAKE) 34# 35# In addition to your C compiler, 36# 37# if you want to change you will need a 38# files with suffix workalike for 39# .y yacc (such as bison or byacc) 40# .l lex (such as flex) 41?ENDMSC? 42 43# 44# Game Installation Variables. 45# NOTE: Make sure GAMEDIR exists before nmake is started. 46# 47 48GAME = NetHack 49GAMEDIR = c:\games\nethack 50 51# 52# 53# Directories 54# 55 56DAT = ..\dat 57DOC = ..\doc 58INCL = ..\include 59SRC = ..\src 60OBJ = o 61MSYS = ..\sys\msdos 62SYS = ..\sys\share 63UTIL = ..\util 64WTTY = ..\win\tty 65WSHR = ..\win\share 66 67 68# 69# Compiler File Info. 70# ($(MAKE) macro is often predefined, so we use $(MAKEBIN) instead.) 71# 72 73?MSC? 74CC = cl # Compiler 75LINK = link # Linker 76ASM = masm # Assembler (not currently needed for MSC 7 and > ) 77MAKEBIN = nmake 78UUDECODE = uudecode # Unix style uudecoder 79?ENDMSC? 80?BC? 81CC = bcc # Compiler 82LINK = tlink # Linker 83ASM = tasm # Assembler (not currently needed for BC) 84MAKEBIN = make 85UUDECODE = uudecode # Unix style uudecoder 86 87#BCTOP = c:\borlandc # main Borland C++ directory 88BCTOP = c:\bc31 89?ENDBC? 90 91# 92# Yacc/Lex ... if you got 'em. 93# 94# If you have yacc and lex programs (or work-alike such as bison 95# and flex), comment out the upper two lines below, and uncomment 96# the lower two. 97?BC? 98# 99# On Borland C++, the newest versions of flex and bison provide 100# problems when run from MAKE. 101?ENDBC? 102# 103 104DO_YACC = YACC_MSG 105DO_LEX = LEX_MSG 106#DO_YACC = YACC_ACT 107#DO_LEX = LEX_ACT 108 109# 110# - Specify your yacc and lex programs (or work-alikes for each) here. 111# 112 113YACC = bison -y 114#YACC = yacc 115#YACC = byacc 116 117LEX = flex 118#LEX = lex 119 120# 121# - Specify your flex skeleton file (if needed). 122# 123FLEXSKEL = 124#FLEXSKEL = -Sc:\tools16\flex.ske 125 126# 127# - Your yacc (or work-alike) output files 128# 129YTABC = y_tab.c 130YTABH = y_tab.h 131#YTABC = ytab.c 132#YTABH = ytab.h 133 134# 135# - Your lex (or work-alike) output files 136# 137LEXYYC = lexyy.c 138#LEXYYC = lex.yy.c 139 140# 141# Optional high-quality BSD random number generation routines 142# (see pcconf.h). Set to nothing if not used. 143# 144 145RANDOM = $(OBJ)\random.o 146#RANDOM = 147 148# 149# If TERMLIB is #defined in the source (in include\pcconf.h), 150# comment out the upper line and uncomment the lower. Make sure 151# that TERMLIB contains the full pathname to the termcap library. 152 153TERMLIB = 154#TERMLIB = $(SYS)\termcap.lib 155 156# 157# MEMORY USAGE AND OVERLAYING 158# 159# Overlay Schema 1 160# 161# - Minimal extended memory available, lots of 640K base RAM free 162# Minimize overlay turns. Requires that a minimum of 163?MSC? 164# 560K RAM be free as follows: 165# 430K Executable load requirement 166# 60K Overlay buffer 167# 70K for malloc() calls 168# 560K Total memory requirement 169?ENDMSC? 170?BC? 171# 607K RAM be free as follows: 172# 462K Executable load requirement 173# 115K for malloc() calls 174# 30K Overlay buffer 175# 607K Total memory requirement 176?ENDBC? 177# 178# Overlay Schema 2 179# 180# - Favor small load size, requires extended memory for bearable performance. 181# If you have very little base 640K RAM available, but lots of extended 182# memory for caching overlays, you might try this. (eg. A machine with 183# lots of TSR's or network drivers). Do not try to set SCHEMA = 2 184# without a disk cache and extended memory. 185?BC? 186# 381K Executable load requirement 187# 115K for malloc() calls 188# 30K Overlay buffer 189# 526K Total memory requirement 190?ENDBC? 191?MSC? 192# 360K Executable load requirement 193# 60K Overlay buffer 194# 70K for malloc() calls 195# 419K Total memory requirement 196# 197# Overlay Schema 3 198# 199# - Minimal extended memory available, lots of 640K base RAM free 200# Similar to schema1, but the overlay buffer is twice as large, so 201# in theory more overlays can be resident at the same time. The cost is 202# that the base memory requirement goes up considerably. 203# This requires that you obtain the moveinit.c and moveapi.h files from 204# your Microsoft C source/move directory, and place them into the src 205# directory. Then apply the patch moveinit.pat file found in sys/msdos. 206# Requirements: 207# 360K Executable load requirement 208# 95K Overlay buffer 209# 70K for malloc() calls 210# 525K Total memory requirement 211?ENDMSC? 212# 213?BC? 214# On Borland C++, you have to make a full rebuild of all object modules each 215# time you change schemas. 216# 217?ENDBC? 218 219SCHEMA = 1 220 221# 222# OPTIONAL TILE SUPPORT. 223# 224# This release of NetHack allows you to build a version of NetHack 225# that will draw 16x16 color tiles on the display to represent 226# NetHack maps, objects, monsters, etc. on machines with appropriate 227# display hardware. Currently the only supported video hardware is 228# VGA. 229# 230# Note: You can build NetHack with tile support and then choose 231# whether to use it or not at runtime via the defaults.nh file option 232# "video". 233# 234 235TILESUPPORT = Y 236 237# 238# C COMPILER AND LINKER SETTINGS 239# 240# For debugging ability, comment out the upper three 241# macros and uncomment the lower three. You can also 242# uncomment only either LDFLAGSU or LDFLAGSN if you 243# want to include debug information only in the utilities 244# or only in the game file. 245?BC? 246 247# On Borland C++, you cannot include debug information for 248# all the object modules because the linker cannot handle 249# it. 250?ENDBC? 251 252#CDFLAGS = 253?MSC? 254#LDFLAGSN = 255?ENDMSC? 256?BC? 257LDFLAGSN = 258?ENDBC? 259#LDFLAGSU = 260 261?MSC? 262CDFLAGS = /Zi # use debug info (compiler) 263LDFLAGSN = /CO # use debug info (linker - game) 264LDFLAGSU = /CO # use debug info (linker - utilities) 265?ENDMSC? 266?BC? 267CDFLAGS = -v -vi # use debug info (compiler) 268#LDFLAGSN = /v # use debug info (linker - game) 269LDFLAGSU = /v # use debug info (linker - utilities) 270?ENDBC? 271 272# 273?MSC? 274# - Force a change in the C warning level for all builds. 275# (Its W0 setting in the CL environment variable will take 276# precedence if left blank here). 277?ENDMSC? 278?BC? 279# - Don't warn about unreachable code because flex generates a whole bunch 280# of unreachable code warnings, which stops the compile process. 281?ENDBC? 282# 283 284?MSC? 285CW = 286#CW =/W3 287?ENDMSC? 288?BC? 289CW = -w-rch 290?ENDBC? 291 292# 293# Select whether to use pre-compiled headers or not. 294# Set PRECOMPHEAD to Y to use pre-compiled headers, set it to anything 295# else and pre-compiled headers will not be used. 296# (Pre-compiled headers speed up compiles, but require a bit more 297# disk space during the build. The pre-compiled headers can be deleted 298# afterwards via DEL *.PCH if desired). 299# 300 301PRECOMPHEAD = N 302 303# 304# C Compiler Flags 305# 306?MSC? 307# Note: 308# 309# CL environment variable should already be set to: 310# CL= /AL /G2 /Oo /Gs /Gt16 /Zp1 /W0 /I..\include /nologo /DMOVERLAY 311# 312?ENDMSC? 313 314?MSC? 315CFLAGS = /c 316?ENDMSC? 317?BC? 318CFLAGS = -c 319?ENDBC? 320 321# Uncomment the line below if you want to store all the level files, 322# help files, etc. in a single library file (recommended). 323 324USE_DLB = Y 325 326# 327######################################################################## 328######################################################################## 329# 330# Nothing below here should have to be changed. 331# 332######################################################################## 333######################################################################## 334# 335# Warning: 336# 337# Changing anything below here means that you should be *very* 338# familiar with your compiler's workings, *very* knowledgeable 339# about the overlay structure and mechanics of NetHack, and *very* 340# confident in your understanding of Makefiles and Make utilities. 341# 342######################################################################## 343# 344# Default Make Procedure 345# 346 347default: $(GAME) 348 349# 350######################################################################## 351# Tile preparation 352# 353 354! IF ("$(TILESUPPORT)"=="Y") 355 356TILEGAME = $(OBJ)\tile.o $(OBJ)\pctiles.0 $(OBJ)\pctiles.b 357 358# 359# - VGA Tile Support, uncomment these three lines. 360# 361 362TILEVGA = $(OBJ)\vidvga.0 $(OBJ)\vidvga.1 $(OBJ)\vidvga.2 $(OBJ)\vidvga.b 363PLANAR_TIB = NetHack1.tib 364OVERVIEW_TIB = NetHacko.tib 365 366# 367# Leave this line uncommented and unchanged. 368TILEUTIL = $(TILEGAME) $(TILEVGA) $(UTIL)\tile2bin.exe $(UTIL)\til2bin2.exe \ 369 $(PLANAR_TIB) $(OVERVIEW_TIB) 370 371! ENDIF 372 373! IF ("$(USE_DLB)"=="Y") 374DLB = nhdat 375! ELSE 376DLB = 377! ENDIF 378 379# 380############################################################################# 381# 382# General Overlay Schema Settings 383# 384 385?MSC? 386LNKOPT = schema$(SCHEMA).def 387?ENDMSC? 388?BC? 389!include schema$(SCHEMA).bc 390OVLINIT =$(OBJ)\ovlinit.o 391?ENDBC? 392 393?MSC? 394# 395# - Specific Overlay Schema Settings 396# 397 398! IF ($(SCHEMA)==1) 399INTOVL = /DYNAMIC:1250 /NOE 400OVLINIT = 401! ENDIF 402 403! IF ($(SCHEMA)==2) 404INTOVL = /DYNAMIC:1380 /NOE 405OVLINIT = 406! ENDIF 407 408! IF ($(SCHEMA)==3) 409INTOVL = /DYNAMIC:1170 410OVLINIT = $(OBJ)\moveinit.o $(OBJ)\ovlinit.o 411! ENDIF 412?ENDMSC? 413 414# 415############################################################################# 416# 417# C Compiler and Linker Setup Options 418# (To Maintainer; modify only if absolutely necessary) 419# 420 421?BC? 422BCINCL = $(BCTOP)\include # include directory for main BC headers 423BCLIB = $(BCTOP)\lib # library directory for main BC libraries 424BCCFG = nethack.cfg # name of the nethack configuration file 425?ENDBC? 426 427# 428# Model 429# 430 431?MSC? 432MODEL = L 433?ENDMSC? 434?BC? 435MODEL = h 436?ENDBC? 437 438# 439# - Optional C library specifier for those with non-standard 440# libraries or a multiple-target library setup. 441# 442 443CLIB = 444?MSC? 445#CLIB = llibcer /nod 446?ENDMSC? 447 448?BC? 449# 450# Borland C++ libraries 451# 452 453BCOVL = $(BCLIB)\OVERLAY 454BCMDL = $(BCLIB)\C$(MODEL) 455 456?ENDBC? 457# 458# Compiler Options 459# 460 461?MSC? 462CNOLNK = /c # just generate .OBJ 463CPCHUSE = /YuHACK.H # use precompiled headers 464CPCHGEN = /YcHACK.H # generate precompiled headers 465CPCHNAM = /Fp # set the name of the precompiled header file 466CPCHEXT = .PCH # precompiled header extension 467CDEFINE = /D # define a macro 468CCSNAM = /NT # set the code segment name 469COBJNAM = /Fo # name the .OBJ file 470CNOOPT = /f- /Od # disable optimizations (must be first in line) 471 # /f- = don't use the "fast" compiler,its buggy 472?ENDMSC? 473?MSCMACRO:CSNAMOA= ? 474?MSCMACRO:CSNAMOB=$(CCSNAM)$(@F) ? 475?MSCMACRO:CSNAM0=$(CCSNAM)$(@F) ? 476?MSCMACRO:CSNAM1=$(CCSNAM)$(@F) ? 477?MSCMACRO:CSNAM2=$(CCSNAM)$(@F) ? 478?MSCMACRO:CSNAM3=$(CCSNAM)$(@F) ? 479?MSCMACRO:CSNAMB=$(CCSNAM)$(@F) ? 480?BC? 481CNOLNK = -c # just generate .OBJ 482CPCHUSE = -Hu # use precompiled headers 483CPCHGEN = -H # generate precompiled headers 484CPCHNAM = -H= # set the name of the precompiled header file 485CPCHEXT = .PCH # precompiled header extension 486CDEFINE = -D # define a macro 487CSTKSZ = -DSTKSIZ= # set stack size 488CCSNAM = -zC # set the code segment name 489COBJNAM = -o # name the .OBJ file 490?ENDBC? 491?BCMACRO:CSNAMOA=$$($(@B)_o) ? 492?BCMACRO:CSNAMOB=$$($(@B)_o) ? 493?BCMACRO:CSNAM0=$$($(@B)_0) ? 494?BCMACRO:CSNAM1=$$($(@B)_1) ? 495?BCMACRO:CSNAM2=$$($(@B)_2) ? 496?BCMACRO:CSNAM3=$$($(@B)_3) ? 497?BCMACRO:CSNAMB=$$($(@B)_b) ? 498 499# 500# Linker Options 501# 502 503?MSC? 504LWCASE = /NOI # treat case as significant 505LMAP = /MAP # create map file 506LSTKSZ = /ST: # set stack size 507LMAXSEG = /SE:400 # maximum number of segments allowed 508LMAXALL = /CPARM:1 # maximum program memory allocation (?) 509LINFO = /INFO # display link information while processing 510?ENDMSC? 511?BC? 512LWCASE = /c # treat case as significant 513LMAP = /m # create map file 514LINIT = $(BCLIB)\C0$(MODEL) # initialization object file 515LOVL = /oOVLY # overlay all needed segments 516?ENDBC? 517 518# 519# Stack Sizes 520# 521 522STKSUTL = 4096 # Utilities Stack Size 523STKSNRM = 5120 # Normal Stack Size 524 525?MSC? 526LUSTACK = $(LSTKSZ)$(STKSUTL) # Utilities Stack Set for Linker 527LNSTACK = $(LSTKSZ)$(STKSNRM) # Normal Stack Set for Linker 528?ENDMSC? 529?BC? 530CUSTACK = $(CSTKSZ)$(STKSUTL) # Utilities Stack Set for Compiler 531CNSTACK = $(CSTKSZ)$(STKSNRM) # Normal Stack Set for Compiler 532?ENDBC? 533 534 535# 536######################################################################## 537# DLB preparation 538# 539 540! IF ("$(USE_DLB)"=="Y") 541DLBFLG = $(CDEFINE)DLB 542! ELSE 543DLBFLG = 544! ENDIF 545 546# 547######################################################################## 548# tile preparation 549# 550 551! IF ("$(TILESUPPORT)"=="Y") 552TILFLG = $(CDEFINE)USE_TILES 553! ELSE 554TILFLG = 555! ENDIF 556 557############################################################################# 558# 559# Overlay switches 560# 561 562COVL0 = $(CDEFINE)OVL0 563COVL1 = $(CDEFINE)OVL1 564COVL2 = $(CDEFINE)OVL2 565COVL3 = $(CDEFINE)OVL3 566COVLB = $(CDEFINE)OVLB 567 568# 569# Flags 570# 571 572FLAGOPT = $(DLBFLG) $(TILFLG) 573 574# 575# Precompiled Header Section 576# 577 578?BC? 579#common options (placed in $(BCCFG)) 580CFLGTOT = $(CDFLAGS) $(CFLAGS) $(FLAGOPT) $(CW) 581#util builds 582CFLAGSU = +$(BCCFG) $(CUSTACK) 583#normal build, no PCH 584CFLAGSN = +$(BCCFG) $(CNSTACK) 585?ENDBC? 586?MSC? 587#util builds 588CFLAGSU = $(CDFLAGS) $(CFLAGS) $(CW) $(FLAGOPT) $(CUSTACK) 589#normal build, no PCH 590CFLAGSN = $(CDFLAGS) $(CFLAGS) $(CW) $(FLAGOPT) $(CNSTACK) 591?ENDMSC? 592#no optimizations 593CFLAGNO = $(CNOOPT) $(CFLAGSN) 594 595! IF ("$(PRECOMPHEAD)"!="Y") 596 597CFLAGCO = $(COVLO) 598CFLAGUO = $(COVLO) 599CFLAGC0 = $(COVL0) 600CFLAGU0 = $(COVL0) 601CFLAGC1 = $(COVL1) 602CFLAGU1 = $(COVL1) 603CFLAGC2 = $(COVL2) 604CFLAGU2 = $(COVL2) 605CFLAGC3 = $(COVL3) 606CFLAGU3 = $(COVL3) 607CFLAGCB = $(COVLB) 608CFLAGUB = $(COVLB) 609PCHO = 610PCH0 = 611PCH1 = 612PCH2 = 613PCH3 = 614PCHB = 615 616precomp.msg: 617 @echo Not using precompiled headers... 618 619! ELSE 620 621# .o files 622CFLAGUO = $(CPCHUSE) $(CPCHNAM)PHO$(CPCHEXT) $(COVLO) 623CFLAGCO = $(CPCHGEN) $(CPCHNAM)PHO$(CPCHEXT) $(COVLO) 624PCHO = PHO$(CPCHEXT) 625# .0 files 626CFLAGU0 = $(CPCHUSE) $(CPCHNAM)PH0$(CPCHEXT) $(COVL0) 627CFLAGC0 = $(CPCHGEN) $(CPCHNAM)PH0$(CPCHEXT) $(COVL0) 628PCH0 = PH0$(CPCHEXT) 629# .1 files 630CFLAGU1 = $(CPCHUSE) $(CPCHNAM)PH1$(CPCHEXT) $(COVL1) 631CFLAGC1 = $(CPCHGEN) $(CPCHNAM)PH1$(CPCHEXT) $(COVL1) 632PCH1 = PH1$(CPCHEXT) 633# .2 files 634CFLAGU2 = $(CPCHUSE) $(CPCHNAM)PH2$(CPCHEXT) $(COVL2) 635CFLAGC2 = $(CPCHGEN) $(CPCHNAM)PH2$(CPCHEXT) $(COVL2) 636PCH2 = PH2$(CPCHEXT) 637# .3 files 638CFLAGU3 = $(CPCHUSE) $(CPCHNAM)PH3$(CPCHEXT) $(COVL3) 639CFLAGC3 = $(CPCHGEN) $(CPCHNAM)PH3$(CPCHEXT) $(COVL3) 640PCH3 = PH3$(CPCHEXT) 641# .B files 642CFLAGUB = $(CPCHUSE) $(CPCHNAM)PHB$(CPCHEXT) $(COVLB) 643CFLAGCB = $(CPCHGEN) $(CPCHNAM)PHB$(CPCHEXT) $(COVLB) 644PCHB = PHB$(CPCHEXT) 645 646precomp.msg: 647 @echo Using precompiled headers... 648 649! ENDIF 650 651 652?BC? 653FLAGCO = $(CNSTACK) +CFLAGCO.CFG 654FLAGUO = $(CNSTACK) +CFLAGUO.CFG 655FLAGC0 = $(CNSTACK) +CFLAGC0.CFG 656FLAGU0 = $(CNSTACK) +CFLAGU0.CFG 657FLAGC1 = $(CNSTACK) +CFLAGC1.CFG 658FLAGU1 = $(CNSTACK) +CFLAGU1.CFG 659FLAGC2 = $(CNSTACK) +CFLAGC2.CFG 660FLAGU2 = $(CNSTACK) +CFLAGU2.CFG 661FLAGC3 = $(CNSTACK) +CFLAGC3.CFG 662FLAGU3 = $(CNSTACK) +CFLAGU3.CFG 663FLAGCB = $(CNSTACK) +CFLAGCB.CFG 664FLAGUB = $(CNSTACK) +CFLAGUB.CFG 665?ENDBC? 666?MSC? 667FLAGCO = $(CFLAGSN) $(CFLAGCO) 668FLAGUO = $(CFLAGSN) $(CFLAGUO) 669FLAGC0 = $(CFLAGSN) $(CFLAGC0) 670FLAGU0 = $(CFLAGSN) $(CFLAGU0) 671FLAGC1 = $(CFLAGSN) $(CFLAGC1) 672FLAGU1 = $(CFLAGSN) $(CFLAGU1) 673FLAGC2 = $(CFLAGSN) $(CFLAGC2) 674FLAGU2 = $(CFLAGSN) $(CFLAGU2) 675FLAGC3 = $(CFLAGSN) $(CFLAGC3) 676FLAGU3 = $(CFLAGSN) $(CFLAGU3) 677FLAGCB = $(CFLAGSN) $(CFLAGCB) 678FLAGUB = $(CFLAGSN) $(CFLAGUB) 679?ENDMSC? 680 681# End of Pre-compiled header section 682#=========================================================================== 683 684?MSC? 685# 686# Controls whether MOVE tracing is enabled in the executable 687# This should be left commented unless you are tinkering with the 688# overlay structure of NetHack. The executable runs _very_ 689# slowly when the movetr.lib is linked in. 690# 691 692#MOVETR= movetr.lib 693 694# do not change this 695! IF ("$(MOVETR)"!="") 696MVTRCL = $(CDEFINE)MOVE_PROF 697! ELSE 698MVTRCL = 699! ENDIF 700 701?ENDMSC? 702# 703# Linker options for building various things. 704# 705 706LFLAGSU = $(LDFLAGSU) $(LUSTACK) $(LINIT) 707LFLAGSN = $(LDFLAGSN) $(LNSTACK) $(LWCASE) $(LMAXSEG) $(INTOVL) $(LMAXALL) \ 708 $(LINFO) $(LINIT) $(LOVL) 709 710# 711# Make Roolz dude. 712# Due to the inadequacy of some makes these must accord with a 713# topological sort of the generated-from relation... output on 714# the left, input on the right. Trust me. 715# 716 717.SUFFIXES: .exe .0 .1 .2 .3 .B .o .til .uu .c .y .l 718 719# 720# Rules for files in src 721# 722 723 724.c{$(OBJ)}.o: 725 @$(CC) $(FLAGUO) ?[CSNAMOB]$(COBJNAM)$@ $< 726 727{$(SRC)}.c{$(OBJ)}.o: 728 $(CC) $(FLAGUO) ?[CSNAMOB]$(COBJNAM)$@ $< 729 730{$(SRC)}.c{$(OBJ)}.0: 731 $(CC) $(FLAGU0) ?[CSNAM0]$(COBJNAM)$@ $< 732 733{$(SRC)}.c{$(OBJ)}.1: 734 $(CC) $(FLAGU1) ?[CSNAM1]$(COBJNAM)$@ $< 735 736{$(SRC)}.c{$(OBJ)}.2: 737 $(CC) $(FLAGU2) ?[CSNAM2]$(COBJNAM)$@ $< 738 739{$(SRC)}.c{$(OBJ)}.3: 740 $(CC) $(FLAGU3) ?[CSNAM3]$(COBJNAM)$@ $< 741 742{$(SRC)}.c{$(OBJ)}.B: 743 $(CC) $(FLAGUB) ?[CSNAMB]$(COBJNAM)$@ $< 744 745# 746# Rules for files in sys\share 747# 748 749{$(SYS)}.c{$(OBJ)}.o: 750 $(CC) $(FLAGUO) ?[CSNAMOA]$(COBJNAM)$@ $< 751 752{$(SYS)}.c{$(OBJ)}.0: 753 $(CC) $(FLAGU0) ?[CSNAM0]$(COBJNAM)$@ $< 754 755{$(SYS)}.c{$(OBJ)}.1: 756 $(CC) $(FLAGU1) ?[CSNAM1]$(COBJNAM)$@ $< 757 758{$(SYS)}.c{$(OBJ)}.2: 759 $(CC) $(FLAGU2) ?[CSNAM2]$(COBJNAM)$@ $< 760 761{$(SYS)}.c{$(OBJ)}.3: 762 $(CC) $(FLAGU3) ?[CSNAM3]$(COBJNAM)$@ $< 763 764{$(SYS)}.c{$(OBJ)}.B: 765 $(CC) $(FLAGUB) ?[CSNAMB]$(COBJNAM)$@ $< 766 767# 768# Rules for files in sys\msdos 769# 770 771{$(MSYS)}.c{$(OBJ)}.o: 772 $(CC) $(FLAGUO) ?[CSNAMOA]$(COBJNAM)$@ $< 773 774{$(MSYS)}.c{$(OBJ)}.0: 775 $(CC) $(FLAGU0) ?[CSNAM0]$(COBJNAM)$@ $< 776 777{$(MSYS)}.c{$(OBJ)}.1: 778 $(CC) $(FLAGU1) ?[CSNAM1]$(COBJNAM)$@ $< 779 780{$(MSYS)}.c{$(OBJ)}.2: 781 $(CC) $(FLAGU2) ?[CSNAM2]$(COBJNAM)$@ $< 782 783{$(MSYS)}.c{$(OBJ)}.3: 784 $(CC) $(FLAGU3) ?[CSNAM3]$(COBJNAM)$@ $< 785 786{$(MSYS)}.c{$(OBJ)}.B: 787 $(CC) $(FLAGUB) ?[CSNAMB]$(COBJNAM)$@ $< 788 789{$(MSYS)}.h{$(INCL)}.h: 790 @copy $< $@ 791 792# 793# Rules for files in util 794# 795 796{$(UTIL)}.c{$(OBJ)}.o: 797 $(CC) $(CFLAGSU) ?[CSNAMOB]$(COBJNAM)$@ $< 798 799# 800# Rules for files in win\share 801# 802 803{$(WSHR)}.c.o: 804 @$(CC) $(FLAGUO) ?[CSNAMOA]$(COBJNAM)$@ $< 805 806{$(WSHR)}.c{$(OBJ)}.o: 807 @$(CC) $(FLAGUO) ?[CSNAMOA]$(COBJNAM)$@ $< 808 809{$(WSHR)}.h{$(INCL)}.h: 810 @copy $< $@ 811 812{$(WSHR)}.txt{$(DAT)}.txt: 813 @copy $< $@ 814 815# 816# Rules for files in win\tty 817# 818 819{$(WTTY)}.c{$(OBJ)}.o: 820 $(CC) $(FLAGUO) ?[CSNAMOA]$(COBJNAM)$@ $< 821 822{$(WTTY)}.c{$(OBJ)}.0: 823 $(CC) $(FLAGU0) ?[CSNAM0]$(COBJNAM)$@ $< 824 825{$(WTTY)}.c{$(OBJ)}.1: 826 $(CC) $(FLAGU1) ?[CSNAM1]$(COBJNAM)$@ $< 827 828{$(WTTY)}.c{$(OBJ)}.2: 829 $(CC) $(FLAGU2) ?[CSNAM2]$(COBJNAM)$@ $< 830 831{$(WTTY)}.c{$(OBJ)}.3: 832 $(CC) $(FLAGU3) ?[CSNAM3]$(COBJNAM)$@ $< 833 834{$(WTTY)}.c{$(OBJ)}.B: 835 $(CC) $(FLAGUB) ?[CSNAMB]$(COBJNAM)$@ $< 836 837# 838# NETHACK OBJECTS 839# 840# This section creates shorthand macros for many objects 841# referenced later on in the Makefile. 842# 843 844# 845# Shorten up the location for some files 846# 847 848O = $(OBJ)\ # comment so \ isn't last char 849 850U = $(UTIL)\ # comment so \ isn't last char 851 852# 853# Utility Objects. 854# 855 856MAKESRC = $(U)makedefs.c 857 858SPLEVSRC = $(U)lev_yacc.c $(U)lev_$(LEX).c $(U)lev_main.c $(U)panic.c 859 860DGNCOMPSRC = $(U)dgn_yacc.c $(U)dgn_$(LEX).c $(U)dgn_main.c 861 862MAKEOBJS = $(O)makedefs.o $(O)monst.o $(O)objects.o 863 864?LIST:SPLEVOBJS? 865 $(O)lev_yacc.o $(O)lev_$(LEX).o $(O)lev_main.o 866 $(O)alloc.o $(O)decl.o $(O)drawing.o 867 $(O)monst.o $(O)objects.o $(O)panic.o $(O)stubvid.o 868?ENDLIST? 869 870?LIST:DGNCOMPOBJS? 871 $(O)dgn_yacc.o $(O)dgn_$(LEX).o $(O)dgn_main.o 872 $(O)alloc.o $(O)panic.o 873?ENDLIST? 874 875RECOVOBJS = $(O)recover.o 876 877?LIST:GIFREADERS? 878 $(O)gifread.o $(O)alloc.o $(O)panic.o 879?ENDLIST? 880 881?LIST:TEXT_IO? 882 $(O)tiletext.o $(O)tiletxt.o $(O)drawing.o 883 $(O)decl.o $(O)monst.o $(O)objects.o 884 $(O)stubvid.o 885?ENDLIST? 886 887PPMWRITERS = $(O)ppmwrite.o $(O)alloc.o $(O)panic.o 888 889?LIST:GIFREAD2? 890 $(O)gifread2.o $(O)alloc.o $(O)panic.o 891?ENDLIST? 892 893?LIST:TEXT_IO2? 894 $(O)tiletex2.o $(O)tiletxt2.o $(O)drawing.o 895 $(O)decl.o $(O)monst.o $(O)objects.o 896 $(O)stubvid.o 897?ENDLIST? 898 899PPMWRIT2 = $(O)ppmwrit2.o $(O)alloc.o $(O)panic.o 900 901TILEFILES = $(WSHR)\monsters.txt $(WSHR)\objects.txt $(WSHR)\other.txt 902 903TILEFILES2 = $(WSHR)\monthin.txt $(WSHR)\objthin.txt $(WSHR)\oththin.txt 904 905DLBOBJS = $(O)dlb_main.o $(O)dlb.o $(O)alloc.o $(O)panic.o 906 907# 908# Object files for the game itself. 909# 910 911OBJ01 = $(O)alloc.o $(RANDOM) $(O)decl.o $(O)objects.o \ 912 $(O)muse.o $(O)display.o $(O)vision.o \ 913 $(O)rect.o $(O)vis_tab.o $(O)monst.o $(O)wintty.o \ 914 $(O)files.o $(O)sys.o $(O)monstr.o $(O)minion.o \ 915 $(O)worm.o $(O)detect.o $(O)exper.o $(O)mplayer.o \ 916 $(O)uhitm.o $(O)pager.o $(O)windows.o $(O)quest.o \ 917 $(O)questpgr.o $(O)write.o $(O)drawing.o $(O)dokick.o \ 918 $(O)dothrow.o $(O)pickup.o $(O)pray.o $(O)spell.o \ 919 $(O)ball.o $(O)wield.o $(O)worn.o $(O)fountain.o \ 920 $(O)music.o $(O)rumors.o $(O)dlb.o $(O)sit.o \ 921 $(O)bones.o $(O)mklev.o $(O)save.o $(O)restore.o \ 922 $(O)mkmaze.o $(O)mkmap.o $(O)end.o $(O)o_init.o \ 923 $(O)options.o $(O)rip.o $(O)sound.o $(O)teleport.o \ 924 $(O)topten.o $(O)tty.o $(O)u_init.o $(O)extralev.o \ 925 $(O)sp_lev.o $(O)dig.o $(O)pckeys.o $(O)role.o \ 926 $(O)steed.o $(O)region.o 927 928OVL0 = $(O)allmain.0 $(O)apply.0 $(O)artifact.0 $(O)attrib.0 \ 929 $(O)botl.0 $(O)cmd.0 $(O)dbridge.0 $(O)do.0 \ 930 $(O)do_name.0 $(O)do_wear.0 $(O)dogmove.0 $(O)dungeon.0 \ 931 $(O)eat.0 $(O)engrave.0 $(O)hacklib.0 $(O)invent.0 \ 932 $(O)lock.0 $(O)pcmain.0 $(O)mail.0 $(O)makemon.0 \ 933 $(O)mcastu.0 $(O)mhitm.0 $(O)mhitu.0 $(O)mkobj.0 \ 934 $(O)mkroom.0 $(O)mon.0 $(O)mondata.0 $(O)monmove.0 \ 935 $(O)mthrowu.0 $(O)objnam.0 $(O)polyself.0 $(O)priest.0 \ 936 $(O)rnd.0 $(O)shknam.0 $(O)sounds.0 $(O)steal.0 \ 937 $(O)timeout.0 $(O)track.0 $(O)trap.0 $(O)vault.0 \ 938 $(O)weapon.0 $(O)were.0 $(O)wizard.0 $(O)msdos.0 \ 939 $(O)termcap.0 $(O)video.0 $(O)vidtxt.0 $(O)zap.0 \ 940 $(O)explode.0 $(O)shk.0 941 942OVL1 = $(O)allmain.1 $(O)apply.1 $(O)artifact.1 $(O)attrib.1 \ 943 $(O)botl.1 $(O)cmd.1 $(O)dbridge.1 $(O)do.1 \ 944 $(O)do_wear.1 $(O)dog.1 $(O)dungeon.1 $(O)eat.1 \ 945 $(O)engrave.1 $(O)hack.1 $(O)hacklib.1 $(O)invent.1 \ 946 $(O)makemon.1 $(O)mhitu.1 $(O)mkobj.1 $(O)mon.1 \ 947 $(O)mondata.1 $(O)monmove.1 $(O)mthrowu.1 $(O)objnam.1 \ 948 $(O)pcmain.1 $(O)polyself.1 $(O)rnd.1 $(O)shk.1 \ 949 $(O)steal.1 $(O)timeout.1 $(O)track.1 $(O)trap.1 \ 950 $(O)weapon.1 $(O)getline.1 $(O)termcap.1 $(O)topl.1 \ 951 $(O)video.1 $(O)zap.1 $(O)explode.1 952 953OVL2 = $(O)attrib.2 $(O)do.2 $(O)do_name.2 $(O)do_wear.2 \ 954 $(O)dog.2 $(O)engrave.2 $(O)hack.2 $(O)hacklib.2 \ 955 $(O)invent.2 $(O)makemon.2 $(O)mon.2 $(O)mondata.2 \ 956 $(O)monmove.2 $(O)getline.2 $(O)shk.2 $(O)topl.2 \ 957 $(O)trap.2 $(O)zap.2 958 959OVL3 = $(O)do.3 $(O)hack.3 $(O)invent.3 $(O)light.3 \ 960 $(O)shk.3 $(O)trap.3 $(O)zap.3 961 962 963OVLB = $(O)allmain.B $(O)apply.B $(O)artifact.B $(O)attrib.B \ 964 $(O)botl.B $(O)cmd.B $(O)dbridge.B $(O)do.B \ 965 $(O)do_name.B $(O)do_wear.B $(O)dog.B $(O)dogmove.B \ 966 $(O)eat.B $(O)engrave.B $(O)hack.B $(O)hacklib.B \ 967 $(O)invent.B $(O)lock.B $(O)mail.B $(O)makemon.B \ 968 $(O)mcastu.B $(O)mhitm.B $(O)mhitu.B $(O)mkobj.B \ 969 $(O)mkroom.B $(O)mon.B $(O)mondata.B $(O)monmove.B \ 970 $(O)mthrowu.B $(O)objnam.B $(O)pcmain.B $(O)pline.B \ 971 $(O)polyself.B $(O)potion.B $(O)priest.B $(O)read.B \ 972 $(O)rnd.B $(O)shk.B $(O)shknam.B $(O)sounds.B \ 973 $(O)steal.B $(O)timeout.B $(O)track.B $(O)trap.B \ 974 $(O)vault.B $(O)weapon.B $(O)were.B $(O)wizard.B \ 975 $(O)msdos.B $(O)pcunix.B $(O)termcap.B $(O)topl.B \ 976 $(O)video.B $(O)vidtxt.B $(O)zap.B 977 978TILOBJ = $(TILEGAME) $(TILEVGA) 979 980VVOBJ = $(O)version.o 981 982NVOBJ = $(OBJ01) $(OVL0) $(OVL1) $(OVL2) \ 983 $(OVL3) $(OVLB) $(TILOBJ) 984 985ALLOBJ= $(NVOBJ) $(VVOBJ) $(OVLINIT) 986 987# 988# Header objects 989# 990 991# This comment copied from sys/unix/Makefile.src, 992# extern.h is ignored, even though its declared function types may affect the 993# compilation of all the .c files, since extern.h changes every time the 994# type of an external function does, and we would spend all our time recompiling 995# if we did not ignore it. 996#EXTERN_H = $(INCL)\extern.h 997EXTERN_H = 998PCCONF_H = $(INCL)\pcconf.h $(INCL)\micro.h $(INCL)\system.h 999PERMONST_H = $(INCL)\monattk.h $(INCL)\monflag.h $(INCL)\align.h 1000YOUPROP_H = $(INCL)\prop.h $(PERMONST_H) $(INCL)\pm.h $(INCL)\youprop.h \ 1001 $(INCL)\mondata.h 1002YOU_H = $(INCL)\attrib.h $(INCL)\monst.h $(YOUPROP_H) $(INCL)\align.h 1003DECL_H = $(INCL)\quest.h $(INCL)\spell.h $(INCL)\color.h \ 1004 $(INCL)\obj.h $(YOU_H) $(INCL)\onames.h $(INCL)\pm.h 1005 1006CONFIG_H = $(INCL)\tradstdc.h $(INCL)\coord.h $(PCCONF_H) $(INCL)\config.h 1007HACK_H = $(CONFIG_H) $(INCL)\dungeon.h $(INCL)\align.h $(INCL)\monsym.h \ 1008 $(INCL)\mkroom.h $(INCL)\objclass.h $(DECL_H) \ 1009 $(INCL)\timeout.h $(INCL)\trap.h $(INCL)\flag.h $(INCL)\rm.h \ 1010 $(INCL)\vision.h $(INCL)\mondata.h $(INCL)\wintype.h \ 1011 $(INCL)\engrave.h $(INCL)\rect.h $(EXTERN_H) \ 1012 $(INCL)\winprocs.h $(INCL)\trampoli.h $(INCL)\display.h 1013TILE_H = $(INCL)\tile.h $(INCL)\pctiles.h 1014PCVIDEO_H = $(INCL)\portio.h $(INCL)\pcvideo.h 1015ALIGN_H = $(INCL)\align.h 1016ARTIFACT_H = $(INCL)\artifact.h 1017ARTILIST_H = $(INCL)\artilist.h 1018COLOR_H = $(INCL)\color.h 1019DATE_H = $(INCL)\date.h 1020DGN_FILE_H = $(INCL)\dgn_file.h 1021DLB_H = $(INCL)\dlb.h 1022EMIN_H = $(INCL)\emin.h 1023EPRI_H = $(INCL)\epri.h 1024ESHK_H = $(INCL)\eshk.h 1025EDOG_H = $(INCL)\edog.h 1026FUNC_TAB_H = $(INCL)\func_tab.h 1027LEV_H = $(INCL)\lev.h 1028LEV_COMP_H = $(INCL)\lev_comp.h 1029MAIL_H = $(INCL)\mail.h 1030MFNDPOS_H = $(INCL)\mfndpos.h 1031MONSYM_H = $(INCL)\monsym.h 1032OBJ_H = $(INCL)\obj.h 1033OBJCLASS_H = $(INCL)\objclass.h 1034OBJECTS_H = $(INCL)\objects.h 1035PROP_H = $(INCL)\prop.h 1036QTEXT_H = $(INCL)\qtext.h 1037QUEST_H = $(INCL)\quest.h 1038SP_LEV_H = $(INCL)\sp_lev.h 1039TERMCAP_H = $(INCL)\tcap.h 1040VAULT_H = $(INCL)\vault.h 1041VIS_TAB_H = $(INCL)\vis_tab.h 1042WINTTY_H = $(INCL)\wintty.h 1043 1044# 1045# In the unix distribution this file is patchlevel.h, make it 8.3 here 1046# to avoid an nmake warning under dos. 1047# 1048 1049PATCHLEVEL_H = $(INCL)\patchlev.h 1050 1051 1052# 1053# The name of the game. 1054# 1055 1056GAMEFILE = $(GAMEDIR)\$(GAME).exe 1057 1058# 1059# make data.base an 8.3 filename to prevent an nmake warning 1060# 1061 1062DATABASE = $(DAT)\data.bas 1063 1064####################################################################### 1065# 1066# TARGETS 1067 1068# 1069# The main target. 1070# 1071 1072$(GAME): obj.tag envchk $(U)utility.tag $(GAMEFILE) 1073 @echo $(GAME) is up to date. 1074 1075# 1076# Everything 1077# 1078 1079all : install 1080 1081install: $(GAME) install.tag 1082 @echo Done. 1083 1084 1085install.tag: $(DAT)\data $(DAT)\rumors $(DAT)\dungeon \ 1086 $(DAT)\oracles $(DAT)\quest.dat $(DAT)\sp_lev.tag $(DLB) 1087! IF ("$(USE_DLB)"=="Y") 1088 copy nhdat $(GAMEDIR) 1089 copy $(DAT)\license $(GAMEDIR) 1090! ELSE 1091 copy $(DAT)\*. $(GAMEDIR) 1092 copy $(DAT)\*.dat $(GAMEDIR) 1093 copy $(DAT)\*.lev $(GAMEDIR) 1094 copy $(MSYS)\msdoshlp.txt $(GAMEDIR) 1095 if exist $(GAMEDIR)\makefile del $(GAMEDIR)\makefile 1096! ENDIF 1097 copy $(SYS)\termcap $(GAMEDIR) 1098 if exist $(DOC)\guideb*.txt copy $(DOC)\guideb*.txt $(GAMEDIR) 1099 if exist $(DOC)\nethack.txt copy $(DOC)\nethack.txt $(GAMEDIR)\NetHack.txt 1100 if exist $(DOC)\recover.txt copy $(DOC)\recover.txt $(GAMEDIR) 1101 copy $(SYS)\nethack.cnf $(GAMEDIR)\defaults.nh 1102 copy $(U)recover.exe $(GAMEDIR) 1103 if exist *.tib copy *.tib $(GAMEDIR) 1104 echo install done > $@ 1105 1106$(DAT)\sp_lev.tag: $(U)utility.tag $(DAT)\bigroom.des $(DAT)\castle.des \ 1107 $(DAT)\endgame.des $(DAT)\gehennom.des $(DAT)\knox.des \ 1108 $(DAT)\medusa.des $(DAT)\oracle.des $(DAT)\tower.des \ 1109 $(DAT)\yendor.des $(DAT)\arch.des $(DAT)\barb.des \ 1110 $(DAT)\caveman.des $(DAT)\elf.des $(DAT)\healer.des \ 1111 $(DAT)\knight.des $(DAT)\priest.des $(DAT)\rogue.des \ 1112 $(DAT)\samurai.des $(DAT)\tourist.des $(DAT)\valkyrie.des \ 1113 $(DAT)\wizard.des 1114 cd $(DAT) 1115 $(U)lev_comp bigroom.des 1116 $(U)lev_comp castle.des 1117 $(U)lev_comp endgame.des 1118 $(U)lev_comp gehennom.des 1119 $(U)lev_comp knox.des 1120 $(U)lev_comp mines.des 1121 $(U)lev_comp medusa.des 1122 $(U)lev_comp oracle.des 1123 $(U)lev_comp tower.des 1124 $(U)lev_comp yendor.des 1125 $(U)lev_comp arch.des 1126 $(U)lev_comp barb.des 1127 $(U)lev_comp caveman.des 1128 $(U)lev_comp elf.des 1129 $(U)lev_comp healer.des 1130 $(U)lev_comp knight.des 1131 $(U)lev_comp priest.des 1132 $(U)lev_comp rogue.des 1133 $(U)lev_comp samurai.des 1134 $(U)lev_comp tourist.des 1135 $(U)lev_comp valkyrie.des 1136 $(U)lev_comp wizard.des 1137 cd $(SRC) 1138 echo sp_levs done > $(DAT)\sp_lev.tag 1139 1140$(U)utility.tag: envchk $(INCL)\date.h $(INCL)\onames.h \ 1141 $(INCL)\pm.h $(SRC)\monstr.c $(SRC)\vis_tab.c \ 1142 $(U)lev_comp.exe $(VIS_TAB_H) $(U)dgn_comp.exe \ 1143 $(U)recover.exe $(TILEUTIL) 1144 @echo utilities made >$@ 1145 @echo utilities made. 1146 1147tileutil: $(U)gif2txt.exe $(U)txt2ppm.exe 1148 @echo Optional tile development utilities are up to date. 1149 1150?MSC? 1151# The section for linking the NetHack image looks a little strange at 1152# first, especially if you are used to UNIX makes, or NDMAKE. It is 1153# Microsoft nmake specific, and it gets around the problem of the link 1154# command line being too long for the linker. An "in-line" linker 1155# response file is generated temporarily. 1156# 1157# It takes advantage of the following features of nmake: 1158?ENDMSC? 1159# 1160# Inline files : 1161# Specifying the "<<" means to start an inline file. 1162# Another "<<" at the start of a line closes the 1163# inline file. 1164# 1165?MSC? 1166# Substitution within Macros: 1167# $(mymacro:string1=string2) replaces every 1168# occurrence of string1 with string2 in the 1169# macro mymacro. Special ascii key codes may be 1170# used in the substitution text by preceding it 1171# with ^ as we have done below. Every occurrence 1172# of a <tab> in $(ALLOBJ) is replaced by 1173# <+><return><tab>. 1174# 1175?ENDMSC? 1176# DO NOT INDENT THE << below! 1177# 1178 1179?MSC? 1180$(GAMEFILE) : $(LNKOPT) $(ALLOBJ) 1181?ENDMSC? 1182?BC? 1183$(GAMEFILE) : $(ALLOBJ) 1184?ENDBC? 1185 @echo Linking.... 1186 $(LINK) $(LFLAGSN) @<<$(GAME).lnk 1187?BC? 1188 $(ALLOBJ) 1189?ENDBC? 1190?MSC? 1191 $(ALLOBJ:^ =+^ 1192 ) 1193?ENDMSC? 1194 $(GAMEFILE) 1195 $(GAME) 1196 $(TERMLIB) $(MOVETR) $(CLIB) $(BCOVL) $(BCMDL) 1197?MSC? 1198 $(LNKOPT); 1199?ENDMSC? 1200<< 1201 @if exist $(GAMEDIR)\$(GAME).bak del $(GAMEDIR)\$(GAME).bak 1202 1203# 1204# Makedefs Stuff 1205# 1206 1207$(U)makedefs.exe: $(MAKEOBJS) 1208 @$(LINK) $(LFLAGSU) $(MAKEOBJS), $@,, $(CLIB) $(BCMDL); 1209 1210$(O)makedefs.o: $(CONFIG_H) $(PERMONST_H) $(OBJCLASS_H) \ 1211 $(MONSYM_H) $(QTEXT_H) $(PATCHLEVEL_H) \ 1212 $(U)makedefs.c 1213 @$(CC) $(CFLAGSU) $(COBJNAM)$@ $(U)makedefs.c 1214 1215# 1216# date.h should be remade every time any of the source or include 1217# files is modified. 1218# 1219 1220$(INCL)\date.h : $(U)makedefs.exe 1221 $(U)makedefs -v 1222 @echo A new $@ has been created. 1223 1224$(INCL)\onames.h : $(U)makedefs.exe 1225 $(U)makedefs -o 1226 1227$(INCL)\pm.h : $(U)makedefs.exe 1228 $(U)makedefs -p 1229 1230#$(INCL)\trap.h : $(U)makedefs.exe 1231# $(U)makedefs -t 1232 1233$(SRC)\monstr.c: $(U)makedefs.exe 1234 $(U)makedefs -m 1235 1236$(INCL)\vis_tab.h: $(U)makedefs.exe 1237 $(U)makedefs -z 1238 1239$(SRC)\vis_tab.c: $(U)makedefs.exe 1240 $(U)makedefs -z 1241 1242# 1243# Level Compiler Stuff 1244# 1245 1246$(U)lev_comp.exe: $(SPLEVOBJS) 1247 @echo Linking $@... 1248?MSC? 1249 $(LINK) $(LFLAGSU) @<<$(@B).lnk 1250?ENDMSC? 1251?BC? 1252 $(LINK) $(LFLAGSU) @&&! 1253?ENDBC? 1254?LINKLIST:SPLEVOBJS? 1255 $@ 1256 $(@B) 1257 $(BCMDL); 1258?MSC? 1259<< 1260?ENDMSC? 1261?BC? 1262! 1263?ENDBC? 1264 1265$(O)lev_yacc.o: $(HACK_H) $(SP_LEV_H) $(INCL)\lev_comp.h $(U)lev_yacc.c 1266 @$(CC) $(CFLAGSU) $(COBJNAM)$@ $(U)lev_yacc.c 1267 1268$(O)lev_$(LEX).o: $(HACK_H) $(INCL)\lev_comp.h $(SP_LEV_H) \ 1269 $(U)lev_$(LEX).c 1270 $(CC) $(CFLAGSU) $(COBJNAM)$@ $(U)lev_$(LEX).c 1271 1272$(O)lev_main.o: $(U)lev_main.c $(HACK_H) $(SP_LEV_H) 1273 @$(CC) $(CFLAGSU) $(COBJNAM)$@ $(U)lev_main.c 1274 1275$(U)lev_yacc.c $(INCL)\lev_comp.h : $(U)lev_comp.y 1276! IF "$(DO_YACC)"=="YACC_ACT" 1277 $(YACC) -d -l $(U)lev_comp.y 1278 copy $(YTABC) $(U)lev_yacc.c 1279 copy $(YTABH) $(INCL)\lev_comp.h 1280 @del $(YTABC) 1281 @del $(YTABH) 1282! ELSE 1283 @echo. 1284 @echo $(U)lev_comp.y has changed. 1285 @echo To update $(U)lev_yacc.c and $(INCL)\lev_comp.h run $(YACC). 1286 @echo. 1287 @echo For now, we will copy the prebuilt lev_yacc.c 1288 @echo from $(SYS) to $(U)lev_yacc.c, and copy the prebuilt 1289 @echo lev_comp.h from $(SYS) to $(UTIL)\lev_comp.h 1290 @echo and use those. 1291 @echo. 1292 copy $(SYS)\lev_yacc.c $@ >nul 1293 touch $@ 1294 copy $(SYS)\lev_comp.h $(INCL)\lev_comp.h >nul 1295 touch $(INCL)\lev_comp.h 1296! ENDIF 1297 1298$(U)lev_$(LEX).c: $(U)lev_comp.l 1299! IF "$(DO_LEX)"=="LEX_ACT" 1300 $(LEX) $(FLEXSKEL) $(U)lev_comp.l 1301 copy $(LEXYYC) $@ 1302 @del $(LEXYYC) 1303! ELSE 1304 @echo. 1305 @echo $(U)lev_comp.l has changed. To update $@ run $(LEX). 1306 @echo. 1307 @echo For now, we will copy a prebuilt lev_lex.c 1308 @echo from $(SYS) to $@ and use it. 1309 @echo. 1310 copy $(SYS)\lev_lex.c $@ >nul 1311 touch $@ 1312! ENDIF 1313 1314# 1315# Dungeon Stuff 1316# 1317 1318$(U)dgn_comp.exe: $(DGNCOMPOBJS) 1319 @echo Linking $@... 1320?MSC? 1321 $(LINK) $(LFLAGSU) @<<$(@B).lnk 1322?ENDMSC? 1323?BC? 1324 $(LINK) $(LFLAGSU) @&&! 1325?ENDBC? 1326?LINKLIST:DGNCOMPOBJS? 1327 $@ 1328 $(@B) 1329 $(BCMDL); 1330?MSC? 1331<< 1332?ENDMSC? 1333?BC? 1334! 1335?ENDBC? 1336 1337$(O)dgn_yacc.o: $(HACK_H) $(DGN_FILE_H) $(INCL)\dgn_comp.h \ 1338 $(U)dgn_yacc.c 1339 @$(CC) $(CFLAGSU) $(COBJNAM)$@ $(U)dgn_yacc.c 1340 1341$(O)dgn_$(LEX).o: $(HACK_H) $(DGN_FILE_H) $(INCL)\dgn_comp.h \ 1342 $(U)dgn_$(LEX).c 1343 @$(CC) $(CFLAGSU) $(COBJNAM)$@ $(U)dgn_$(LEX).c 1344 1345$(O)dgn_main.o: $(HACK_H) $(U)dgn_main.c 1346 @$(CC) $(CFLAGSU) $(COBJNAM)$@ $(U)dgn_main.c 1347 1348$(U)dgn_yacc.c $(INCL)\dgn_comp.h : $(U)dgn_comp.y 1349! IF "$(DO_YACC)"=="YACC_ACT" 1350 $(YACC) -d -l $(U)dgn_comp.y 1351 copy $(YTABC) $(U)dgn_yacc.c 1352 copy $(YTABH) $(INCL)\dgn_comp.h 1353 @del $(YTABC) 1354 @del $(YTABH) 1355! ELSE 1356 @echo. 1357 @echo $(U)dgn_comp.y has changed. To update $@ and 1358 @echo $(INCL)\dgn_comp.h run $(YACC). 1359 @echo. 1360 @echo For now, we will copy the prebuilt dgn_yacc.c from 1361 @echo $(SYS) to $(U)dgn_yacc.c, and copy the prebuilt 1362 @echo dgn_comp.h from $(SYS) to $(INCL)\dgn_comp.h 1363 @echo and use those. 1364 @echo. 1365 copy $(SYS)\dgn_yacc.c $@ >nul 1366 touch $@ 1367 copy $(SYS)\dgn_comp.h $(INCL)\dgn_comp.h >nul 1368 touch $(INCL)\dgn_comp.h 1369! ENDIF 1370 1371$(U)dgn_$(LEX).c: $(U)dgn_comp.l 1372! IF "$(DO_LEX)"=="LEX_ACT" 1373 $(LEX) $(FLEXSKEL) $(U)dgn_comp.l 1374 copy $(LEXYYC) $@ 1375 @del $(LEXYYC) 1376! ELSE 1377 @echo. 1378 @echo $(U)dgn_comp.l has changed. To update $@ run $(LEX). 1379 @echo. 1380 @echo For now, we will copy a prebuilt dgn_lex.c 1381 @echo from $(SYS) to $@ and use it. 1382 @echo. 1383 copy $(SYS)\dgn_lex.c $@ >nul 1384 touch $@ 1385! ENDIF 1386 1387 1388obj.tag: 1389 @if not exist $(O)*.* mkdir $(OBJ) 1390 @echo directory $(OBJ) created 1391 @echo directory $(OBJ) created >$@ 1392 1393?MSC? 1394# 1395# The correct switches for the C compiler depend on the CL environment 1396# variable being set correctly. This will check that it is. 1397# The correct setting needs to be: 1398# CL= /AL /G2 /Oo /Gs /Gt16 /Zp1 /W0 /I..\include /nologo /DMOVERLAY 1399# 1400 1401?ENDMSC? 1402envchk: precomp.msg 1403?MSC? 1404! IF ("$(CL)"=="") 1405! MESSAGE The CL environment variable is not defined! 1406! MESSAGE You must CD $(MSYS) and execute the SETUP.BAT procedure 1407! MESSAGE ie. setup MSC 1408! MESSAGE 1409! ERROR 1410! ELSE 1411 @echo CL Environment variable is defined: 1412 @echo CL=$(CL) 1413! ENDIF 1414?ENDMSC? 1415?COMMENT? 1416# CL= /AL /G2 /Oo /Gs /Gt16 /Zp1 /W0 /I..\include /nologo /DMOVERLAY 1417?ENDCOMMENT? 1418?BC? 1419# 1420# Borland Configuration File Section 1421# 1422 @echo Making Borland configuration files... 1423 @echo -Y -O -Z -Oe -Ob -Os -Ff -I$(BCINCL);$(INCL) > $(BCCFG) 1424 @echo -m$(MODEL) -D__IO_H $(CFLGTOT) -DSTRNCMPI >> $(BCCFG) 1425 @type $(BCCFG) > CFLAGCO.CFG 1426 @type $(BCCFG) > CFLAGUO.CFG 1427 @type $(BCCFG) > CFLAGC0.CFG 1428 @type $(BCCFG) > CFLAGU0.CFG 1429 @type $(BCCFG) > CFLAGC1.CFG 1430 @type $(BCCFG) > CFLAGU1.CFG 1431 @type $(BCCFG) > CFLAGC2.CFG 1432 @type $(BCCFG) > CFLAGU2.CFG 1433 @type $(BCCFG) > CFLAGC3.CFG 1434 @type $(BCCFG) > CFLAGU3.CFG 1435 @type $(BCCFG) > CFLAGCB.CFG 1436 @type $(BCCFG) > CFLAGUB.CFG 1437 @echo -Y $(CFLAGCO) >> CFLAGCO.CFG 1438 @echo -Y $(CFLAGUO) >> CFLAGUO.CFG 1439 @echo -Y $(CFLAGC0) >> CFLAGC0.CFG 1440 @echo -Y $(CFLAGU0) >> CFLAGU0.CFG 1441 @echo -Y $(CFLAGC1) >> CFLAGC1.CFG 1442 @echo -Y $(CFLAGU1) >> CFLAGU1.CFG 1443 @echo -Y $(CFLAGC2) >> CFLAGC2.CFG 1444 @echo -Y $(CFLAGU2) >> CFLAGU2.CFG 1445 @echo -Y $(CFLAGC3) >> CFLAGC3.CFG 1446 @echo -Y $(CFLAGU3) >> CFLAGU3.CFG 1447 @echo -Y $(CFLAGCB) >> CFLAGCB.CFG 1448 @echo -Y $(CFLAGUB) >> CFLAGUB.CFG 1449?ENDBC? 1450! IF "$(TILEGAME)"=="" 1451 @echo. 1452 @echo NOTE: This build will NOT include tile support. 1453 @echo. 1454! ELSE 1455 @echo. 1456 @echo This build includes tile support. 1457 @echo. 1458! ENDIF 1459 1460# 1461# SECONDARY TARGETS 1462# 1463 1464# 1465# Header files NOT distributed in ..\include 1466# 1467 1468$(INCL)\tile.h: $(WSHR)\tile.h 1469 copy $(WSHR)\tile.h $@ 1470 1471$(INCL)\pctiles.h: $(MSYS)\pctiles.h 1472 copy $(MSYS)\pctiles.h $@ 1473 1474$(INCL)\pcvideo.h: $(MSYS)\pcvideo.h 1475 copy $(MSYS)\pcvideo.h $@ 1476 1477$(INCL)\portio.h: $(MSYS)\portio.h 1478 copy $(MSYS)\portio.h $@ 1479 1480# 1481# Recover Utility 1482# 1483 1484$(U)recover.exe: $(RECOVOBJS) 1485 @$(LINK) $(LFLAGSU) $(RECOVOBJS),$@,, $(CLIB) $(BCMDL); 1486 1487# 1488# Tile Mapping 1489# 1490 1491$(SRC)\tile.c: $(U)tilemap.exe 1492 @echo A new $@ is being created. 1493 @$(U)tilemap 1494 1495$(U)tilemap.exe: $(O)tilemap.o 1496 @$(LINK) $(LFLAGSU) $(O)tilemap.o,$@,, $(CLIB) $(BCMDL); 1497 1498$(O)tilemap.o: $(WSHR)\tilemap.c $(HACK_H) 1499 $(CC) $(CFLAGSU) $(COBJNAM)$@ $(WSHR)\tilemap.c 1500 1501 1502# 1503# Tile Utilities 1504# 1505 1506# 1507# Optional (for development) 1508# 1509 1510 1511 1512# 1513 1514$(U)gif2txt.exe: $(GIFREADERS) $(TEXT_IO) 1515 @$(LINK) $(LFLAGSU) $(GIFREADERS) $(TEXT_IO),$@,, \ 1516 $(CLIB) $(BCMDL); 1517 1518$(U)txt2ppm.exe: $(PPMWRITERS) $(TEXT_IO) 1519 @$(LINK) $(LFLAGSU) $(PPMWRITERS) $(TEXT_IO),$@,, \ 1520 $(CLIB) $(BCMDL); 1521 1522$(U)gif2txt2.exe: $(GIFREAD2) $(TEXT_IO2) 1523 @$(LINK) $(LFLAGSU) $(GIFREAD2) $(TEXT_IO2),$@,, \ 1524 $(CLIB) $(BCMDL); 1525 1526$(U)txt2ppm2.exe: $(PPMWRIT2) $(TEXT_IO2) 1527 @$(LINK) $(LFLAGSU) $(PPMWRIT2) $(TEXT_IO2),$@,, \ 1528 $(CLIB) $(BCMDL); 1529 1530# 1531# Required for tile support 1532# 1533 1534NetHack1.tib: $(TILEFILES) $(U)tile2bin.exe 1535 @echo Creating binary tile files (this may take some time) 1536 @$(U)tile2bin 1537 1538NetHackO.tib: thintile.tag $(TILEFILES2) $(U)til2bin2.exe 1539 @echo Creating overview binary tile files (this may take some time) 1540 @$(U)til2bin2 1541 1542thintile.tag: $(U)thintile.exe $(TILEFILES) 1543 $(U)thintile 1544 @echo thintiles created >thintile.tag 1545 1546$(U)tile2bin.exe: $(O)tile2bin.o $(TEXT_IO) 1547 @echo Linking $@... 1548?MSC? 1549 $(LINK) $(LFLAGSU) @<<$(@B).lnk 1550?ENDMSC? 1551?BC? 1552 $(LINK) $(LFLAGSU) @&&! 1553?ENDBC? 1554 $(O)tile2bin.o+ 1555?LINKLIST:TEXT_IO? 1556 $@ 1557 $(@B) 1558 $(BCMDL); 1559?MSC? 1560<< 1561?ENDMSC? 1562?BC? 1563! 1564?ENDBC? 1565 1566$(U)til2bin2.exe: $(O)til2bin2.o $(TEXT_IO2) 1567 @echo Linking $@... 1568?MSC? 1569 $(LINK) $(LFLAGSU) @<<$(@B).lnk 1570?ENDMSC? 1571?BC? 1572 $(LINK) $(LFLAGSU) @&&! 1573?ENDBC? 1574 $(O)til2bin2.o+ 1575?LINKLIST:TEXT_IO2? 1576 $@ 1577 $(@B) 1578 $(BCMDL); 1579?MSC? 1580<< 1581?ENDMSC? 1582?BC? 1583! 1584?ENDBC? 1585 1586 1587$(U)thintile.exe: $(O)thintile.o 1588 @$(LINK) $(LFLAGSU) $(O)thintile.o,$@,, $(CLIB) $(BCMDL); 1589 1590$(O)thintile.o: $(HACK_H) $(INCL)\tile.h $(WSHR)\thintile.c 1591 $(CC) $(CFLAGSU) $(COBJNAM)$@ $(WSHR)\thintile.c 1592 1593$(O)tile2bin.o: $(HACK_H) $(TILE_H) $(PCVIDEO_H) 1594 $(CC) $(CFLAGSU) $(COBJNAM)$@ $(MSYS)\tile2bin.c 1595 1596$(O)til2bin2.o: $(HACK_H) $(TILE_H) $(PCVIDEO_H) 1597 $(CC) $(CFLAGSU) $(CDEFINE)TILE_X=8 $(CDEFINE)OVERVIEW_FILE \ 1598 $(COBJNAM)$@ $(MSYS)\tile2bin.c 1599 1600?COMMENT? 1601$(U)tile2btb.exe: $(O)tile2btb.o $(GIFREADERS) 1602 @echo Linking $@... 1603 $(LINK) $(LFLAGSU) @&&! 1604 $(O)tile2btb.o+ 1605?LINKLIST:GIFREADERS? 1606 $@ 1607 $(@B) 1608 $(BCMDL) $(BGI_LIB); 1609! 1610 1611$(O)tile2btb.o: $(HACK_H) $(TILE_H) $(PCVIDEO_H) $(MSYS)\tile2btb.c 1612 $(CC) -DBGI_FILE $(CFLAGSU) $(COBJNAM)$@ $(MSYS)\tile2btb.c 1613?ENDCOMMENT? 1614 1615# 1616# DLB stuff 1617# 1618 1619nhdat: $(U)dlb_main.exe 1620 @copy $(MSYS)\msdoshlp.txt $(DAT) 1621 @cd $(DAT) 1622 @echo data >dlb.lst 1623 @echo oracles >>dlb.lst 1624 @echo options >>dlb.lst 1625 @echo quest.dat >>dlb.lst 1626 @echo rumors >>dlb.lst 1627 @echo help >>dlb.lst 1628 @echo hh >>dlb.lst 1629 @echo cmdhelp >>dlb.lst 1630 @echo history >>dlb.lst 1631 @echo opthelp >>dlb.lst 1632 @echo wizhelp >>dlb.lst 1633 @echo dungeon >>dlb.lst 1634 @echo license >>dlb.lst 1635 @echo msdoshlp.txt >>dlb.lst 1636 @for %%N in (*.lev) do echo %%N >>dlb.lst 1637 $(U)dlb_main cvIf dlb.lst $(SRC)\nhdat 1638 @cd $(SRC) 1639 1640$(U)dlb_main.exe: $(DLBOBJS) 1641 @$(LINK) $(LFLAGSU) $(DLBOBJS),$@,, $(CLIB) $(BCMDL); 1642 1643$(O)dlb_main.o: $(U)dlb_main.c $(INCL)\config.h $(DLB_H) 1644 $(CC) $(CFLAGSU) $(COBJNAM)$@ $(U)dlb_main.c 1645 1646# 1647# Housekeeping 1648# 1649 1650spotless: clean 1651 rmdir $(OBJ) 1652 if exist $(DATE_H) del $(DATE_H) 1653 if exist $(INCL)\onames.h del $(INCL)\onames.h 1654 if exist $(INCL)\pm.h del $(INCL)\pm.h 1655 if exist $(VIS_TAB_H) del $(VIS_TAB_H) 1656 if exist $(SRC)\vis_tab.c del $(SRC)\vis_tab.c 1657 if exist $(SRC)\tile.c del $(SRC)\tile.c 1658 if exist $(DAT)\rumors del $(DAT)\rumors 1659 if exist $(DAT)\data del $(DAT)\data 1660 if exist $(DAT)\dungeon del $(DAT)\dungeon 1661 if exist $(DAT)\dungeon.pdf del $(DAT)\dungeon.pdf 1662 if exist $(DAT)\options del $(DAT)\options 1663 if exist $(DAT)\oracles del $(DAT)\oracles 1664 if exist $(DAT)\rumors del $(DAT)\rumors 1665 if exist $(DAT)\quest.dat del $(DAT)\quest.dat 1666 if exist $(DAT)\*.lev del $(DAT)\*.lev 1667 if exist $(DAT)\sp_lev.tag del $(DAT)\sp_lev.tag 1668 if exist $(SRC)\monstr.c del $(SRC)\monstr.c 1669 if exist $(SRC)\vis_tab.c del $(SRC)\vis_tab.c 1670 if exist $(SRC)\$(PLANAR_TIB) del $(SRC)\$(PLANAR_TIB) 1671 if exist $(SRC)\$(OVERVIEW_TIB) del $(SRC)\$(OVERVIEW_TIB) 1672 if exist $(U)recover.exe del $(U)recover.exe 1673 1674clean: 1675 if exist $(O)*.o del $(O)*.o 1676 if exist $(O)*.0 del $(O)*.0 1677 if exist $(O)*.1 del $(O)*.1 1678 if exist $(O)*.2 del $(O)*.2 1679 if exist $(O)*.3 del $(O)*.3 1680 if exist $(O)*.b del $(O)*.b 1681 if exist $(U)utility.tag del $(U)utility.tag 1682 if exist $(U)makedefs.exe del $(U)makedefs.exe 1683 if exist $(U)lev_comp.exe del $(U)lev_comp.exe 1684 if exist $(U)dgn_comp.exe del $(U)dgn_comp.exe 1685 if exist $(U)dlb_main.exe del $(U)dlb_main.exe 1686 if exist $(SRC)\*.lnk del $(SRC)\*.lnk 1687 if exist $(SRC)\*.map del $(SRC)\*.map 1688 if exist $(SRC)\*$(CPCHEXT) del $(SRC)\*$(CPCHEXT) 1689?BC? 1690 if exist $(SRC)\*.cfg del $(SRC)\*.cfg 1691?ENDBC? 1692 if exist $(DAT)\dlb.lst del $(DAT)\dlb.lst 1693 1694pch.c: $(HACK_H) 1695 @echo ^#include "hack.h" > $@ 1696 @echo main(int argc, char *argv[]) >> $@ 1697 @echo { >> $@ 1698 @echo } >> $@ 1699 @echo. >> $@ 1700 1701# 1702# OTHER DEPENDENCIES 1703# 1704 1705# 1706# Precompiled Header dependencies 1707# (We need to force the generation of these at the beginning) 1708# 1709 1710PHO$(CPCHEXT): $(HACK_H) pch.c 1711 @echo Generating new precompiled header for .O files 1712 @$(CC) $(FLAGCO) pch.c 1713PH0$(CPCHEXT): $(HACK_H) pch.c 1714 @echo Generating new precompiled header for .0 files 1715 @$(CC) $(FLAGC0) pch.c 1716PH1$(CPCHEXT): $(HACK_H) pch.c 1717 @echo Generating new precompiled header for .1 files 1718 @$(CC) $(FLAGC1) pch.c 1719PH2$(CPCHEXT): $(HACK_H) pch.c 1720 @echo Generating new precompiled header for .2 files 1721 @$(CC) $(FLAGC2) pch.c 1722PH3$(CPCHEXT): $(HACK_H) pch.c 1723 @echo Generating new precompiled header for .3 files 1724 @$(CC) $(FLAGC3) pch.c 1725PHB$(CPCHEXT): $(HACK_H) pch.c 1726 @echo Generating new precompiled header for .B files 1727 @$(CC) $(FLAGCB) pch.c 1728 1729?MSC? 1730# 1731# Compiler supplied, manually moved file - MOVEINIT.C. 1732# - This is only compiled if you selected the alternate overlay 1733# schema3. (MOVEAPI.H must reside in your include search list, 1734# and MOVEINIT.C must be in your src directory). The patch 1735# in sys/msdos/moveinit.pat must be applied to moveinit.c 1736# MS will not allow us to distribute an already patched version. 1737 1738$(O)moveinit.o: $(SRC)\moveinit.c 1739 $(CC) $(CFLAGSN) $(COBJNAM)$@ $(MVTRCL) $(SRC)\moveinit.c 1740 1741$(SRC)\moveinit.c: 1742 @echo. 1743 @echo * CANNOT COMPLETE THE BUILD * 1744 @echo You must manually copy moveinit.c and moveinit.h 1745 @echo from your Microsoft C Compiler directory tree 1746 @echo source/move directory and apply the sys/msdos/moveinit.pat 1747 @echo patch to moveinit.c after doing so. 1748 @echo. 1749?ENDMSC? 1750 1751?BC? 1752# Overlay initialization routines used by pcmain() at startup to 1753# determine EMS/XMS memory usage. 1754 1755# Comment out the following line if you don't want Borland C++ to check for 1756# extended memory. 1757RECOGNIZE_XMS = $(CDEFINE)RECOGNIZE_XMS 1758 1759?ENDBC? 1760?MSC? 1761# Overlay initialization routines used by MOVEINIT.C 1762?ENDMSC? 1763 1764$(O)ovlinit.o: $(MSYS)\ovlinit.c $(HACK_H) 1765 $(CC) $(CFLAGSN) $(RECOGNIZE_XMS) $(COBJNAM)$@ $(MSYS)\ovlinit.c 1766 1767# 1768# dat dependencies 1769# 1770 1771$(DAT)\data: $(U)utility.tag $(DATABASE) 1772 $(U)makedefs -d 1773 1774$(DAT)\rumors: $(U)utility.tag $(DAT)\rumors.tru $(DAT)\rumors.fal 1775 $(U)makedefs -r 1776 1777$(DAT)\quest.dat: $(U)utility.tag $(DAT)\quest.txt 1778 $(U)makedefs -q 1779 1780$(DAT)\oracles: $(U)utility.tag $(DAT)\oracles.txt 1781 $(U)makedefs -h 1782 1783$(DAT)\dungeon: $(U)utility.tag $(DAT)\dungeon.def 1784 $(U)makedefs -e 1785 cd $(DAT) 1786 $(U)dgn_comp dungeon.pdf 1787 cd $(SRC) 1788 1789# 1790# Util Dependencies. 1791# 1792 1793$(O)panic.o: $(U)panic.c $(CONFIG_H) 1794 $(CC) $(CFLAGSU) $(COBJNAM)$@ $(U)panic.c 1795 1796$(O)recover.o: $(CONFIG_H) $(U)recover.c 1797 $(CC) $(CFLAGSU) $(COBJNAM)$@ $(U)recover.c 1798 1799# 1800# from win\share 1801# 1802 1803$(O)tiletxt.o: $(WSHR)\tilemap.c $(HACK_H) 1804 $(CC) $(CFLAGSU) $(CDEFINE)TILETEXT $(COBJNAM)$@ $(WSHR)\tilemap.c 1805 1806$(O)tiletxt2.o: $(WSHR)\tilemap.c $(HACK_H) 1807 $(CC) $(CFLAGSU) $(CDEFINE)TILETEXT \ 1808 $(CDEFINE)TILE_X=8 $(COBJNAM)$@ $(WSHR)\tilemap.c 1809 1810$(O)gifread.o: $(WSHR)\gifread.c $(CONFIG_H) $(INCL)\tile.h 1811 $(CC) $(CFLAGSU) $(COBJNAM)$@ $(WSHR)\gifread.c 1812 1813$(O)gifread2.o: $(WSHR)\gifread.c $(CONFIG_H) $(INCL)\tile.h 1814 $(CC) $(CFLAGSU) $(COBJNAM)$@ $(CDEFINE)TILE_X=8 $(WSHR)\gifread.c 1815 1816$(O)ppmwrite.o: $(WSHR)\ppmwrite.c $(CONFIG_H) $(INCL)\tile.h 1817 $(CC) $(CFLAGSU) $(COBJNAM)$@ $(WSHR)\ppmwrite.c 1818 1819$(O)ppmwrit2.o: $(WSHR)\ppmwrite.c $(CONFIG_H) $(INCL)\tile.h 1820 $(CC) $(CFLAGSU) $(COBJNAM)$@ $(CDEFINE)TILE_X=8 $(WSHR)\ppmwrite.c 1821 1822$(O)tiletext.o: $(WSHR)\tiletext.c $(CONFIG_H) $(INCL)\tile.h 1823 $(CC) $(CFLAGSU) $(COBJNAM)$@ $(WSHR)\tiletext.c 1824 1825$(O)tiletex2.o: $(WSHR)\tiletext.c $(CONFIG_H) $(INCL)\tile.h 1826 $(CC) $(CFLAGSU) $(CDEFINE)TILE_X=8 $(COBJNAM)$@ $(WSHR)\tiletext.c 1827 1828# 1829# from win\tty 1830# 1831 1832$(O)getline.1: $(PCH1) $(WTTY)\getline.c $(HACK_H) $(WINTTY_H) $(FUNC_TAB_H) 1833 $(CC) $(FLAGU1) ?[CSNAM1]$(COBJNAM)$@ $(WTTY)\getline.c 1834 1835$(O)getline.2: $(PCH2) $(WTTY)\getline.c $(HACK_H) $(WINTTY_H) $(FUNC_TAB_H) 1836 $(CC) $(FLAGU2) ?[CSNAM2]$(COBJNAM)$@ $(WTTY)\getline.c 1837 1838$(O)termcap.0: $(PCH0) $(WTTY)\termcap.c $(HACK_H) $(WINTTY_H) $(TERMCAP_H) 1839 $(CC) $(FLAGU0) ?[CSNAM0]$(COBJNAM)$@ $(WTTY)\termcap.c 1840 1841$(O)termcap.1: $(PCH1) $(WTTY)\termcap.c $(HACK_H) $(WINTTY_H) $(TERMCAP_H) 1842 $(CC) $(FLAGU1) ?[CSNAM1]$(COBJNAM)$@ $(WTTY)\termcap.c 1843 1844$(O)termcap.B: $(PCHB) $(WTTY)\termcap.c $(HACK_H) $(WINTTY_H) $(TERMCAP_H) 1845 $(CC) $(FLAGUB) ?[CSNAMB]$(COBJNAM)$@ $(WTTY)\termcap.c 1846 1847$(O)topl.1: $(PCH1) $(WTTY)\topl.c $(HACK_H) $(TERMCAP_H) $(WINTTY_H) 1848 $(CC) $(FLAGU1) ?[CSNAM1]$(COBJNAM)$@ $(WTTY)\topl.c 1849 1850$(O)topl.2: $(PCH2) $(WTTY)\topl.c $(HACK_H) $(TERMCAP_H) $(WINTTY_H) 1851 $(CC) $(FLAGU2) ?[CSNAM2]$(COBJNAM)$@ $(WTTY)\topl.c 1852 1853$(O)topl.B: $(PCHB) $(WTTY)\topl.c $(HACK_H) $(TERMCAP_H) $(WINTTY_H) 1854 $(CC) $(FLAGUB) ?[CSNAMB]$(COBJNAM)$@ $(WTTY)\topl.c 1855 1856$(O)wintty.o: $(PCHO) $(CONFIG_H) $(WTTY)\wintty.c $(PATCHLEVEL_H) 1857 $(CC) $(FLAGUO) ?[CSNAMOB]$(COBJNAM)$@ $(WTTY)\wintty.c 1858 1859# 1860# from sys\share 1861# 1862 1863$(O)pcmain.0: $(PCH0) $(HACK_H) $(SYS)\pcmain.c 1864 $(CC) $(FLAGU0) ?[CSNAM0]$(COBJNAM)$@ $(SYS)\pcmain.c 1865 1866$(O)pcmain.1: $(PCH1) $(HACK_H) $(SYS)\pcmain.c 1867 $(CC) $(FLAGU1) ?[CSNAM1]$(COBJNAM)$@ $(SYS)\pcmain.c 1868 1869$(O)pcmain.B: $(PCHB) $(HACK_H) $(SYS)\pcmain.c 1870 $(CC) $(FLAGUB) ?[CSNAMB]$(COBJNAM)$@ $(SYS)\pcmain.c 1871 1872$(O)pcunix.B: $(PCHB) $(SYS)\pcunix.c $(HACK_H) 1873 $(CC) $(FLAGUB) ?[CSNAMB]$(COBJNAM)$@ $(SYS)\pcunix.c 1874 1875$(O)tty.o: $(HACK_H) $(WINTTY_H) $(SYS)\pctty.c 1876 $(CC) $(CFLAGSN) ?[CSNAMOB]$(COBJNAM)$@ $(SYS)\pctty.c 1877 1878$(O)sys.o: $(HACK_H) $(SYS)\pcsys.c 1879 $(CC) $(CFLAGSN) ?[CSNAMOB]$(COBJNAM)$@ $(SYS)\pcsys.c 1880 1881$(O)random.o: $(PCHO) $(HACK_H) $(SYS)\random.c 1882 $(CC) $(FLAGUO) ?[CSNAMOB]$(COBJNAM)$@ $(SYS)\random.c 1883 1884# 1885# from sys\msdos 1886# 1887 1888$(O)msdos.0: $(MSYS)\msdos.c $(HACK_H) $(PCVIDEO_H) 1889?BC? 1890 $(CC) $(CFLAGSN) $(COVL0) $$($(@B)_0) $(COBJNAM)$@ $(MSYS)\msdos.c 1891?ENDBC? 1892?MSC? 1893 $(CC) $(FLAGU0) $(CCSNAM)$(@F) $(COBJNAM)$@ $(MSYS)\msdos.c 1894?ENDMSC? 1895?COMMENT? 1896 $(CC) $(CFLAGSN) $(COVL0) ?[CSNAM0]$(COBJNAM)$@ $(MSYS)\vidtxt.c 1897?ENDCOMMENT? 1898 1899$(O)msdos.B: $(MSYS)\msdos.c $(HACK_H) $(PCVIDEO_H) 1900?BC? 1901 $(CC) $(CFLAGSN) $(COVLB) $$($(@B)_b) $(COBJNAM)$@ $(MSYS)\msdos.c 1902?ENDBC? 1903?MSC? 1904 $(CC) $(FLAGUB) $(CCSNAM)$(@F) $(COBJNAM)$@ $(MSYS)\msdos.c 1905?ENDMSC? 1906?COMMENT? 1907 $(CC) $(CFLAGSN) $(COVLB) ?[CSNAMB]$(COBJNAM)$@ $(MSYS)\vidtxt.c 1908?ENDCOMMENT? 1909 1910$(O)pctiles.0: $(PCH0) $(MSYS)\pctiles.c $(HACK_H) $(TILE_H) $(PCVIDEO_H) 1911 $(CC) $(FLAGU0) ?[CSNAM0]$(COBJNAM)$@ $(MSYS)\pctiles.c 1912 1913$(O)pctiles.B: $(PCHB) $(MSYS)\pctiles.c $(HACK_H) $(TILE_H) $(PCVIDEO_H) 1914 $(CC) $(FLAGUB) ?[CSNAMB]$(COBJNAM)$@ $(MSYS)\pctiles.c 1915 1916$(O)sound.o: $(PCH0) $(MSYS)\sound.c $(HACK_H) $(INCL)\portio.h 1917 $(CC) $(FLAGUO) ?[CSNAMOB]$(COBJNAM)$@ $(MSYS)\sound.c 1918 1919$(O)pckeys.o: $(PCHO) $(MSYS)\pckeys.c $(HACK_H) $(PCVIDEO_H) 1920 $(CC) $(FLAGUO) ?[CSNAMOB]$(COBJNAM)$@ $(MSYS)\pckeys.c 1921 1922$(O)stubvid.o : $(MSYS)\video.c $(HACK_H) 1923 $(CC) $(FLAGUO) $(CDEFINE)STUBVIDEO ?[CSNAMOB]$(COBJNAM)$@ $(MSYS)\video.c 1924 1925$(O)video.0: $(PCH0) $(MSYS)\video.c $(HACK_H) $(WINTTY_H) $(PCVIDEO_H) \ 1926 $(TILE_H) 1927 $(CC) $(FLAGU0) ?[CSNAM0]$(COBJNAM)$@ $(MSYS)\video.c 1928 1929$(O)video.1: $(PCH1) $(MSYS)\video.c $(HACK_H) $(WINTTY_H) $(PCVIDEO_H) \ 1930 $(TILE_H) 1931 $(CC) $(FLAGU1) ?[CSNAM1]$(COBJNAM)$@ $(MSYS)\video.c 1932 1933$(O)video.B: $(PCHB) $(MSYS)\video.c $(HACK_H) $(WINTTY_H) $(PCVIDEO_H) \ 1934 $(TILE_H) 1935 $(CC) $(FLAGUB) ?[CSNAMB]$(COBJNAM)$@ $(MSYS)\video.c 1936 1937$(O)vidtxt.0: $(MSYS)\vidtxt.c $(HACK_H) $(WINTTY_H) $(PCVIDEO_H) 1938?BC? 1939 $(CC) $(CFLAGSN) $(COVL0) $$($(@B)_0) $(COBJNAM)$@ $(MSYS)\vidtxt.c 1940?ENDBC? 1941?MSC? 1942 $(CC) $(FLAGU0) $(CCSNAM)$(@F) $(COBJNAM)$@ $(MSYS)\vidtxt.c 1943?ENDMSC? 1944?COMMENT? 1945 $(CC) $(CFLAGSN) $(COVL0) ?[CSNAM0]$(COBJNAM)$@ $(MSYS)\vidtxt.c 1946?ENDCOMMENT? 1947 1948$(O)vidtxt.B: $(MSYS)\vidtxt.c $(HACK_H) $(WINTTY_H) $(PCVIDEO_H) 1949?BC? 1950 $(CC) $(CFLAGSN) $(COVLB) $$($(@B)_b) $(COBJNAM)$@ $(MSYS)\vidtxt.c 1951?ENDBC? 1952?MSC? 1953 $(CC) $(FLAGUB) $(CCSNAM)$(@F) $(COBJNAM)$@ $(MSYS)\vidtxt.c 1954?ENDMSC? 1955?COMMENT? 1956 $(CC) $(CFLAGSN) $(COVLB) ?[CSNAMB]$(COBJNAM)$@ $(MSYS)\vidtxt.c 1957?ENDCOMMENT? 1958 1959$(O)vidvga.0: $(PCH0) $(MSYS)\vidvga.c $(HACK_H) $(WINTTY_H) $(PCVIDEO_H) \ 1960 $(TILE_H) 1961 $(CC) $(FLAGU0) ?[CSNAM0]$(COBJNAM)$@ $(MSYS)\vidvga.c 1962 1963$(O)vidvga.1: $(PCH1) $(MSYS)\vidvga.c $(HACK_H) $(WINTTY_H) $(PCVIDEO_H) \ 1964 $(TILE_H) 1965 $(CC) $(FLAGU1) ?[CSNAM0]$(COBJNAM)$@ $(MSYS)\vidvga.c 1966 1967$(O)vidvga.2: $(PCH2) $(MSYS)\vidvga.c $(HACK_H) $(WINTTY_H) $(PCVIDEO_H) \ 1968 $(TILE_H) 1969 $(CC) $(FLAGU2) ?[CSNAM0]$(COBJNAM)$@ $(MSYS)\vidvga.c 1970 1971$(O)vidvga.B: $(PCHB) $(MSYS)\vidvga.c $(HACK_H) $(WINTTY_H) $(PCVIDEO_H) \ 1972 $(TILE_H) 1973 $(CC) $(FLAGUB) ?[CSNAMB]$(COBJNAM)$@ $(MSYS)\vidvga.c 1974 1975# 1976# from src 1977# 1978 1979$(O)alloc.o: $(SRC)\alloc.c $(CONFIG_H) 1980 $(CC) $(CFLAGSN) ?[CSNAMOB]$(COBJNAM)$@ $(SRC)\alloc.c 1981$(O)ball.o: $(PCHO) $(SRC)\ball.c $(HACK_H) 1982$(O)bones.o: $(PCHO) $(SRC)\bones.c $(HACK_H) $(LEV_H) 1983$(O)decl.o: $(PCHO) $(SRC)\decl.c $(HACK_H) $(QUEST_H) 1984$(O)detect.o: $(PCHO) $(SRC)\detect.c $(HACK_H) $(ARTIFACT_H) 1985$(O)dig.o: $(PCHO) $(SRC)\dig.c $(HACK_H) $(EDOG_H) # check dep 1986$(O)display.o: $(PCHO) $(SRC)\display.c $(HACK_H) 1987$(O)dlb.o: $(SRC)\dlb.c $(DLB_H) $(HACK_H) 1988 $(CC) $(CFLAGSN) ?[CSNAMOB]$(COBJNAM)$@ $(SRC)\dlb.c 1989$(O)dokick.o: $(PCHO) $(SRC)\dokick.c $(HACK_H) $(ESHK_H) 1990$(O)dothrow.o: $(PCHO) $(SRC)\dothrow.c $(HACK_H) 1991$(O)drawing.o: $(SRC)\drawing.c $(HACK_H) $(TERMCAP_H) 1992 $(CC) $(CFLAGSN) ?[CSNAMOB]$(COBJNAM)$@ $(SRC)\drawing.c 1993$(O)end.o: $(SRC)\end.c $(HACK_H) $(ESHK_H) $(DLB_H) 1994 $(CC) $(CFLAGSN) ?[CSNAMOB]$(COBJNAM)$@ $(SRC)\end.c 1995$(O)exper.o: $(PCHO) $(SRC)\exper.c $(HACK_H) 1996$(O)extralev.o: $(PCHO) $(SRC)\extralev.c $(HACK_H) 1997$(O)files.o: $(PCHO) $(SRC)\files.c $(HACK_H) $(DLB_H) 1998$(O)fountain.o: $(PCHO) $(SRC)\fountain.c $(HACK_H) 1999$(O)minion.o: $(PCHO) $(SRC)\minion.c $(HACK_H) $(EMIN_H) $(EPRI_H) 2000$(O)mklev.o: $(PCHO) $(SRC)\mklev.c $(HACK_H) 2001$(O)mkmap.o: $(PCHO) $(SRC)\mkmap.c $(HACK_H) $(SP_LEV_H) 2002$(O)mkmaze.o: $(PCHO) $(SRC)\mkmaze.c $(HACK_H) $(SP_LEV_H) $(LEV_H) 2003$(O)monst.o: $(SRC)\monst.c $(CONFIG_H) $(PERMONST_H) $(MONSYM_H) \ 2004 $(ESHK_H) $(EPRI_H) $(COLOR_H) $(ALIGN_H) 2005 $(CC) $(CFLAGSN) ?[CSNAMOB]$(COBJNAM)$@ $(SRC)\monst.c 2006$(O)monstr.o: $(SRC)\monstr.c $(CONFIG_H) 2007 $(CC) $(CFLAGSN) ?[CSNAMOB]$(COBJNAM)$@ $(SRC)\monstr.c 2008$(O)mplayer.o: $(PCHO) $(SRC)\mplayer.c $(HACK_H) 2009$(O)muse.o: $(PCHO) $(SRC)\muse.c $(HACK_H) 2010$(O)music.o: $(PCHO) $(SRC)\music.c $(HACK_H) 2011$(O)o_init.o: $(PCHO) $(SRC)\o_init.c $(HACK_H) $(LEV_H) 2012$(O)objects.o: $(SRC)\objects.c $(CONFIG_H) $(OBJ_H) $(OBJCLASS_H) \ 2013 $(PROP_H) $(COLOR_H) 2014 $(CC) $(CFLAGSN) ?[CSNAMOB]$(COBJNAM)$@ $(SRC)\objects.c 2015$(O)options.o: $(SRC)\options.c $(HACK_H) $(TERMCAP_H) $(OBJCLASS_H) 2016 $(CC) $(CFLAGSN) ?[CSNAMOB]$(COBJNAM)$@ $(SRC)\options.c 2017$(O)pager.o: $(SRC)\pager.c $(HACK_H) $(DLB_H) 2018 $(CC) $(CFLAGNO) $(COBJNAM)$@ ?[CSNAMOA]$(SRC)\pager.c 2019$(O)pickup.o: $(PCHO) $(SRC)\pickup.c $(HACK_H) 2020$(O)pray.o: $(PCHO) $(SRC)\pray.c $(HACK_H) $(EPRI_H) 2021$(O)quest.o: $(PCHO) $(SRC)\quest.c $(HACK_H) $(QUEST_H) $(QTEXT_H) 2022$(O)questpgr.o: $(PCHO) $(SRC)\questpgr.c $(HACK_H) $(QTEXT_H) $(DLB_H) 2023$(O)rect.o: $(PCHO) $(SRC)\rect.c $(HACK_H) 2024$(O)region.o: $(PCHO) $(SRC)\region.c $(HACK_H) 2025$(O)restore.o: $(PCHO) $(SRC)\restore.c $(HACK_H) $(LEV_H) $(TERMCAP_H) \ 2026 $(QUEST_H) 2027$(O)rip.o: $(PCHO) $(SRC)\rip.c $(HACK_H) 2028$(O)role.o: $(PCHO) $(SRC)\role.c $(HACK_H) 2029$(O)rumors.o: $(PCHO) $(SRC)\rumors.c $(HACK_H) $(DLB_H) 2030$(O)save.o: $(PCHO) $(SRC)\save.c $(HACK_H) $(LEV_H) $(QUEST_H) 2031$(O)sit.o: $(PCHO) $(SRC)\sit.c $(HACK_H) $(ARTIFACT_H) 2032$(O)steed.o: $(PCHO) $(SRC)\steed.c $(HACK_H) 2033$(O)sp_lev.o: $(PCHO) $(SRC)\sp_lev.c $(HACK_H) $(SP_LEV_H) $(DLB_H) 2034$(O)spell.o: $(PCHO) $(SRC)\spell.c $(HACK_H) 2035$(O)teleport.o: $(PCHO) $(SRC)\teleport.c $(HACK_H) # check dep 2036$(O)tile.o: $(PCHO) $(SRC)\tile.c $(HACK_H) 2037$(O)topten.o: $(PCHO) $(SRC)\topten.c $(HACK_H) $(DLB_H) $(PATCHLEVEL_H) 2038$(O)u_init.o: $(PCHO) $(SRC)\u_init.c $(HACK_H) 2039$(O)uhitm.o: $(PCHO) $(SRC)\uhitm.c $(HACK_H) 2040$(O)version.o: $(PCHO) $(SRC)\version.c $(HACK_H) $(PATCHLEVEL_H) 2041$(O)vision.o: $(PCHO) $(SRC)\vision.c $(HACK_H) $(VIS_TAB_H) 2042$(O)vis_tab.o: $(SRC)\vis_tab.c $(HACK_H) $(VIS_TAB_H) 2043 $(CC) $(CFLAGSN) ?[CSNAMOB]$(COBJNAM)$@ $(SRC)\vis_tab.c 2044$(O)wield.o: $(PCHO) $(SRC)\wield.c $(HACK_H) 2045$(O)windows.o: $(PCHO) $(SRC)\windows.c $(HACK_H) $(WINTTY_H) 2046$(O)worm.o: $(PCHO) $(SRC)\worm.c $(HACK_H) $(LEV_H) 2047$(O)worn.o: $(PCHO) $(SRC)\worn.c $(HACK_H) 2048$(O)write.o: $(PCHO) $(SRC)\write.c $(HACK_H) 2049 2050# 2051# Overlays 2052# 2053 2054# OVL0 2055# 2056 2057$(O)allmain.0: $(PCH0) $(SRC)\allmain.c $(HACK_H) 2058$(O)apply.0: $(PCH0) $(SRC)\apply.c $(HACK_H) $(EDOG_H) 2059$(O)artifact.0: $(PCH0) $(SRC)\artifact.c $(HACK_H) $(ARTIFACT_H) $(ARTILIST_H) 2060$(O)attrib.0: $(PCH0) $(SRC)\attrib.c $(HACK_H) 2061$(O)botl.0: $(PCH0) $(SRC)\botl.c $(HACK_H) 2062$(O)cmd.0: $(PCH0) $(SRC)\cmd.c $(HACK_H) $(FUNC_TAB_H) 2063$(O)dbridge.0: $(PCH0) $(SRC)\dbridge.c $(HACK_H) 2064$(O)do.0: $(PCH0) $(SRC)\do.c $(HACK_H) $(LEV_H) 2065$(O)do_name.0: $(PCH0) $(SRC)\do_name.c $(HACK_H) 2066$(O)do_wear.0: $(PCH0) $(SRC)\do_wear.c $(HACK_H) 2067$(O)dogmove.0: $(PCH0) $(SRC)\dogmove.c $(HACK_H) $(MFNDPOS_H) $(EDOG_H) 2068$(O)dungeon.0: $(PCH0) $(SRC)\dungeon.c $(HACK_H) $(ALIGN_H) $(DGN_FILE_H) \ 2069 $(DLB_H) 2070$(O)eat.0: $(PCH0) $(SRC)\eat.c $(HACK_H) 2071$(O)engrave.0: $(PCH0) $(SRC)\engrave.c $(HACK_H) $(LEV_H) 2072$(O)explode.0: $(PCH0) $(SRC)\explode.c $(HACK_H) 2073$(O)hacklib.0: $(PCH0) $(SRC)\hacklib.c $(HACK_H) 2074$(O)invent.0: $(PCH0) $(SRC)\invent.c $(HACK_H) $(ARTIFACT_H) 2075$(O)lock.0: $(PCH0) $(SRC)\lock.c $(HACK_H) 2076$(O)mail.0: $(PCH0) $(SRC)\mail.c $(HACK_H) $(MAIL_H) $(PATCHLEVEL_H) 2077$(O)makemon.0: $(PCH0) $(SRC)\makemon.c $(HACK_H) $(EPRI_H) $(EMIN_H) 2078$(O)mcastu.0: $(PCH0) $(SRC)\mcastu.c $(HACK_H) 2079$(O)mhitm.0: $(PCH0) $(SRC)\mhitm.c $(HACK_H) $(ARTIFACT_H) $(EDOG_H) 2080$(O)mhitu.0: $(PCH0) $(SRC)\mhitu.c $(HACK_H) $(ARTIFACT_H) $(EDOG_H) 2081$(O)mkobj.0: $(PCH0) $(SRC)\mkobj.c $(HACK_H) $(ARTIFACT_H) $(PROP_H) 2082$(O)mkroom.0: $(PCH0) $(SRC)\mkroom.c $(HACK_H) 2083$(O)mon.0: $(PCH0) $(SRC)\mon.c $(HACK_H) $(MFNDPOS_H) $(EDOG_H) 2084$(O)mondata.0: $(PCH0) $(SRC)\mondata.c $(HACK_H) $(ESHK_H) $(EPRI_H) 2085$(O)monmove.0: $(PCH0) $(SRC)\monmove.c $(HACK_H) $(MFNDPOS_H) $(ARTIFACT_H) 2086$(O)mthrowu.0: $(PCH0) $(SRC)\mthrowu.c $(HACK_H) 2087$(O)objnam.0: $(PCH0) $(SRC)\objnam.c $(HACK_H) 2088$(O)polyself.0: $(PCH0) $(SRC)\polyself.c $(HACK_H) 2089$(O)priest.0: $(PCH0) $(SRC)\priest.c $(HACK_H) $(MFNDPOS_H) $(ESHK_H) \ 2090 $(EPRI_H) $(EMIN_H) 2091$(O)rnd.0: $(PCH0) $(SRC)\rnd.c $(HACK_H) 2092$(O)shk.0: $(PCH0) $(SRC)\shk.c $(HACK_H) $(ESHK_H) 2093$(O)shknam.0: $(PCH0) $(SRC)\shknam.c $(HACK_H) $(ESHK_H) 2094$(O)sounds.0: $(PCH0) $(SRC)\sounds.c $(HACK_H) $(EDOG_H) 2095$(O)steal.0: $(PCH0) $(SRC)\steal.c $(HACK_H) 2096$(O)timeout.0: $(PCH0) $(SRC)\timeout.c $(HACK_H) $(LEV_H) 2097$(O)track.0: $(PCH0) $(SRC)\track.c $(HACK_H) 2098$(O)trap.0: $(PCH0) $(SRC)\trap.c $(HACK_H) 2099$(O)vault.0: $(PCH0) $(SRC)\vault.c $(HACK_H) $(VAULT_H) 2100$(O)weapon.0: $(PCH0) $(SRC)\weapon.c $(HACK_H) 2101$(O)were.0: $(PCH0) $(SRC)\were.c $(HACK_H) 2102$(O)wizard.0: $(PCH0) $(SRC)\wizard.c $(HACK_H) $(QTEXT_H) 2103$(O)zap.0: $(PCH0) $(SRC)\zap.c $(HACK_H) 2104 2105# 2106# OVL1 2107# 2108 2109$(O)allmain.1: $(PCH1) $(SRC)\allmain.c $(HACK_H) 2110$(O)apply.1: $(PCH1) $(SRC)\apply.c $(HACK_H) $(EDOG_H) 2111$(O)artifact.1: $(PCH1) $(SRC)\artifact.c $(HACK_H) $(ARTIFACT_H) $(ARTILIST_H) 2112$(O)attrib.1: $(PCH1) $(SRC)\attrib.c $(HACK_H) 2113$(O)botl.1: $(PCH1) $(SRC)\botl.c $(HACK_H) 2114$(O)cmd.1: $(PCH1) $(SRC)\cmd.c $(HACK_H) $(FUNC_TAB_H) 2115$(O)dbridge.1: $(PCH1) $(SRC)\dbridge.c $(HACK_H) 2116$(O)do.1: $(PCH1) $(SRC)\do.c $(HACK_H) $(LEV_H) 2117$(O)do_wear.1: $(PCH1) $(SRC)\do_wear.c $(HACK_H) 2118$(O)dog.1: $(PCH1) $(SRC)\dog.c $(HACK_H) $(EDOG_H) 2119$(O)dungeon.1: $(PCH1) $(SRC)\dungeon.c $(HACK_H) $(ALIGN_H) $(DGN_FILE_H) $(DLB_H) 2120$(O)eat.1: $(PCH1) $(SRC)\eat.c $(HACK_H) 2121$(O)engrave.1: $(PCH1) $(SRC)\engrave.c $(HACK_H) $(LEV_H) 2122$(O)explode.1: $(PCH1) $(SRC)\explode.c $(HACK_H) 2123$(O)hack.1: $(PCH1) $(SRC)\hack.c $(HACK_H) 2124$(O)hacklib.1: $(PCH1) $(SRC)\hacklib.c $(HACK_H) 2125$(O)invent.1: $(PCH1) $(SRC)\invent.c $(HACK_H) $(ARTIFACT_H) 2126$(O)makemon.1: $(PCH1) $(SRC)\makemon.c $(HACK_H) $(EPRI_H) $(EMIN_H) 2127$(O)mhitu.1: $(PCH1) $(SRC)\mhitu.c $(HACK_H) $(ARTIFACT_H) $(EDOG_H) 2128$(O)mkobj.1: $(PCH1) $(SRC)\mkobj.c $(HACK_H) $(ARTIFACT_H) $(PROP_H) 2129$(O)mon.1: $(PCH1) $(SRC)\mon.c $(HACK_H) $(MFNDPOS_H) $(EDOG_H) 2130$(O)mondata.1: $(PCH1) $(SRC)\mondata.c $(HACK_H) $(ESHK_H) $(EPRI_H) 2131$(O)monmove.1: $(PCH1) $(SRC)\monmove.c $(HACK_H) $(MFNDPOS_H) $(ARTIFACT_H) 2132$(O)mthrowu.1: $(PCH1) $(SRC)\mthrowu.c $(HACK_H) 2133$(O)objnam.1: $(PCH1) $(SRC)\objnam.c $(HACK_H) 2134$(O)polyself.1: $(PCH1) $(SRC)\polyself.c $(HACK_H) 2135$(O)rnd.1: $(PCH1) $(SRC)\rnd.c $(HACK_H) 2136$(O)shk.1: $(PCH1) $(SRC)\shk.c $(HACK_H) $(ESHK_H) 2137$(O)steal.1: $(PCH1) $(SRC)\steal.c $(HACK_H) 2138$(O)timeout.1: $(PCH1) $(SRC)\timeout.c $(HACK_H) $(LEV_H) 2139$(O)track.1: $(PCH1) $(SRC)\track.c $(HACK_H) 2140$(O)trap.1: $(PCH1) $(SRC)\trap.c $(HACK_H) 2141$(O)weapon.1: $(PCH1) $(SRC)\weapon.c $(HACK_H) 2142$(O)zap.1: $(PCH1) $(SRC)\zap.c $(HACK_H) 2143 2144# 2145# OVL2 2146# 2147 2148$(O)attrib.2: $(PCH2) $(SRC)\attrib.c $(HACK_H) 2149$(O)do.2: $(PCH2) $(SRC)\do.c $(HACK_H) $(LEV_H) 2150$(O)do_name.2: $(PCH2) $(SRC)\do_name.c $(HACK_H) 2151$(O)do_wear.2: $(PCH2) $(SRC)\do_wear.c $(HACK_H) 2152$(O)dog.2: $(PCH2) $(SRC)\dog.c $(HACK_H) $(EDOG_H) 2153$(O)engrave.2: $(PCH2) $(SRC)\engrave.c $(HACK_H) $(LEV_H) 2154$(O)hack.2: $(PCH2) $(SRC)\hack.c $(HACK_H) 2155$(O)hacklib.2: $(PCH2) $(SRC)\hacklib.c $(HACK_H) 2156$(O)invent.2: $(PCH2) $(SRC)\invent.c $(HACK_H) $(ARTIFACT_H) 2157$(O)makemon.2: $(PCH2) $(SRC)\makemon.c $(HACK_H) $(EPRI_H) $(EMIN_H) 2158$(O)mon.2: $(PCH2) $(SRC)\mon.c $(HACK_H) $(MFNDPOS_H) $(EDOG_H) 2159$(O)mondata.2: $(PCH2) $(SRC)\mondata.c $(HACK_H) $(ESHK_H) $(EPRI_H) 2160$(O)monmove.2: $(PCH2) $(SRC)\monmove.c $(HACK_H) $(MFNDPOS_H) $(ARTIFACT_H) 2161$(O)shk.2: $(PCH2) $(SRC)\shk.c $(HACK_H) $(ESHK_H) 2162$(O)trap.2: $(PCH2) $(SRC)\trap.c $(HACK_H) 2163$(O)zap.2: $(PCH2) $(SRC)\zap.c $(HACK_H) 2164 2165# 2166# OVL3 2167# 2168 2169$(O)do.3: $(PCH3) $(SRC)\do.c $(HACK_H) $(LEV_H) 2170$(O)hack.3: $(PCH3) $(SRC)\hack.c $(HACK_H) 2171$(O)invent.3: $(PCH3) $(SRC)\invent.c $(HACK_H) $(ARTIFACT_H) 2172$(O)light.3: $(PCH3) $(SRC)\light.c $(HACK_H) 2173$(O)shk.3: $(PCH3) $(SRC)\shk.c $(HACK_H) $(ESHK_H) 2174$(O)trap.3: $(PCH3) $(SRC)\trap.c $(HACK_H) 2175$(O)zap.3: $(PCH3) $(SRC)\zap.c $(HACK_H) 2176 2177# 2178# OVLB 2179# 2180 2181$(O)allmain.B: $(PCHB) $(SRC)\allmain.c $(HACK_H) 2182$(O)apply.B: $(PCHB) $(SRC)\apply.c $(HACK_H) $(EDOG_H) 2183$(O)artifact.B: $(PCHB) $(SRC)\artifact.c $(HACK_H) $(ARTIFACT_H) $(ARTILIST_H) 2184$(O)attrib.B: $(PCHB) $(SRC)\attrib.c $(HACK_H) 2185$(O)botl.B: $(PCHB) $(SRC)\botl.c $(HACK_H) 2186$(O)cmd.B: $(PCHB) $(SRC)\cmd.c $(HACK_H) $(FUNC_TAB_H) 2187$(O)dbridge.B: $(PCHB) $(SRC)\dbridge.c $(HACK_H) 2188$(O)do.B: $(PCHB) $(SRC)\do.c $(HACK_H) $(LEV_H) 2189$(O)do_name.B: $(PCHB) $(SRC)\do_name.c $(HACK_H) 2190$(O)do_wear.B: $(PCHB) $(SRC)\do_wear.c $(HACK_H) 2191$(O)dog.B: $(PCHB) $(SRC)\dog.c $(HACK_H) $(EDOG_H) 2192$(O)dogmove.B: $(PCHB) $(SRC)\dogmove.c $(HACK_H) $(MFNDPOS_H) $(EDOG_H) 2193$(O)eat.B: $(PCHB) $(SRC)\eat.c $(HACK_H) 2194$(O)engrave.B: $(PCHB) $(SRC)\engrave.c $(HACK_H) $(LEV_H) 2195$(O)hack.B: $(PCHB) $(SRC)\hack.c $(HACK_H) 2196$(O)hacklib.B: $(PCHB) $(SRC)\hacklib.c $(HACK_H) 2197$(O)invent.B: $(PCHB) $(SRC)\invent.c $(HACK_H) $(ARTIFACT_H) 2198$(O)lock.B: $(PCHB) $(SRC)\lock.c $(HACK_H) 2199$(O)mail.B: $(PCHB) $(SRC)\mail.c $(HACK_H) $(MAIL_H) $(PATCHLEVEL_H) 2200$(O)makemon.B: $(PCHB) $(SRC)\makemon.c $(HACK_H) $(EPRI_H) $(EMIN_H) 2201$(O)mcastu.B: $(PCHB) $(SRC)\mcastu.c $(HACK_H) 2202$(O)mhitm.B: $(PCHB) $(SRC)\mhitm.c $(HACK_H) $(ARTIFACT_H) $(EDOG_H) 2203$(O)mhitu.B: $(PCHB) $(SRC)\mhitu.c $(HACK_H) $(ARTIFACT_H) $(EDOG_H) 2204$(O)mkobj.B: $(PCHB) $(SRC)\mkobj.c $(HACK_H) $(ARTIFACT_H) $(PROP_H) 2205$(O)mkroom.B: $(PCHB) $(SRC)\mkroom.c $(HACK_H) 2206$(O)mon.B: $(PCHB) $(SRC)\mon.c $(HACK_H) $(MFNDPOS_H) $(EDOG_H) 2207$(O)mondata.B: $(PCHB) $(SRC)\mondata.c $(HACK_H) $(ESHK_H) $(EPRI_H) 2208$(O)monmove.B: $(PCHB) $(SRC)\monmove.c $(HACK_H) $(MFNDPOS_H) $(ARTIFACT_H) 2209$(O)mthrowu.B: $(PCHB) $(SRC)\mthrowu.c $(HACK_H) 2210$(O)objnam.B: $(PCHB) $(SRC)\objnam.c $(HACK_H) 2211$(O)pline.B: $(SRC)\pline.c $(HACK_H) $(EPRI_H) 2212 $(CC) $(CFLAGSN) ?[CSNAMB]$(COBJNAM)$@ $(SRC)\pline.c 2213$(O)polyself.B: $(PCHB) $(SRC)\polyself.c $(HACK_H) 2214$(O)potion.B: $(PCHB) $(SRC)\potion.c $(HACK_H) 2215$(O)priest.B: $(PCHB) $(SRC)\priest.c $(HACK_H) $(MFNDPOS_H) $(ESHK_H) \ 2216 $(EPRI_H) $(EMIN_H) 2217$(O)read.B: $(PCHB) $(SRC)\read.c $(HACK_H) 2218$(O)rnd.B: $(PCHB) $(SRC)\rnd.c $(HACK_H) 2219$(O)shk.B: $(PCHB) $(SRC)\shk.c $(HACK_H) $(ESHK_H) 2220$(O)shknam.B: $(PCHB) $(SRC)\shknam.c $(HACK_H) $(ESHK_H) 2221$(O)sounds.B: $(PCHB) $(SRC)\sounds.c $(HACK_H) $(EDOG_H) 2222$(O)steal.B: $(PCHB) $(SRC)\steal.c $(HACK_H) 2223$(O)timeout.B: $(PCHB) $(SRC)\timeout.c $(HACK_H) $(LEV_H) 2224$(O)track.B: $(PCHB) $(SRC)\track.c $(HACK_H) 2225$(O)trap.B: $(PCHB) $(SRC)\trap.c $(HACK_H) 2226$(O)vault.B: $(PCHB) $(SRC)\vault.c $(HACK_H) $(VAULT_H) 2227$(O)weapon.B: $(PCHB) $(SRC)\weapon.c $(HACK_H) 2228$(O)were.B: $(PCHB) $(SRC)\were.c $(HACK_H) 2229$(O)wizard.B: $(PCHB) $(SRC)\wizard.c $(HACK_H) $(QTEXT_H) 2230$(O)zap.B: $(PCHB) $(SRC)\zap.c $(HACK_H) 2231 2232# end of file 2233