1# NetHack Makefile. 2# SCCS Id: @(#)Makefile.ami 3.4 2002/21/02 3# Copyright (c) Kenneth Lorber, Bethesda, Maryland, 1991,1992,1993,1996. 4# NetHack may be freely redistributed. See license for details. 5 6### 7### INTRODUCTION 8### 9 10# This makefile is arranged for compiling for the Amiga with SAS/C 6.51 but 11# can be configured for compiling with Manx C 5 or commercial DICE with 12# simple changes. The appropriate changes are identified by #[compiler] 13# where compiler is one of: SAS6, MANX, or DICE; the options in this 14# makefile as should be set according to the compiler being used. (But see 15# note 3 below.) 16 17# Note: When using the Manx compiler, an alternate make utility is 18# required. The bundled Aztec make is just too damaged. 19 20# Note 2: The #SFD_xxx lines are used with mkdmake to generate a DMake- 21# compatible makefile (DMakefile) from this file. Any line beginning with 22# #SFD_INSTEAD replaces, in DMakefile, the following line from Makefile.ami. 23# #SFD_BEGIN, #SFD_ELSE, and #SFD_END bracket multi-line sections for the two 24# makefile formats. 25# When changing this file, #SFD_INSTEAD lines will need to be inserted for 26# the following cases: 27# - Dependencies with different numbers of filenames (both > 1) on 28# either side. The #SFD_INSTEAD line should immediately precede 29# the line with the colon, and should contain a double colon "::" 30# instead of a single colon. 31# - Special command lists that override the default. A line containing 32# "#SFD_INSTEAD #none" should precede such a rule. If the rule is 33# more than one line long, precede it with "#SFD_BEGIN" and 34# "#SFD_ELSE", and follow it with "#SFD_END". 35# - Files not in the src, sys/amiga, sys/share, or win/tty directories 36# that rely on the default ".c.o" rule. Following the dependency 37# should be "#SFD_INSTEAD <default>" with the filename inserted 38# into the default rule where appropriate, then a line contianing 39# "#none". 40# In any SFD_BEGIN/ELSE/END block added, put a '##' before every line 41# between the BEGIN and ELSE. Any line that's really a comment needs three 42# '#'s, e.g. "### DICE comment". 43 44# Note 2A: Whenever an SFD line/block is added, the appropriate repeat count 45# in mkdmake must be changed. (The repeat count "0" meaning "repeat 46# until end of file" doesn't work as advertised.) 47 48# Note 3: mkdmake will automatically substitute DICE flags, etc. for SAS 49# where appropriate. Since the makefile is already set up for SAS, 50# the only people who end up having to make changes here are Manx 51# users (or people who want to change the defaults). 52 53### 54### DIRECTORY STRUCTURE 55### 56 57NH = NH: 58SBIN = $(NH)sbin/ 59SLIB = $(NH)slib/ 60NETHACK = $(NH)NetHack/ 61HACKEXE = $(NH)HackExe/ 62AMI = $(NH)sys/amiga/ 63DAT = $(NH)dat/ 64DOC = $(NH)doc/ 65I = $(NH)include/ 66SHARE = $(NH)sys/share/ 67NHS = $(NH)src/ 68TTY = $(NH)win/tty/ 69WSHARE = $(NH)win/share/ 70UTIL = $(NH)util/ 71O = $(NH)obj/ 72OO = $(NH)objo/ 73# NB: O and OO MUST be different directories 74 75### 76### INVOCATION 77### 78 79#[SAS6] 80#MAKE = smake 81#[MANX] 82#MAKE = make 83#[DICE] 84#MAKE = dmake 85 86# Startup makefile with: 87# 88#[SAS6] 89#[MANX] 90# $(MAKE) -f $(AMI)Makefile.ami 91# $(MAKE) -f $(AMI)Makefile.ami install 92# 93#[DICE] 94# $(MAKE) -f $(AMI)DMakefile 95# $(MAKE) -f $(AMI)DMakefile install 96# 97# 98# You may use following targets on $(MAKE) command lines: 99# all do it all (default) 100# link just create binary from object files 101# obj just create common object files 102# obja just create amiga object files 103# objs just create shared object files 104# clean deletes the object files 105# spotless deletes the object files, main binary, and more 106# 107# Note: We do not build the Guidebook here since it needs tbl 108# (See the file sys/unix/Makefile.doc for more information) 109 110#X# Precompiled header files: 111#X# $(HDEP) should appear in any dependency list for an object file where 112#X# we would want to make use of the precompiled version of $(I)hack.h, 113#X# while $(CSYM) should appear in the C compiler command line that creates 114#X# any such object file. (Changes made here should agree with the $(HDEP): 115#X# target that appears later in this makefile.) 116#X# 117 118#SFD_BEGIN 119## 120###[DICE] 121### If we were compiling with DICE and wanted to use the symbol table 122### pre-loading feature, we would uncomment these following two lines. 123## 124##HDEP = $(I)hack.sym 125##CSYM = -H$(I)hack.sym=hack.h 126## 127#SFD_ELSE 128 129#[SAS5] 130# If we were to use the precompiled header file feature in a newer version 131# of SAS/C, we would comment out these following two lines. 132# If we don't use precompiled header files, we uncomment it as well. 133 134HDEP = $(I)hack.h $(I)pm.h $(I)onames.h 135CSYM = 136 137#[MANX] 138# If we were compiling with Aztec, and wanted to use the symbol table 139# pre-loading feature, we would uncomment these following two lines. 140 141#HDEP = Ram:hack.sym 142#CSYM = +IRam:hack.sym 143 144#SFD_END 145 146#Pathname for uudecode program: 147UUDEC = uudecode 148 149# Flex/Bison command assignments -- Useful only if you have flex/bison 150FLEX = flex 151BISON = bison 152# FBFIL and FBLIB may be used, if required by your version of flex or bison, 153# to specify additional files or libraries to be linked with 154FBFIL = 155FBLIB = #lib lib:compat.lib 156 157# If you're compiling this on a 1.3 system, you'll have to uncomment the 158# following (for use with the ifchange script below). Also useful instead of 159# "protect ifchange +s" 160EXECUTE = execute 161 162# Headers we depend on 163AMDEP = $(AMI)winproto.h $(AMI)winext.h $(AMI)windefs.h $(I)winami.h 164 165# Pathname for the C compiler being used. 166 167#SFD_BEGIN 168## 169###[DICE] 170##CC = dcc 171##ASM = das 172## 173#SFD_ELSE 174 175#[SAS6] 176CC = sc 177ASM = asm 178 179#[MANX] 180#CC = cc 181 182#SFD_END 183 184# Compilation flags for selected C Compiler: 185# $(CFLAGS) should appear before filename arguments of $(CC) command line. 186 187#SFD_BEGIN 188## 189###[DICE] 190##CFLAGS = -c -I$(I) -mC -mD -ms -// 191##CFLAGS2 = 192##WBCFLAGS = -c -I$(I) -mC -mD -ms -// 193##WBC2FLAGS = -DCLI 194##SPLFLAGS = -DSPLIT 195## 196#SFD_ELSE 197 198#[SAS6] 199# Note: make sure your CLI stack size is large (at least 50K) or lev_comp 200# and makedefs may fail terribly - stack checking is disabled. 201# 202# **** WARNING **** GST support is not fool proof. You must make makedefs 203# without a GST first so that the generated headers 204# that are part of the GST can be made. 205# 206#GSTSRC=$(AMI)gst.c 207# 208#GSTHEAD=$(I)hack.h $(I)pm.h $(I)trap.h $(I)onames.h \ 209# $(AMI)winami.p $(AMI)amidos.p $(AMI)amiwind.p 210# 211#GSTFILE=$(O)NetHack.gst 212# undefine this to not compile with GSTs 213#GST=gst=$(GSTFILE) 214# 215DEBUG=debug=symbol 216CPU=cpu=68000 217#OPTFLAGS=opt opttime optpeep optgo optinl optsched optcomp=10 optdep=5 optrdep=5 #optalias +OPTTIME -OPTSIZE 218CFLAGS = data=far nominc $(DEBUG) idir=$(I) $(CPU) nostkchk nover \ 219 codename=nhcode dataname=nhdata strmerge $(OPTFLAGS) $(TILES) $(SAVEDS) \ 220 afp $(ERRREXX) $(GST) 221# for files that are too large for the standard flags: 222CFLAGS2 = code=far strmerge $(SAVEDS) 223WBCFLAGS = ignore=217,62 data=far ansi nminc code=far idir=$(I) $(CPU) afp \ 224 $(DEBUG) $(ERRREXX) define=AMIGA $(GST) 225XXX = data=far ansi nminc idir=$(I) $(CPU) afp opt optinline optinlocal \ 226 optloop opttime 227WBC2FLAGS = define=CLI 228SPLFLAGS = define=SPLIT #dollarok 229#for amistack.c 230CFLAGS3 = data=near dataname=__MERGED nominc $(DEBUG) idir=$(I) $(CPU) nover nostkchk \ 231 codename=nhcode strmerge $(OPTFLAGS) $(TILES) $(SAVEDS) \ 232 afp $(ERRREXX) $(GST) 233 234#[MANX] 235#CFLAGS = -i$(I) -mc -md -ms -pa -ps -bs -wo -qq 236#WBCFLAGS = -mc -md -ms -pa -ps -bs -wo -qq -pp 237 238#SFD_END 239 240# Assembly flags: 241 242#SFD_BEGIN 243## 244###[DICE] 245##AFLAGS = 246##AOBJSPEC = -o 247## 248#SFD_ELSE 249 250#[SAS6] 251AFLAGS = #what to put here? 252AOBJSPEC = -o 253 254#SFD_END 255 256# Components of various link command lines: 257# $(LINK) should be the pathname of the linker being used (with any options 258# that should appear at the beginning of the command line). The name of the 259# output file should appear immediately after $(LNSPEC). $(LIN) should 260# appear before the list of object files in each link command. $(LLINK) 261# should appear as the list of object files in the link command line that 262# creates the NetHack executable. $(LLIB) should appear at the end of each 263# link command line. 264 265# Note: amiga.lib added due to missing prototypes/pragmas. 266# Should be deleted when this is resolved. 267 268#SFD_BEGIN 269## 270###[DICE] 271### If you have flex/bison libraries, use the second definition of FLLIB 272### instead of the first. 273## 274##LINK = dcc -mD 275##LIN = 276##LLINK = @$(AMI)ami.lnk 277##LLIB = 278##FLLIB = 279###FLLIB = -l$(FBLIB) 280##OBJSPEC = -o 281##PNSPEC = -o 282##LNSPEC = -o 283##CCLINK = dcc 284##CLFLAGS = -I$(I) -mC -mD -ms -// 285##INCLSPEC = -I 286##DEFSPEC = -D 287##IGNSPEC = -j 288## 289#SFD_ELSE 290 291#[SAS6] 292 293LINK = slink noicons verbose maxhunk 262144 stripdebug 294LIN = from lib:catch.o 295LLINK = with $(AMI)ami.lnk 296LLIB = lib lib:scnb.lib BATCH #lib lib:amiga.lib BATCH #scnb.lib or sc.lib 297FLLIB = $(FBLIB) lib Lib:sc.lib BATCH 298OBJSPEC = objname= 299PNSPEC = noicons to #pname= 300LNSPEC = to 301CCLINK = sc link 302INCLSPEC = idir= 303DEFSPEC = define= 304IGNSPEC = ignore= 305COMPACT_HEADERS=$(GSTFILE) 306 307#[MANX] 308 309#LINK = ln -g +q +ss -o 310#LIN = 311#LLINK = -f $(AMI)ami.lnk 312#LLIB = -lcl16 313#FLLIB = -lcl16 314#OBJSPEC = -o 315#PNSPEC = -o 316#LNSPEC = -o 317#CCLINK = cc 318#INCLSPEC = -i 319#DEFSPEC = -d 320#IGNSPEC = -j 321 322#SFD_END 323 324### 325### FILE LISTS 326### 327 328# A more reasonable random number generator (recommended for the Amiga): 329 330RANDOBJ = $(O)random.o 331 332#SFD_INSTEAD #none 333.PRECIOUS: $(I)config.h $(I)decl.h $(I)hack.h $(I)permonst.h $(I)you.h 334 335# Almost nothing below this line should have to be changed. 336# (Exceptions are marked by [SAS6], [MANX], etc.) 337# 338# Other things that have to be reconfigured are in config.h, 339# (amiconf.h, pcconf.h), and possibly system.h, tradstdc.h. 340 341# Object files for makedefs: 342 343MAKEOBJS = \ 344 $(OO)makedefs.o $(O)monst.o $(O)objects.o 345 346# Object files for special levels compiler: 347 348SPLEVOBJS = \ 349 $(OO)lev_yacc.o $(OO)lev_lex.o $(OO)lev_main.o \ 350 $(O)decl.o $(O)drawing.o $(O)monst.o \ 351 $(O)objects.o $(OO)panic.o 352 353# Object files for dungeon compiler 354 355DGNCOMPOBJS = \ 356 $(OO)dgn_yacc.o $(OO)dgn_lex.o $(OO)dgn_main.o $(O)alloc.o $(OO)panic.o 357 358# Object files for NetHack: 359 360COMMOBJ = \ 361 $(O)allmain.o $(O)alloc.o $(O)apply.o $(O)artifact.o \ 362 $(O)attrib.o $(O)ball.o $(O)bones.o $(O)botl.o \ 363 $(O)cmd.o $(O)dbridge.o $(O)decl.o $(O)detect.o \ 364 $(O)dig.o $(O)display.o $(O)dlb.o $(O)do.o \ 365 $(O)do_name.o $(O)do_wear.o $(O)dog.o $(O)dogmove.o \ 366 $(O)dokick.o $(O)dothrow.o $(O)drawing.o $(O)dungeon.o \ 367 $(O)eat.o $(O)end.o $(O)engrave.o $(O)exper.o \ 368 $(O)explode.o $(O)extralev.o $(O)files.o $(O)fountain.o \ 369 $(O)hack.o $(O)hacklib.o $(O)invent.o $(O)light.o \ 370 $(O)lock.o $(O)mail.o $(O)makemon.o $(O)mapglyph.o \ 371 $(O)mcastu.o $(O)mhitm.o $(O)mhitu.o $(O)minion.o \ 372 $(O)mklev.o $(O)mkmap.o $(O)mkmaze.o $(O)mkobj.o \ 373 $(O)mkroom.o $(O)mon.o $(O)mondata.o $(O)monmove.o \ 374 $(O)monst.o $(O)mplayer.o $(O)mthrowu.o $(O)muse.o \ 375 $(O)music.o $(O)o_init.o $(O)objects.o $(O)objnam.o \ 376 $(O)options.o $(O)pager.o $(O)pickup.o $(O)pline.o \ 377 $(O)polyself.o $(O)potion.o $(O)pray.o $(O)priest.o \ 378 $(O)quest.o $(O)questpgr.o $(O)read.o $(O)rect.o \ 379 $(O)region.o $(O)restore.o $(O)rnd.o $(O)role.o \ 380 $(O)rumors.o $(O)save.o $(O)shk.o $(O)shknam.o \ 381 $(O)sit.o $(O)sounds.o $(O)sp_lev.o $(O)spell.o \ 382 $(O)steal.o $(O)steed.o $(O)teleport.o $(O)timeout.o \ 383 $(O)topten.o $(O)track.o $(O)trap.o $(O)u_init.o \ 384 $(O)uhitm.o $(O)vault.o $(O)version.o $(O)vision.o \ 385 $(O)weapon.o $(O)were.o $(O)wield.o $(O)windows.o \ 386 $(O)wizard.o $(O)worm.o $(O)worn.o $(O)write.o \ 387 $(O)zap.o 388 389MAKEDEFOBJ = \ 390 $(O)monstr.o 391 392AMIGAOBJ = \ 393 $(O)amidos.o $(O)amirip.o $(O)amisnd.o $(O)amistack.o \ 394 $(O)amiwind.o $(O)winami.o $(O)winchar.o $(O)winfuncs.o \ 395 $(O)winkey.o $(O)winmenu.o $(O)winreq.o $(O)winstr.o 396 397# Objects from assembly sources (because DMake can't handle default rules) 398AMIGAOBJ2 = \ 399# $(O)dispmap.o 400 401SHAREOBJ = \ 402 $(O)pcmain.o $(RANDOBJ) 403 404TTYOBJ = \ 405 $(O)getline.o $(O)termcap.o $(O)topl.o $(O)wintty.o $(O)amitty.o \ 406 $(O)rip.o 407 408# Yuck yuck yuck. Have to tell DMake where these are, since they're not 409# all in the same place. 410TTYSRC = \ 411 $(TTY)getline.c $(TTY)termcap.c $(TTY)topl.c $(TTY)wintty.c \ 412 $(AMI)amitty.c $(NHS)rip.c 413 414# All the object files for NetHack: 415 416HOBJ = $(COMMOBJ) $(AMIGAOBJ) $(AMIGAOBJ2) $(SHAREOBJ) $(MAKEDEFOBJ) $(TTYOBJ) 417 418### 419### DATA FILES 420### 421 422# quest files 423ADFILES1= $(SLIB)Arc-fila.lev $(SLIB)Arc-filb.lev $(SLIB)Arc-loca.lev \ 424 $(SLIB)Arc-strt.lev 425ADFILES= $(SLIB)Arc-goal.lev $(ADFILES1) 426 427BDFILES1= $(SLIB)Bar-fila.lev $(SLIB)Bar-filb.lev $(SLIB)Bar-loca.lev \ 428 $(SLIB)Bar-strt.lev 429BDFILES= $(SLIB)Bar-goal.lev $(BDFILES1) 430 431CDFILES1= $(SLIB)Cav-fila.lev $(SLIB)Cav-filb.lev $(SLIB)Cav-loca.lev \ 432 $(SLIB)Cav-strt.lev 433CDFILES= $(SLIB)Cav-goal.lev $(CDFILES1) 434 435HDFILES1= $(SLIB)Hea-fila.lev $(SLIB)Hea-filb.lev $(SLIB)Hea-loca.lev \ 436 $(SLIB)Hea-strt.lev 437HDFILES= $(SLIB)Hea-goal.lev $(HDFILES1) 438 439KDFILES1= $(SLIB)Kni-fila.lev $(SLIB)Kni-filb.lev $(SLIB)Kni-loca.lev \ 440 $(SLIB)Kni-strt.lev 441KDFILES= $(SLIB)Kni-goal.lev $(KDFILES1) 442 443MDFILES1= $(SLIB)Mon-fila.lev $(SLIB)Mon-filb.lev $(SLIB)Mon-loca.lev \ 444 $(SLIB)Mon-strt.lev 445MDFILES= $(SLIB)Mon-goal.lev $(MDFILES1) 446 447PDFILES1= $(SLIB)Pri-fila.lev $(SLIB)Pri-filb.lev $(SLIB)Pri-loca.lev \ 448 $(SLIB)Pri-strt.lev 449PDFILES= $(SLIB)Pri-goal.lev $(PDFILES1) 450 451RDFILES1= $(SLIB)Rog-fila.lev $(SLIB)Rog-filb.lev $(SLIB)Rog-loca.lev \ 452 $(SLIB)Rog-strt.lev 453RDFILES= $(SLIB)Rog-goal.lev $(RDFILES1) 454 455RANFILES1= $(SLIB)Ran-fila.lev $(SLIB)Ran-filb.lev $(SLIB)Ran-loca.lev \ 456 $(SLIB)Ran-strt.lev 457RANFILES= $(SLIB)Ran-goal.lev $(RANFILES1) 458 459SDFILES1= $(SLIB)Sam-fila.lev $(SLIB)Sam-filb.lev $(SLIB)Sam-loca.lev \ 460 $(SLIB)Sam-strt.lev 461SDFILES= $(SLIB)Sam-goal.lev $(SDFILES1) 462 463TDFILES1= $(SLIB)Tou-fila.lev $(SLIB)Tou-filb.lev $(SLIB)Tou-loca.lev \ 464 $(SLIB)Tou-strt.lev 465TDFILES= $(SLIB)Tou-goal.lev $(TDFILES1) 466 467VDFILES1= $(SLIB)Val-fila.lev $(SLIB)Val-filb.lev $(SLIB)Val-loca.lev \ 468 $(SLIB)Val-strt.lev 469VDFILES= $(SLIB)Val-goal.lev $(VDFILES1) 470 471WDFILES1= $(SLIB)Wiz-fila.lev $(SLIB)Wiz-filb.lev $(SLIB)Wiz-loca.lev \ 472 $(SLIB)Wiz-strt.lev 473WDFILES= $(SLIB)Wiz-goal.lev $(WDFILES1) 474 475XDFILES= $(ADFILES) $(BDFILES) $(CDFILES) $(HDFILES) $(KDFILES) \ 476 $(MDFILES) $(PDFILES) $(RDFILES) $(RANFILES) $(SDFILES) $(TDFILES) \ 477 $(VDFILES) $(WDFILES) 478 479SOUNDFILES= \ 480 $(SBIN)cvtsnd \ 481 $(SLIB)sounds \ 482 $(SLIB)sounds/Bell $(SLIB)sounds/Bugle \ 483 $(SLIB)sounds/Drum_Of_Earthquake \ 484 $(SLIB)sounds/Fire_Horn $(SLIB)sounds/Frost_Horn \ 485 $(SLIB)sounds/Leather_Drum $(SLIB)sounds/Magic_Flute \ 486 $(SLIB)sounds/Magic_Harp $(SLIB)sounds/Tooled_Horn \ 487 $(SLIB)sounds/Wooden_Flute $(SLIB)sounds/Wooden_Harp 488 489TILEFILES= \ 490 $(SBIN)txt2iff \ 491 $(NETHACK)tiles \ 492 $(NETHACK)tiles/objects.iff \ 493 $(NETHACK)tiles/monsters.iff \ 494 $(NETHACK)tiles/other.iff 495 496INSTDUNGEONFILES1= \ 497 $(SLIB)air.lev $(SLIB)asmodeus.lev $(SLIB)astral.lev \ 498 $(SLIB)baalz.lev $(SLIB)bigrm-1.lev $(SLIB)bigrm-2.lev \ 499 $(SLIB)bigrm-3.lev $(SLIB)bigrm-4.lev $(SLIB)bigrm-5.lev \ 500 $(SLIB)castle.lev $(SLIB)dungeon $(SLIB)earth.lev \ 501 $(SLIB)fakewiz1.lev $(SLIB)fakewiz2.lev $(SLIB)fire.lev \ 502 $(SLIB)juiblex.lev $(SLIB)knox.lev $(SLIB)medusa-1.lev \ 503 $(SLIB)medusa-2.lev $(SLIB)minend-1.lev $(SLIB)minend-2.lev \ 504 $(SLIB)minetn-1.lev $(SLIB)minetn-2.lev $(SLIB)minefill.lev \ 505 $(SLIB)options $(SLIB)oracle.lev $(SLIB)orcus.lev \ 506 $(SLIB)sanctum.lev $(SLIB)soko1-1.lev $(SLIB)soko1-2.lev \ 507 $(SLIB)soko2-1.lev $(SLIB)soko2-2.lev $(SLIB)soko3-1.lev \ 508 $(SLIB)soko3-2.lev $(SLIB)soko4-1.lev $(SLIB)soko4-2.lev \ 509 $(SLIB)tower1.lev $(SLIB)tower2.lev $(SLIB)tower3.lev \ 510 $(SLIB)valley.lev $(SLIB)water.lev $(SLIB)wizard1.lev \ 511 $(SLIB)wizard2.lev $(SLIB)wizard3.lev \ 512 $(XDFILES) 513 514INSTDUNGEONFILES= $(NETHACK)NetHack.cnf $(INSTDUNGEONFILES1) 515 516 517INSTDATAFILES= \ 518 $(NETHACK)license $(NETHACK)logfile $(NETHACK)record \ 519 $(NETHACK)tomb.iff $(NETHACK)amii.hlp $(NETHACK)Recover.txt \ 520 $(NETHACK)GuideBook.txt $(NETHACK)NetHack.txt $(NETHACK)Install.ami 521 522LIBFILES= \ 523 $(INSTDUNGEONFILES1) \ 524 $(SLIB)cmdhelp $(SLIB)data $(SLIB)dungeon \ 525 $(SLIB)help $(SLIB)hh $(SLIB)history \ 526 $(SLIB)opthelp $(SLIB)oracles $(SLIB)rumors \ 527 $(SLIB)quest.dat $(SLIB)wizhelp 528 529### 530### Getting down to business: 531### 532 533#SFD_INSTEAD all: $(SBIN)lev_comp $(SBIN)dgn_comp $(SBIN)NetHack \ 534all: $(COMPACT_HEADERS) $(SBIN)lev_comp $(SBIN)dgn_comp $(SBIN)NetHack \ 535 $(SBIN)dlb $(NETHACK)recover 536 537install: all inst-data inst-dungeon inst-fonts inst-sounds inst-tiles \ 538 $(NETHACK)nhdat $(NETHACK)NetHack 539 540$(SBIN)NetHack: $(HOBJ) $(AMI)ami.lnk 541 $(LINK) $(LNSPEC) $(SBIN)NetHack $(LIN) $(LLINK) $(LLIB) 542 543$(NETHACK)NetHack: $(SBIN)NetHack 544 copy $(SBIN)NetHack $(NETHACK)NetHack 545 546link: 547 $(LINK) $(LNSPEC) $(SBIN)NetHack $(LIN) $(LLINK) $(LLIB) 548 549$(AMI)ami.lnk: $(AMI)Makefile.ami 550 list to $(AMI)ami.lnk lformat="$(O)%s" $(O)\#?.o QUICK NOHEAD 551 552## dlb support 553$(OO)dlb_main.o: $(UTIL)dlb_main.c $(HDEP) $(I)dlb.h $(I)date.h 554 $(CC) $(CFLAGS) $(OBJSPEC)$(OO)dlb_main.o $(UTIL)dlb_main.c 555 556$(SBIN)dlb: $(OO)dlb_main.o $(O)dlb.o $(O)alloc.o $(OO)panic.o 557 $(LINK) $(PNSPEC) $(SBIN)dlb $(LIN) $(OO)dlb_main.o $(O)dlb.o \ 558 $(O)alloc.o $(OO)panic.o $(LLIB) 559 560obj: $(HOBJ) 561 562obja: $(AMIGAOBJ) 563 564objs: $(SHAREOBJ) 565 566 567#SFD_BEGIN 568#SFD_ELSE 569SUFFIXES = .lev .des 570.des.lev: 571 $(SBIN)lev_comp $< 572#SFD_END 573 574 575# The default method for creating object files: 576 577#SFD_BEGIN 578## 579###[DICE] 580## 581##$(COMMOBJ): $(COMMOBJ:"$(O)*.o":"$(NHS)%1.c") 582## $(CC) $(CFLAGS) $(CSYM) $(OBJSPEC)%(left) %(right) 583## 584##$(AMIGAOBJ): $(AMIGAOBJ:"$(O)*.o":"$(AMI)%1.c") 585## $(CC) $(CFLAGS) $(CSYM) $(OBJSPEC)%(left) %(right) 586## 587##$(SHAREOBJ): $(SHAREOBJ:"$(O)*.o":"$(SHARE)%1.c") 588## $(CC) $(CFLAGS) $(CSYM) $(OBJSPEC)%(left) %(right) 589## 590##$(TTYOBJ): $(TTYSRC) 591## $(CC) $(CFLAGS) $(CSYM) $(OBJSPEC)%(left) %(right) 592## 593#SFD_ELSE 594 595#[SAS6] 596 597.c.o: 598 $(CC) $(CFLAGS) $(CSYM) $(OBJSPEC)$@ $< 599 600#SFD_END 601 602 603clean: 604 -delete $(O)\#?.o $(OO)\#?.o 605 606spotless: clean 607 -delete $(SBIN)NetHack $(SBIN)lev_comp $(SBIN)makedefs $(SBIN)dgn_comp 608 -delete $(SBIN)cvtsnd $(SBIN)dlb $(SBIN)txt2iff $(SBIN)splitter 609 -delete $(SBIN)tilemap 610 -delete $(SLIB)data $(SLIB)rumors 611 -delete $(SLIB)\#?.lev 612 -delete $(SLIB)dungeon 613 -delete $(SLIB)cmdhelp $(SLIB)help $(SLIB)hh $(SLIB)history 614 -delete $(SLIB)opthelp $(SLIB)options $(SLIB)oracles 615 -delete $(SLIB)quest.dat $(SLIB)wizhelp 616# -delete $(SLIB)earth.lev $(SLIB)air.lev $(SLIB)fire.lev 617# -delete $(SLIB)water.lev $(SLIB)astral.lev 618# -delete $(SLIB)tower1.lev $(SLIB)tower2.lev $(SLIB)tower3.lev 619# -delete $(SLIB)fakewiz1.lev $(SLIB)fakewiz2.lev 620# -delete $(SLIB)medusa-1.lev $(SLIB)medusa-2.lev 621# -delete $(SLIB)oracle.lev $(SLIB)wizard1.lev $(SLIB)wizard2.lev 622# -delete $(SLIB)wizard3.lev $(DAT)dungeon.pdf $(SLIB)valley.lev 623# -delete $(SLIB)minefill.lev 624# -delete $(SLIB)minetn-1 $(SLIB)minetn-2 $(SLIB)minend-1 $(SLIB)minend-2 625# -delete $(SLIB)soko1-1.lev $(SLIB)soko1-2.lev $(SLIB)soko2-1.lev 626# -delete $(SLIB)soko2-2.lev $(SLIB)soko3-1.lev $(SLIB)soko3-2.lev 627# -delete $(SLIB)soko4-1.lev $(SLIB)soko4-2.lev 628# -delete $(ADFILES) 629# -delete $(BDFILES) 630# -delete $(CDFILES) 631# -delete $(HDFILES) 632# -delete $(KDFILES) 633# -delete $(MDFILES) 634# -delete $(PDFILES) 635# -delete $(RDFILES) 636# -delete $(RANFILES) 637# -delete $(SDFILES) 638# -delete $(TDFILES) 639# -delete $(VDFILES) 640# -delete $(WDFILES) 641 -delete $(I)onames.h $(I)pm.h $(I)date.h 642 -delete $(NHS)tile.c $(NHS)monstr.c 643 -delete $(I)tile.h 644# -echo to $(I)onames.h "" noline 645# -wait 2 646# -echo to $(I)pm.h "" noline 647# -wait 2 648# -setdate $(UTIL)makedefs.c 649# -wait 2 650 651# Creating precompiled version of $(I)hack.h to save disk I/O. 652 653#SFD_BEGIN 654## 655###[DICE] 656### If we were compiling with DICE and wanted to use the symbol table 657### pre-loading feature, we would technically not need a rule to make the 658### precompiled header file, because DCC handles this automatically; 659### however, we must delete the precompiled header file if any of the 660### includes change, and we need to create it manually because the 661### sys/amiga sources, compiled first, define things differently than the 662### main sources want them. 663## 664##$(HDEP): $(I)hack.h $(I)pm.h $(I)onames.h 665## -delete $(I)hack.sym 666## echo to Ram:hackincl.c "#include <hack.h>" 667## $(CC) $(CFLAGS) $(CSYM) $(OBJSPEC)Ram:hackincl.o Ram:hackincl.c 668## -delete Ram:hackincl.c Ram:hackincl.o 669## 670#SFD_ELSE 671 672#X#[SAS5] 673#X# If we were to use the precompiled header file feature of SAS/C, we 674#X# would uncomment the following lines. (Also see defines for HDEP and 675#X# CSYM near the beginning of this file, as these should be appropriately 676#X# defined.) 677 678#X#$(HDEP): $(I)hack.h $(SBIN)makedefs 679#X# echo to Ram:hackincl.c "#include <$(I)hack.h>" 680#X# $(CC) $(CFLAGS) -ph $(OBJSPEC)$@ Ram:hackincl.c 681#X# -delete Ram:hackincl.c 682 683#[MANX] 684# If we were compiling with Aztec, and wanted to use the symbol table 685# pre-loading feature, we would uncomment these following two lines. 686 687#$(HDEP): $(I)hack.h $(SBIN)makedefs 688# $(CC) $(CFLAGS) -a $(OBJSPEC)Ram:hack.asm +h$@ $(I)hack.h 689# -delete Ram:hack.asm 690 691#SFD_END 692 693# 694# Please note: The dependency lines for the modules here are 695# deliberately incorrect. Including "hack.h" in 696# the dependency list would cause a dependency 697# loop. 698# 699 700$(SBIN)makedefs: $(MAKEOBJS) 701 $(LINK) $(LNSPEC) $(SBIN)makedefs $(LIN) $(MAKEOBJS) $(LLIB) 702 703$(OO)makedefs.o: $(UTIL)makedefs.c $(I)config.h $(I)permonst.h $(I)monsym.h \ 704 $(I)objclass.h $(I)patchlevel.h $(I)qtext.h $(I)artilist.h 705 $(CC) $(DEFSPEC)MAKEDEFS_C $(CFLAGS) $(OBJSPEC)$@ $(UTIL)makedefs.c 706 707$(SBIN)lev_comp: $(SPLEVOBJS) 708 $(LINK) $(LNSPEC) $(SBIN)lev_comp $(LIN) $(SPLEVOBJS) $(FBFIL) $(FLLIB) 709 710$(SBIN)dgn_comp: $(DGNCOMPOBJS) 711 $(LINK) $(LNSPEC) $(SBIN)dgn_comp $(LIN) $(DGNCOMPOBJS) $(FBFIL) $(FLLIB) 712 713$(OO)lev_yacc.o: $(UTIL)lev_yacc.c $(HDEP) $(I)sp_lev.h $(I)pm.h $(I)onames.h 714# setdate $(UTIL)lev_yacc.c 715 $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)PREFIX="NH:slib/" $(CFLAGS) \ 716 $(DEFSPEC)alloca=malloc $(OBJSPEC)$@ $(UTIL)lev_yacc.c 717 718$(OO)lev_lex.o: $(UTIL)lev_lex.c $(HDEP) $(I)lev_comp.h $(I)sp_lev.h 719 $(CC) $(DEFSPEC)LEV_LEX_C $(CFLAGS) $(OBJSPEC)$@ $(UTIL)lev_lex.c 720 721$(OO)lev_main.o: $(UTIL)lev_main.c $(HDEP) $(I)pm.h $(I)onames.h $(I)date.h 722 $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)AMIGA $(CFLAGS) $(OBJSPEC)$@ \ 723 $(UTIL)lev_main.c 724 725$(OO)dgn_yacc.o: $(UTIL)dgn_yacc.c $(HDEP) $(I)dgn_file.h $(I)patchlevel.h 726 $(CC) $(DEFSPEC)LEV_LEX_C $(CFLAGS) $(DEFSPEC)alloca=malloc \ 727 $(OBJSPEC)$@ $(UTIL)dgn_yacc.c 728 729$(OO)dgn_lex.o: $(UTIL)dgn_lex.c $(I)config.h $(I)dgn_comp.h $(I)dgn_file.h 730 $(CC) $(DEFSPEC)LEV_LEX_C $(CFLAGS) $(OBJSPEC)$@ $(UTIL)dgn_lex.c 731 732$(OO)dgn_main.o: $(UTIL)dgn_main.c $(I)config.h $(I)date.h 733 $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)AMIGA $(CFLAGS) $(OBJSPEC)$@ \ 734 $(UTIL)dgn_main.c 735 736$(OO)panic.o: $(UTIL)panic.c $(HDEP) 737#SFD_INSTEAD $(CC) $(CFLAGS) $(OBJSPEC)%(left) $(UTIL)panic.c 738#none 739 740$(OO)recover.o: $(UTIL)recover.c $(I)config.h $(I)date.h 741 $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)AMIGA $(CFLAGS) $(OBJSPEC)$@ \ 742 $(UTIL)recover.c 743 744$(NETHACK)recover: $(OO)recover.o 745 $(LINK) $(LNSPEC) $(NETHACK)recover $(LIN) $(OO)recover.o $(LLIB) 746 747# [OPTION] -- If you have flex/bison, leave these uncommented. Otherwise, 748# comment them out and be careful! (You're not guaranteed to have the most 749# up to date *_comp.c, *_comp.h and *_lex.c) 750 751$(I)lev_comp.h: $(UTIL)lev_yacc.c $(I)patchlevel.h 752 753$(UTIL)lev_yacc.c: $(UTIL)lev_comp.y $(I)patchlevel.h 754 $(BISON) -d $(UTIL)lev_comp.y 755# copy y.tab.c $(UTIL)lev_yacc.c 756# copy y.tab.h $(I)lev_comp.h 757 copy $(UTIL)lev_comp.tab.c $(UTIL)lev_yacc.c 758 copy $(UTIL)lev_comp.tab.h $(I)lev_comp.h 759# delete y.tab.c 760# delete y.tab.h 761 delete $(UTIL)lev_comp.tab.c 762 delete $(UTIL)lev_comp.tab.h 763 764$(UTIL)lev_lex.c: $(UTIL)lev_comp.l $(I)patchlevel.h 765 $(FLEX) $(UTIL)lev_comp.l 766 copy lex.yy.c $(UTIL)lev_lex.c 767 delete lex.yy.c 768 769$(I)dgn_comp.h: $(UTIL)dgn_yacc.c $(I)patchlevel.h 770 771$(UTIL)dgn_yacc.c: $(UTIL)dgn_comp.y $(I)patchlevel.h 772 $(BISON) -d $(UTIL)dgn_comp.y 773# copy y.tab.c $(UTIL)dgn_yacc.c 774# copy y.tab.h $(I)dgn_comp.h 775 copy $(UTIL)dgn_comp.tab.c $(UTIL)dgn_yacc.c 776 copy $(UTIL)dgn_comp.tab.h $(I)dgn_comp.h 777# delete y.tab.c 778# delete y.tab.h 779 delete $(UTIL)dgn_comp.tab.c 780 delete $(UTIL)dgn_comp.tab.h 781 782$(UTIL)dgn_lex.c: $(UTIL)dgn_comp.l $(I)patchlevel.h 783 $(FLEX) $(UTIL)dgn_comp.l 784 copy lex.yy.c $(UTIL)dgn_lex.c 785 delete lex.yy.c 786 787# 788# The following include files depend on makedefs to be created. 789# As a result, they are not defined in HACKINCL, instead, their 790# dependencies are explicitly outlined here. 791# 792 793# 794# date.h should be remade any time any of the source or include code 795# is modified. Unfortunately, this would make the contents of this 796# file far more complex. Since "hack.h" depends on most of the include 797# files, we kludge around this by making date.h dependent on hack.h, 798# even though it doesn't include this file. 799# 800 801#SFD_INSTEAD $(I)date.h $(DAT)options:: $(HDEP) $(SBIN)makedefs $(AMIGAOBJ) 802$(I)date.h $(DAT)options: $(HDEP) $(SBIN)makedefs $(AMIGAOBJ) $(I)patchlevel.h 803 $(SBIN)makedefs -v 804 $(EXECUTE) $(AMI)ifchange MOVE $(I)t.date.h $(I)date.h 805 -wait 2 806 807$(I)onames.h: $(SBIN)makedefs 808 $(SBIN)makedefs -o 809 $(EXECUTE) $(AMI)ifchange TOUCH $(I)t.onames.h $(I)onames.h $(I)decl.h 810 $(EXECUTE) $(AMI)ifchange MOVE $(I)t.onames.h $(I)onames.h 811 -wait 2 812 813$(I)pm.h: $(SBIN)makedefs 814 $(SBIN)makedefs -p 815 $(EXECUTE) $(AMI)ifchange TOUCH $(I)t.pm.h $(I)pm.h $(I)decl.h $(I)youprop.h 816 $(EXECUTE) $(AMI)ifchange MOVE $(I)t.pm.h $(I)pm.h 817 -wait 2 818 819$(SLIB)quest.dat: $(DAT)quest.txt $(SBIN)makedefs 820 $(SBIN)makedefs -q 821 822$(NHS)monstr.c: $(HDEP) $(SBIN)makedefs 823 $(SBIN)makedefs -m 824 -wait 2 825 826$(SLIB)oracles: $(DAT)oracles.txt $(SBIN)makedefs 827 $(SBIN)makedefs -h 828 -wait 2 829 830# 831# The following programs vary depending on what OS you are using. 832# As a result, they are not defined in HACKSRC and their dependencies 833# are explicitly outlined here. 834# 835 836$(O)amidos.o: $(AMI)amidos.c $(HDEP) 837 838$(O)amirip.o: $(AMI)amirip.c $(HDEP) 839 840$(O)aglue.o: $(AMI)aglue.a 841 $(ASM) $(AFLAGS) $(AOBJSPEC)$(O)aglue.o $(AMI)aglue.a 842 843$(O)amisnd.o: $(AMI)amisnd.c $(HDEP) 844 845$(O)winchar.o: $(AMI)winchar.c $(NHS)tile.c $(HDEP) 846 847$(NHS)tile.c: $(WSHARE)tilemap.c 848#SFD_INSTEAD $(CCLINK) $(CLFLAGS) $(PNSPEC) $(SBIN)tilemap $(WSHARE)tilemap.c 849 $(CCLINK) $(CFLAGS) $(PNSPEC) $(SBIN)tilemap $(WSHARE)tilemap.c 850 $(SBIN)tilemap 851 852$(O)winstr.o: $(AMI)winstr.c $(HDEP) $(AMDEP) 853 854$(O)winreq.o: $(AMI)winreq.c $(HDEP) $(AMDEP) $(AMI)colorwin.c $(AMI)clipwin.c 855 856$(O)winfuncs.o: $(AMI)winfuncs.c $(HDEP) $(AMDEP) $(I)patchlevel.h 857 858$(O)winkey.o: $(AMI)winkey.c $(HDEP) $(AMDEP) 859 860$(O)winmenu.o: $(AMI)winmenu.c $(HDEP) $(AMDEP) 861 862$(O)winami.o: $(AMI)winami.c $(HDEP) $(AMDEP) #$(AMI)char.c $(AMI)randwin.c 863 864#$(O)amilib.o: $(AMI)amilib.c $(HDEP) $(AMDEP) 865 866$(O)amiwind.o: $(AMI)amiwind.c $(AMI)amimenu.c $(HDEP) $(AMDEP) 867 868$(O)amiwbench.o: $(AMI)amiwbench.c $(HDEP) 869 870$(O)random.o: $(SHARE)random.c 871 872$(O)pcmain.o: $(SHARE)pcmain.c $(HDEP) $(I)dlb.h 873 874$(O)dispmap.o: $(AMI)dispmap.s 875 $(ASM) $(AFLAGS) $(AOBJSPEC)$@ $< 876 877# Stuff to build the front ends 878$(NETHACK)HackWB: $(OO)wb.o $(OO)wbx.o $(OO)loader.o $(OO)multi.o 879 $(LINK) $(LNSPEC) $(NETHACK)HackWB $(LIN) $(OO)wb.o $(OO)wbx.o \ 880 $(OO)loader.o $(OO)multi.o $(LLIB) 881 882$(NETHACK)HackCli: $(OO)cli.o $(OO)loader.o $(OO)multi.o 883 $(LINK) $(LNSPEC) $(NETHACK)HackCli $(LIN) $(OO)cli.o $(OO)loader.o \ 884 $(OO)multi.o $(LLIB) 885 886# This needs to exist to eliminate the HackWB startup message 887#SFD_INSTEAD $(NETHACK)WBDefaults.def: $(NETHACK)WBDefaults.def 888$(NETHACK)WBDefaults.def: 889 echo to $(NETHACK)WBDefaults.def 890 891WBH = $(AMI)wbdefs.h $(AMI)wbstruct.h $(AMI)wbprotos.h 892ASP = $(AMI)splitter 893$(OO)wb.o: $(WBH) $(AMI)wb.c $(AMI)wbwin.c $(AMI)wbdata.c $(AMI)wbgads.c \ 894 $(I)patchlevel.h 895 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)wb.o $(AMI)wb.c 896 897$(OO)wbx.o: $(WBH) $(AMI)wbcli.c $(AMI)wbwin.c $(AMI)wbdata.c \ 898 $(I)patchlevel.h $(I)date.h 899 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)wbx.o $(AMI)wbcli.c 900 901$(OO)loader.o: $(ASP)/loader.c $(ASP)/split.h $(ASP)/amiout.h $(ASP)/multi.h 902 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)loader.o $(ASP)/loader.c 903 904$(OO)multi.o: $(ASP)/multi.c $(ASP)/multi.h 905 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)multi.o $(ASP)/multi.c 906 907$(OO)cli.o: $(WBH) $(AMI)wbcli.c $(I)patchlevel.h $(I)date.h 908 $(CC) $(WBCFLAGS) $(WBC2FLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)cli.o \ 909 $(AMI)wbcli.c 910 911#### 912# splitter support 913$(SBIN)splitter: $(OO)splitter.o $(OO)arg.o 914 $(LINK) $(LNSPEC) $(SBIN)splitter $(LIN) $(OO)splitter.o $(OO)arg.o \ 915 $(LLIB) 916 917$(NETHACK)NetHack.dir: $(SBIN)splitter $(SBIN)NetHack 918 $(SBIN)splitter $(SBIN)NetHack 919 920$(OO)splitter.o: $(ASP)/splitter.c $(ASP)/split.h $(ASP)/amiout.h $(ASP)/arg.h 921 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)splitter.o \ 922 $(ASP)/splitter.c 923 924$(OO)arg.o: $(ASP)/arg.c $(ASP)/arg.h 925 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)arg.o $(ASP)/arg.c 926 927# Create/copy other stuff into NetHack: directory: 928 929$(NETHACK)tomb.iff: $(SBIN)xpm2iff $(AMI)grave16.xpm 930 $(SBIN)xpm2iff $(AMI)grave16.xpm $(NETHACK)tomb.iff 931 932$(OO)xpm2iff.o: $(AMI)xpm2iff.c 933 $(CC) $(CFLAGS) $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ $(AMI)xpm2iff.c 934 935$(SBIN)xpm2iff: $(OO)xpm2iff.o 936 $(LINK) $(LNSPEC) $@ $(LIN) $(OO)xpm2iff.o $(FLLIB) 937 938# Tile installation for the tile version of the game 939inst-tiles: $(TILEFILES) 940 941#SFD_INSTEAD $(NETHACK)tiles: $(NETHACK)tiles 942$(NETHACK)tiles: 943 -makedir $(NETHACK)tiles 944 945$(OO)txt2iff.o: $(AMI)txt2iff.c 946 $(CC) $(CFLAGS) $(CSYM) $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ \ 947 $(AMI)txt2iff.c 948 949$(OO)ppmwrite.o: $(WSHARE)ppmwrite.c 950 $(CC) $(CFLAGS) $(CSYM) $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ $(WSHARE)ppmwrite.c 951 952$(OO)tiletext.o: $(WSHARE)tiletext.c $(I)config.h $(WSHARE)tile.h 953 $(CC) $(CFLAGS) $(CSYM) $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ $(WSHARE)tiletext.c 954 955$(OO)tiletxt.o: $(WSHARE)tilemap.c $(I)hack.h 956 $(CC) $(CFLAGS) $(CSYM) $(DEFSPEC)TILETEXT $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ $(WSHARE)tilemap.c 957 958NAMEOBJS = $(O)drawing.o $(O)decl.o $(O)monst.o $(O)objects.o 959 960$(SBIN)txt2ppm: $(OO)ppmwrite.o $(NAMEOBJS) $(O)alloc.o $(OO)panic.o $(OO)tiletext.o $(OO)tiletxt.o 961 $(LINK) $(LNSPEC) $@ $(LIN) $(OO)ppmwrite.o $(NAMEOBJS) $(OO)tiletext.o $(OO)tiletxt.o $(O)alloc.o $(OO)panic.o $(FLLIB) 962 963$(SBIN)txt2iff: $(OO)txt2iff.o $(NAMEOBJS) $(OO)tiletext.o $(OO)tiletxt.o 964 $(LINK) $(LNSPEC) $@ $(LIN) $(OO)txt2iff.o $(NAMEOBJS) $(OO)tiletext.o \ 965 $(OO)tiletxt.o $(FLLIB) 966 967$(NETHACK)tiles/objects.iff: $(WSHARE)objects.txt $(SBIN)txt2iff 968 $(SBIN)txt2iff $(WSHARE)objects.txt $(NETHACK)tiles/objects.iff 969 970$(NETHACK)tiles/monsters.iff: $(WSHARE)monsters.txt $(SBIN)txt2iff 971 $(SBIN)txt2iff $(WSHARE)monsters.txt $(NETHACK)tiles/monsters.iff 972 973$(NETHACK)tiles/other.iff: $(WSHARE)other.txt $(SBIN)txt2iff 974 $(SBIN)txt2iff $(WSHARE)other.txt $(NETHACK)tiles/other.iff 975 976# Sound installation rules. 977inst-sounds: $(SOUNDFILES) 978 list to T:nhsdat.lst $(SLIB)sounds QUICK NOHEAD 979 echo >T:make-nhsdat $(SBIN)dlb cCfI $(SLIB)sounds $(NETHACK)nhsdat T:nhsdat.lst 980 echo >>T:make-nhsdat if not exists $(NETHACK)nhsdat 981 echo >>T:make-nhsdat copy $(SLIB)sounds/\#? $(NETHACK)sounds 982 echo >>T:make-nhsdat endif 983 execute T:make-nhsdat 984 -delete T:make-nhsdat 985 986#SFD_INSTEAD $(SLIB)sounds: $(SLIB)sounds 987$(SLIB)sounds: 988 -makedir $(SLIB)sounds 989 990$(SBIN)cvtsnd: $(OO)cvtsnd.o 991 $(LINK) $(LNSPEC) $@ $(LIN) $(OO)cvtsnd.o $(FLLIB) 992 993$(OO)cvtsnd.o: $(AMI)cvtsnd.c 994#SFD_INSTEAD $(CC) $(CFLAGS) $(OBJSPEC)%(left) %(right) 995#none 996 997$(SLIB)sounds/Bell: $(SHARE)sounds/bell.uu 998 $(UUDEC) $(SHARE)sounds/bell.uu 999 $(SBIN)cvtsnd Bell $(SLIB)sounds/Bell 1000 -delete Bell 1001 1002$(SLIB)sounds/Bugle: $(SHARE)sounds/bugle.uu 1003 $(UUDEC) $(SHARE)sounds/bugle.uu 1004 $(SBIN)cvtsnd Bugle $(SLIB)sounds/Bugle 1005 -delete Bugle 1006 1007$(SLIB)sounds/Drum_Of_Earthquake: $(SHARE)sounds/erthdrum.uu 1008 $(UUDEC) $(SHARE)sounds/erthdrum.uu 1009 $(SBIN)cvtsnd Drum_Of_Earthquake $(SLIB)sounds/Drum_Of_Earthquake 1010 -delete Drum_Of_Earthquake 1011 1012$(SLIB)sounds/Fire_Horn: $(SHARE)sounds/firehorn.uu 1013 $(UUDEC) $(SHARE)sounds/firehorn.uu 1014 $(SBIN)cvtsnd Fire_Horn $(SLIB)sounds/Fire_Horn 1015 -delete Fire_Horn 1016 1017$(SLIB)sounds/Frost_Horn: $(SHARE)sounds/frsthorn.uu 1018 $(UUDEC) $(SHARE)sounds/frsthorn.uu 1019 $(SBIN)cvtsnd Frost_Horn $(SLIB)sounds/Frost_Horn 1020 -delete Frost_Horn 1021 1022$(SLIB)sounds/Leather_Drum: $(SHARE)sounds/lethdrum.uu 1023 $(UUDEC) $(SHARE)sounds/lethdrum.uu 1024 $(SBIN)cvtsnd Leather_Drum $(SLIB)sounds/Leather_Drum 1025 -delete Leather_Drum 1026 1027$(SLIB)sounds/Magic_Flute: $(SHARE)sounds/mgcflute.uu 1028 $(UUDEC) $(SHARE)sounds/mgcflute.uu 1029 $(SBIN)cvtsnd Magic_Flute $(SLIB)sounds/Magic_Flute 1030 -delete Magic_Flute 1031 1032$(SLIB)sounds/Magic_Harp: $(SHARE)sounds/mgcharp.uu 1033 $(UUDEC) $(SHARE)sounds/mgcharp.uu 1034 $(SBIN)cvtsnd Magic_Harp $(SLIB)sounds/Magic_Harp 1035 -delete Magic_Harp 1036 1037$(SLIB)sounds/Tooled_Horn: $(SHARE)sounds/toolhorn.uu 1038 $(UUDEC) $(SHARE)sounds/toolhorn.uu 1039 $(SBIN)cvtsnd Tooled_Horn $(SLIB)sounds/Tooled_Horn 1040 -delete Tooled_Horn 1041 1042$(SLIB)sounds/Wooden_Flute: $(SHARE)sounds/wdnflute.uu 1043 $(UUDEC) $(SHARE)sounds/wdnflute.uu 1044 $(SBIN)cvtsnd Wooden_Flute $(SLIB)sounds/Wooden_Flute 1045 -delete Wooden_Flute 1046 1047$(SLIB)sounds/Wooden_Harp: $(SHARE)sounds/wdnharp.uu 1048 $(UUDEC) $(SHARE)sounds/wdnharp.uu 1049 $(SBIN)cvtsnd Wooden_Harp $(SLIB)sounds/Wooden_Harp 1050 -delete Wooden_Harp 1051 1052inst-dungeon: $(INSTDUNGEONFILES) 1053 1054$(NETHACK)options : $(DAT)options 1055 copy $(DAT)options $@ 1056 1057# Create compiled dungeon files 1058BGM= $(SLIB)bigrm-2.lev $(SLIB)bigrm-3.lev $(SLIB)bigrm-4.lev $(SLIB)bigrm-5.lev 1059$(BGM): $(SLIB)bigrm-1.lev 1060 1061$(SLIB)bigrm-1.lev: $(DAT)bigroom.des $(SBIN)lev_comp 1062#SFD_INSTEAD $(SBIN)lev_comp $(DAT)bigroom.des 1063#none 1064 1065$(SLIB)castle.lev: $(DAT)castle.des $(SBIN)lev_comp 1066 1067ENDGAME1= $(SLIB)air.lev $(SLIB)earth.lev $(SLIB)fire.lev $(SLIB)water.lev 1068$(ENDGAME1): $(SLIB)astral.lev 1069 1070$(SLIB)astral.lev: $(DAT)endgame.des $(SBIN)lev_comp 1071#SFD_INSTEAD $(SBIN)lev_comp $(DAT)endgame.des 1072#none 1073 1074GEHENNOM1= $(SLIB)asmodeus.lev $(SLIB)baalz.lev $(SLIB)juiblex.lev \ 1075 $(SLIB)orcus.lev $(SLIB)sanctum.lev 1076$(GEHENNOM1): $(SLIB)valley.lev 1077 1078$(SLIB)valley.lev: $(DAT)gehennom.des $(SBIN)lev_comp 1079#SFD_INSTEAD $(SBIN)lev_comp $(DAT)gehennom.des 1080#none 1081 1082$(SLIB)knox.lev: $(DAT)knox.des $(SBIN)lev_comp 1083#SFD_INSTEAD $(SBIN)lev_comp $(DAT)knox.des 1084#none 1085 1086MINES1= $(SLIB)minend-1.lev $(SLIB)minend-2.lev $(SLIB)minetn-1.lev $(SLIB)minetn-2.lev 1087$(MINES1): $(SLIB)minefill.lev 1088 1089$(SLIB)minefill.lev: $(DAT)mines.des $(SBIN)lev_comp 1090#SFD_INSTEAD $(SBIN)lev_comp $(DAT)mines.des 1091#none 1092 1093$(SLIB)oracle.lev: $(DAT)oracle.des $(SBIN)lev_comp 1094#SFD_INSTEAD $(SBIN)lev_comp $(DAT)oracle.des 1095#none 1096 1097TOWER1= $(SLIB)tower1.lev $(SLIB)tower2.lev 1098$(TOWER1): $(SLIB)tower3.lev 1099 1100$(SLIB)tower3.lev: $(DAT)tower.des $(SBIN)lev_comp 1101#SFD_INSTEAD $(SBIN)lev_comp $(DAT)tower.des 1102#none 1103 1104WIZARD1= $(SLIB)wizard1.lev $(SLIB)wizard2.lev $(SLIB)wizard3.lev \ 1105 $(SLIB)fakewiz1.lev 1106$(WIZARD1): $(SLIB)fakewiz2.lev 1107 1108$(SLIB)fakewiz2.lev: $(DAT)yendor.des $(SBIN)lev_comp 1109#SFD_INSTEAD $(SBIN)lev_comp $(DAT)yendor.des 1110#none 1111 1112MEDUSA1= $(SLIB)medusa-1.lev 1113$(MEDUSA1): $(SLIB)medusa-2.lev 1114 1115$(SLIB)medusa-2.lev: $(DAT)medusa.des $(SBIN)lev_comp 1116#SFD_INSTEAD $(SBIN)lev_comp $(DAT)medusa.des 1117#none 1118 1119SOKOBAN1= $(SLIB)soko1-1.lev $(SLIB)soko1-2.lev $(SLIB)soko2-1.lev \ 1120 $(SLIB)soko2-2.lev $(SLIB)soko3-1.lev $(SLIB)soko3-2.lev \ 1121 $(SLIB)soko4-1.lev 1122$(SOKOBAN1): $(SLIB)soko4-2.lev 1123 1124$(SLIB)soko4-2.lev: $(DAT)sokoban.des $(SBIN)lev_comp 1125#SFD_INSTEAD $(SBIN)lev_comp $(DAT)sokoban.des 1126#none 1127 1128$(ADFILES1): $(SLIB)Arc-goal.lev 1129 1130$(SLIB)Arc-goal.lev: $(DAT)Arch.des $(SBIN)lev_comp 1131#SFD_INSTEAD $(SBIN)lev_comp $(DAT)Arch.des 1132#none 1133 1134$(BDFILES1): $(SLIB)Bar-goal.lev 1135 1136$(SLIB)Bar-goal.lev: $(DAT)Barb.des $(SBIN)lev_comp 1137#SFD_INSTEAD $(SBIN)lev_comp $(DAT)Barb.des 1138#none 1139 1140$(CDFILES1): $(SLIB)Cav-goal.lev 1141 1142$(SLIB)Cav-goal.lev: $(DAT)Caveman.des $(SBIN)lev_comp 1143#SFD_INSTEAD $(SBIN)lev_comp $(DAT)Caveman.des 1144#none 1145 1146$(HDFILES1): $(SLIB)Hea-goal.lev 1147 1148$(SLIB)Hea-goal.lev: $(DAT)Healer.des $(SBIN)lev_comp 1149#SFD_INSTEAD $(SBIN)lev_comp $(DAT)Healer.des 1150#none 1151 1152$(KDFILES1): $(SLIB)Kni-goal.lev 1153 1154$(SLIB)Kni-goal.lev: $(DAT)Knight.des $(SBIN)lev_comp 1155#SFD_INSTEAD $(SBIN)lev_comp $(DAT)Knight.des 1156#none 1157 1158$(MDFILES1): $(SLIB)Mon-goal.lev 1159 1160$(SLIB)Mon-goal.lev: $(DAT)Monk.des $(SBIN)lev_comp 1161#SFD_INSTEAD $(SBIN)lev_comp $(DAT)Monk.des 1162#none 1163 1164$(PDFILES1): $(SLIB)Pri-goal.lev 1165 1166$(SLIB)Pri-goal.lev: $(DAT)Priest.des $(SBIN)lev_comp 1167#SFD_INSTEAD $(SBIN)lev_comp $(DAT)Priest.des 1168#none 1169 1170$(RDFILES1): $(SLIB)Rog-goal.lev 1171 1172$(SLIB)Rog-goal.lev: $(DAT)Rogue.des $(SBIN)lev_comp 1173#SFD_INSTEAD $(SBIN)lev_comp $(DAT)Rogue.des 1174#none 1175 1176$(RANFILES1): $(SLIB)Ran-goal.lev 1177 1178$(SLIB)Ran-goal.lev: $(DAT)Ranger.des $(SBIN)lev_comp 1179#SFD_INSTEAD $(SBIN)lev_comp $(DAT)Ranger.des 1180#none 1181 1182$(SDFILES1): $(SLIB)Sam-goal.lev 1183 1184$(SLIB)Sam-goal.lev: $(DAT)Samurai.des $(SBIN)lev_comp 1185#SFD_INSTEAD $(SBIN)lev_comp $(DAT)Samurai.des 1186#none 1187 1188$(TDFILES1): $(SLIB)Tou-goal.lev 1189 1190$(SLIB)Tou-goal.lev: $(DAT)Tourist.des $(SBIN)lev_comp 1191#SFD_INSTEAD $(SBIN)lev_comp $(DAT)Tourist.des 1192#none 1193 1194$(VDFILES1): $(SLIB)Val-goal.lev 1195 1196$(SLIB)Val-goal.lev: $(DAT)Valkyrie.des $(SBIN)lev_comp 1197#SFD_INSTEAD $(SBIN)lev_comp $(DAT)Valkyrie.des 1198#none 1199 1200$(WDFILES1): $(SLIB)Wiz-goal.lev 1201 1202$(SLIB)Wiz-goal.lev: $(DAT)Wizard.des $(SBIN)lev_comp 1203#SFD_INSTEAD $(SBIN)lev_comp $(DAT)Wizard.des 1204#none 1205 1206$(SLIB)dungeon: $(DAT)dungeon.def $(SBIN)makedefs $(SBIN)dgn_comp 1207 $(SBIN)makedefs -e 1208 $(SBIN)dgn_comp $(DAT)dungeon.pdf 1209 copy $(DAT)dungeon $(SLIB)dungeon 1210 delete $(DAT)dungeon 1211 1212inst-data: $(INSTDATAFILES) 1213 1214$(NETHACK)amii.hlp: $(AMI)amii.hlp 1215 copy $(AMI)amii.hlp $@ 1216 1217#$(NETHACK)data: $(DAT)data 1218# copy $(DAT)data $@ 1219 1220$(SLIB)data: $(DAT)data.base $(I)config.h $(SBIN)makedefs 1221 $(SBIN)makedefs -d 1222 1223#$(NETHACK)rumors: $(DAT)rumors 1224# copy $(DAT)rumors $@ 1225 1226$(SLIB)rumors: $(DAT)rumors.tru $(DAT)rumors.fal $(SBIN)makedefs 1227 $(SBIN)makedefs -r 1228 1229$(SLIB)cmdhelp: $(DAT)cmdhelp 1230 copy $(DAT)cmdhelp $@ 1231 1232$(SLIB)help: $(DAT)help 1233 copy $(DAT)help $@ 1234 1235$(SLIB)hh: $(DAT)hh 1236 copy $(DAT)hh $@ 1237 1238$(NETHACK)HackWB.hlp: $(AMI)HackWB.hlp 1239 copy $(AMI)HackWB.hlp $@ 1240 1241$(SLIB)history: $(DAT)history 1242 copy $(DAT)history $@ 1243 1244$(NETHACK)license: $(DAT)license 1245 copy $(DAT)license $@ 1246 1247$(SLIB)opthelp: $(DAT)opthelp 1248 copy $(DAT)opthelp $@ 1249 1250$(NETHACK)Recover.txt: $(DOC)Recover.txt 1251 copy $(DOC)Recover.txt $@ 1252 1253$(NETHACK)GuideBook.txt: $(DOC)GuideBook.txt 1254 copy $(DOC)GuideBook.txt $@ 1255 1256$(NETHACK)NetHack.txt: $(DOC)NetHack.txt 1257 copy $(DOC)NetHack.txt $@ 1258 1259$(NETHACK)Install.ami: $(AMI)Install.ami 1260 copy $(AMI)Install.ami $@ 1261 1262#SFD_INSTEAD $(NETHACK)logfile: $(NETHACK)logfile 1263$(NETHACK)logfile: 1264 echo to $@ 1265 1266#SFD_INSTEAD $(NETHACK)record: $(NETHACK)record 1267$(NETHACK)record: 1268 echo to $@ 1269 1270$(SLIB)wizhelp: $(DAT)wizhelp 1271 copy $(DAT)wizhelp $@ 1272 1273# Create the directories here because NetHack.cnf puts them there by default 1274$(NETHACK)NetHack.cnf: $(AMI)NetHack.cnf 1275 copy $(AMI)NetHack.cnf $@ 1276 -makedir $(NETHACK)save 1277 -makedir $(NETHACK)levels 1278 1279#SFD_BEGIN 1280#SFD_ELSE 1281$(O)NetHack.gst: $(GSTSRC) $(I)hack.h 1282 sc makegst=$(GSTFILE) $(CFLAGS) $(GSTSRC) 1283#SFD_END 1284 1285# Unpack and install fonts 1286 1287INSTFONTFILES= $(NETHACK)hack.font $(NETHACK)hack $(NETHACK)hack/8 1288 1289inst-fonts: $(INSTFONTFILES) 1290 1291$(NETHACK)hack/8: $(AMI)amifont8.uu $(NETHACK)hack 1292 $(UUDEC) $(AMI)amifont8.uu 1293 copy 8 $(NETHACK)hack/8 1294 delete 8 1295 1296$(NETHACK)hack.font: $(AMI)amifont.uu 1297 $(UUDEC) $(AMI)amifont.uu 1298 copy hack.font $(NETHACK)hack.font 1299 delete hack.font 1300 1301#SFD_INSTEAD $(NETHACK)hack: $(NETHACK)hack 1302$(NETHACK)hack: 1303 -makedir $@ 1304 1305INSTICONFILES= \ 1306 $(NETHACK)default.icon $(NETHACK)NetHack.info $(NETHACK)NewGame.info \ 1307 $(NETHACK)HackWB.info 1308 1309inst-icons: $(INSTICONFILES) 1310 1311# Unpack the icons into place 1312 1313$(NETHACK)default.icon: $(AMI)dflticon.uu 1314 $(UUDEC) $(AMI)dflticon.uu 1315# copy default.icon $(NETHACK)default.icon 1316# delete default.icon 1317 1318$(NETHACK)NetHack.info: $(AMI)NHinfo.uu 1319 $(UUDEC) $(AMI)NHinfo.uu 1320# copy NetHack.info $(NETHACK)NetHack.info 1321# delete NetHack.info 1322 1323$(NETHACK)NewGame.info: $(AMI)NewGame.uu 1324 $(UUDEC) $(AMI)NewGame.uu 1325# copy NewGame.info $(NETHACK)NewGame.info 1326# delete NewGame.info 1327 1328$(NETHACK)HackWB.info: $(AMI)HackWB.uu 1329 $(UUDEC) $(AMI)HackWB.uu 1330# copy HackWB.info $(NETHACK)HackWB.info 1331# delete HackWB.info 1332 1333# If DLB is defined, create the nhdat library file in the playground 1334# directory. If not, move all the data files there. 1335$(NETHACK)nhdat: $(LIBFILES) $(SBIN)dlb 1336 list to T:nhdat.lst $(SLIB) QUICK NOHEAD FILES 1337 echo >T:make-nhdat $(SBIN)dlb cCfI $(SLIB) $(NETHACK)nhdat T:nhdat.lst 1338 echo >>T:make-nhdat if not exists $(NETHACK)nhdat 1339 echo >>T:make-nhdat copy $(SLIB)\#? $(NETHACK) 1340 echo >>T:make-nhdat endif 1341 execute T:make-nhdat 1342 -delete T:make-nhdat 1343 1344# DO NOT DELETE THIS LINE 1345 1346$(O)allmain.o: $(NHS)allmain.c $(HDEP) 1347 1348$(O)alloc.o: $(NHS)alloc.c $(I)config.h 1349 1350$(O)apply.o: $(NHS)apply.c $(HDEP) $(I)edog.h 1351#SFD_INSTEAD #none 1352 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)apply.c 1353 1354$(O)artifact.o: $(NHS)artifact.c $(HDEP) $(I)artifact.h $(I)artilist.h 1355 1356$(O)attrib.o: $(NHS)attrib.c $(HDEP) $(I)artifact.h 1357 1358$(O)ball.o: $(NHS)ball.c $(HDEP) 1359 1360$(O)bones.o: $(NHS)bones.c $(HDEP) $(I)lev.h 1361 1362$(O)botl.o: $(NHS)botl.c $(HDEP) 1363 1364$(O)cmd.o: $(NHS)cmd.c $(HDEP) $(I)func_tab.h 1365 1366$(O)dbridge.o: $(NHS)dbridge.c $(HDEP) 1367 1368$(O)decl.o: $(NHS)decl.c $(HDEP) $(I)quest.h 1369 1370$(O)detect.o: $(NHS)detect.c $(HDEP) $(I)artifact.h 1371 1372$(O)dig.o: $(NHS)dig.c $(HDEP) $(I)edog.h 1373 1374$(O)display.o: $(NHS)display.c $(HDEP) 1375 1376$(O)dlb.o: $(NHS)dlb.c $(HDEP) $(I)dlb.h 1377 1378$(O)do.o: $(NHS)do.c $(HDEP) $(I)lev.h 1379 1380$(O)do_name.o: $(NHS)do_name.c $(HDEP) 1381 1382$(O)do_wear.o: $(NHS)do_wear.c $(HDEP) 1383 1384$(O)dog.o: $(NHS)dog.c $(HDEP) $(I)edog.h 1385 1386$(O)dogmove.o: $(NHS)dogmove.c $(HDEP) $(I)mfndpos.h $(I)edog.h 1387 1388$(O)dokick.o: $(NHS)dokick.c $(HDEP) $(I)eshk.h 1389 1390$(O)dothrow.o: $(NHS)dothrow.c $(HDEP) 1391 1392$(O)drawing.o: $(NHS)drawing.c $(HDEP) $(I)tcap.h 1393 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)drawing.c 1394 1395$(O)dungeon.o: $(NHS)dungeon.c $(HDEP) $(I)dgn_file.h $(I)dlb.h 1396 1397$(O)eat.o: $(NHS)eat.c $(HDEP) 1398 1399$(O)end.o: $(NHS)end.c $(HDEP) $(I)eshk.h $(I)dlb.h 1400 1401$(O)engrave.o: $(NHS)engrave.c $(HDEP) $(I)lev.h 1402 1403$(O)exper.o: $(NHS)exper.c $(HDEP) 1404 1405$(O)explode.o: $(NHS)explode.c $(HDEP) 1406 1407$(O)extralev.o: $(NHS)extralev.c $(HDEP) 1408 1409$(O)files.o: $(NHS)files.c $(HDEP) $(I)dlb.h $(I)date.h 1410 1411$(O)fountain.o: $(NHS)fountain.c $(HDEP) 1412 1413$(O)hack.o: $(NHS)hack.c $(HDEP) 1414 1415$(O)hacklib.o: $(NHS)hacklib.c $(HDEP) 1416 1417$(O)invent.o: $(NHS)invent.c $(HDEP) $(I)artifact.h 1418 1419$(O)light.o: $(NHS)light.c $(HDEP) $(I)lev.h 1420 1421$(O)lock.o: $(NHS)lock.c $(HDEP) 1422 1423$(O)mail.o: $(NHS)mail.c $(HDEP) $(I)mail.h 1424 1425$(O)makemon.o: $(NHS)makemon.c $(HDEP) $(I)epri.h $(I)emin.h $(I)edog.h 1426 1427$(O)mapglyph.o: $(NHS)mapglyph.c $(HDEP) 1428 1429$(O)mcastu.o: $(NHS)mcastu.c $(HDEP) 1430 1431$(O)mhitm.o: $(NHS)mhitm.c $(HDEP) $(I)artifact.h $(I)edog.h 1432 1433$(O)mhitu.o: $(NHS)mhitu.c $(HDEP) $(I)artifact.h $(I)edog.h 1434 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)mhitu.c 1435 1436$(O)minion.o: $(NHS)minion.c $(HDEP) $(I)emin.h $(I)epri.h 1437 1438$(O)mklev.o: $(NHS)mklev.c $(HDEP) 1439 1440$(O)mkmap.o: $(NHS)mkmap.c $(HDEP) $(I)sp_lev.h 1441 1442$(O)mkmaze.o: $(NHS)mkmaze.c $(HDEP) $(I)sp_lev.h $(I)lev.h 1443 1444$(O)mkobj.o: $(NHS)mkobj.c $(HDEP) $(I)artifact.h $(I)prop.h 1445 1446$(O)mkroom.o: $(NHS)mkroom.c $(HDEP) 1447 1448$(O)mon.o: $(NHS)mon.c $(HDEP) $(I)mfndpos.h $(I)edog.h 1449 1450$(O)mondata.o: $(NHS)mondata.c $(HDEP) $(I)eshk.h $(I)epri.h 1451 1452$(O)monmove.o: $(NHS)monmove.c $(HDEP) $(I)mfndpos.h $(I)artifact.h 1453 1454$(O)monst.o: $(NHS)monst.c $(I)config.h $(I)permonst.h $(I)monsym.h \ 1455 $(I)eshk.h $(I)vault.h $(I)epri.h $(I)color.h 1456 1457$(O)monstr.o: $(NHS)monstr.c $(HDEP) 1458#SFD_INSTEAD $(CC) $(CFLAGS) $(OBJSPEC)%(left) $(NHS)monstr.c 1459#none 1460 1461$(O)mplayer.o: $(NHS)mplayer.c $(HDEP) 1462 1463$(O)mthrowu.o: $(NHS)mthrowu.c $(HDEP) 1464 1465$(O)muse.o: $(NHS)muse.c $(HDEP) 1466 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)muse.c 1467 1468$(O)music.o: $(NHS)music.c $(HDEP) #interp.c 1469 1470$(O)o_init.o: $(NHS)o_init.c $(HDEP) $(I)lev.h 1471 1472$(O)objects.o: $(NHS)objects.c $(I)config.h $(I)obj.h $(I)objclass.h \ 1473 $(I)prop.h $(I)skills.h $(I)color.h 1474#SFD_INSTEAD #none 1475 $(CC) $(CFLAGS) $(INCLSPEC)$(NHS) $(OBJSPEC)$@ $(NHS)objects.c 1476 1477$(O)objnam.o: $(NHS)objnam.c $(HDEP) 1478 1479$(O)options.o: $(NHS)options.c $(HDEP) $(I)tcap.h $(I)config.h \ 1480 $(I)objclass.h $(I)flag.h 1481 1482$(O)pager.o: $(NHS)pager.c $(HDEP) $(I)dlb.h 1483 1484$(O)pickup.o: $(NHS)pickup.c $(HDEP) 1485 1486$(O)pline.o: $(NHS)pline.c $(HDEP) $(I)epri.h 1487 1488$(O)polyself.o: $(NHS)polyself.c $(HDEP) 1489 1490$(O)potion.o: $(NHS)potion.c $(HDEP) 1491 1492$(O)pray.o: $(NHS)pray.c $(HDEP) $(I)epri.h 1493 1494$(O)priest.o: $(NHS)priest.c $(HDEP) $(I)mfndpos.h $(I)eshk.h $(I)epri.h \ 1495 $(I)emin.h 1496 1497$(O)quest.o: $(NHS)quest.c $(HDEP) $(I)quest.h $(I)qtext.h 1498 1499$(O)questpgr.o: $(NHS)questpgr.c $(HDEP) $(I)qtext.h $(I)dlb.h 1500 1501$(O)read.o: $(NHS)read.c $(HDEP) 1502 1503$(O)rect.o: $(NHS)rect.c $(HDEP) 1504 1505$(O)region.o: $(NHS)region.c $(HDEP) 1506 1507$(O)restore.o: $(NHS)restore.c $(HDEP) $(I)lev.h $(I)tcap.h $(I)quest.h 1508 1509$(O)rnd.o: $(NHS)rnd.c $(HDEP) 1510 1511$(O)role.o: $(NHS)role.c $(HDEP) 1512 1513$(O)rumors.o: $(NHS)rumors.c $(HDEP) $(I)dlb.h 1514 1515$(O)save.o: $(NHS)save.c $(HDEP) $(I)lev.h $(I)quest.h 1516 1517$(O)shk.o: $(NHS)shk.c $(HDEP) $(I)eshk.h 1518#SFD_INSTEAD #none 1519 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)shk.c 1520 1521$(O)shknam.o: $(NHS)shknam.c $(HDEP) $(I)eshk.h 1522 1523$(O)sit.o: $(NHS)sit.c $(HDEP) $(I)artifact.h 1524 1525$(O)sounds.o: $(NHS)sounds.c $(HDEP) $(I)edog.h 1526 1527$(O)sp_lev.o: $(NHS)sp_lev.c $(HDEP) $(I)sp_lev.h $(I)rect.h $(I)dlb.h 1528 1529$(O)spell.o: $(NHS)spell.c $(HDEP) 1530 1531$(O)steal.o: $(NHS)steal.c $(HDEP) 1532 1533$(O)steed.o: $(NHS)steed.c $(HDEP) 1534 1535$(O)teleport.o: $(NHS)teleport.c $(HDEP) 1536 1537$(O)timeout.o: $(NHS)timeout.c $(HDEP) $(I)lev.h 1538 1539$(O)topten.o: $(NHS)topten.c $(HDEP) $(I)dlb.h 1540 1541$(O)track.o: $(NHS)track.c $(HDEP) 1542 1543$(O)trap.o: $(NHS)trap.c $(HDEP) 1544#SFD_INSTEAD #none 1545 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)trap.c 1546 1547$(O)u_init.o: $(NHS)u_init.c $(HDEP) 1548 1549$(O)uhitm.o: $(NHS)uhitm.c $(HDEP) 1550 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)uhitm.c 1551 1552$(O)vault.o: $(NHS)vault.c $(HDEP) $(I)vault.h 1553 1554$(O)version.o: $(NHS)version.c $(HDEP) $(I)date.h $(I)patchlevel.h 1555 1556# DMake doesn't grok mid-line comments 1557#SFD_INSTEAD $(O)vision.o: $(NHS)vision.c $(HDEP) 1558$(O)vision.o: $(NHS)vision.c $(HDEP) #$(I)vis_tab.h 1559 1560$(O)weapon.o: $(NHS)weapon.c $(HDEP) 1561 1562$(O)were.o: $(NHS)were.c $(HDEP) 1563 1564$(O)wield.o: $(NHS)wield.c $(HDEP) 1565 1566$(O)windows.o: $(NHS)windows.c $(HDEP) $(I)wintty.h 1567 1568$(O)wizard.o: $(NHS)wizard.c $(HDEP) $(I)qtext.h 1569 1570$(O)worm.o: $(NHS)worm.c $(HDEP) $(I)lev.h 1571 1572$(O)worn.o: $(NHS)worn.c $(HDEP) 1573 1574$(O)write.o: $(NHS)write.c $(HDEP) 1575 1576$(O)zap.o: $(NHS)zap.c $(HDEP) 1577 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)zap.c 1578 1579$(O)getline.o: $(TTY)getline.c $(HDEP) $(I)wintty.h 1580 1581$(O)termcap.o: $(TTY)termcap.c $(HDEP) $(I)wintty.h $(I)tcap.h 1582 1583$(O)topl.o: $(TTY)topl.c $(HDEP) $(I)wintty.h $(I)tcap.h 1584 1585$(O)wintty.o: $(TTY)wintty.c $(HDEP) $(I)wintty.h $(I)tcap.h \ 1586 $(I)patchlevel.h 1587 1588$(O)amitty.o: $(AMI)amitty.c $(HDEP) 1589 1590$(O)amistack.o: $(AMI)amistack.c 1591 $(CC) $(CFLAGS3) $(CSYM) $(OBJSPEC)$@ $(AMI)amistack.c 1592 1593$(O)rip.o: $(NHS)rip.c $(HDEP) 1594 1595 1596$(I)config.h: $(I)config1.h $(I)tradstdc.h $(I)global.h 1597 -setdate $(I)config.h 1598 -wait 2 1599 1600# onames.h handled at onames.h target, pm.h 1601 1602$(I)decl.h: $(I)quest.h $(I)spell.h $(I)color.h $(I)obj.h $(I)you.h 1603 -setdate $(I)decl.h 1604 -wait 2 1605 1606$(I)global.h: $(I)coord.h $(I)pcconf.h $(I)amiconf.h 1607 -setdate $(I)global.h 1608 -wait 2 1609 1610$(I)hack.h: $(I)config.h $(I)trap.h $(I)decl.h $(I)dungeon.h $(I)monsym.h \ 1611 $(I)mkroom.h $(I)objclass.h $(I)flag.h $(I)rm.h $(I)vision.h \ 1612 $(I)display.h $(I)wintype.h $(I)engrave.h $(I)rect.h \ 1613 $(I)region.h $(I)trampoli.h 1614 -setdate $(I)hack.h 1615 -wait 2 1616 1617$(I)permonst.h: $(I)monattk.h $(I)monflag.h $(I)align.h 1618 -setdate $(I)permonst.h 1619 -wait 2 1620 1621$(I)you.h: $(I)align.h $(I)attrib.h $(I)monst.h $(I)youprop.h $(I)skills.h 1622 -setdate $(I)you.h 1623 -wait 2 1624 1625# pm.h handled at target 1626 1627$(I)youprop.h: $(I)prop.h $(I)permonst.h $(I)mondata.h 1628 -setdate $(I)youprop.h 1629 -wait 2 1630 1631$(I)display.h: $(I)vision.h $(I)mondata.h 1632 -setdate $(I)display.h 1633 -wait 2 1634 1635$(I)dungeon.h: $(I)align.h 1636 -setdate $(I)dungeon.h 1637 -wait 2 1638 1639$(I)emin.h: $(I)dungeon.h 1640 -setdate $(I)emin.h 1641 -wait 2 1642 1643$(I)epri.h: $(I)dungeon.h $(I)align.h 1644 -setdate $(I)epri.h 1645 -wait 2 1646 1647$(I)eshk.h: $(I)dungeon.h 1648 -setdate $(I)eshk.h 1649 -wait 2 1650 1651$(I)engrave.h: $(I)trampoli.h $(I)rect.h 1652 -setdate $(I)engrave.h 1653 -wait 2 1654 1655$(I)mondata.h: $(I)align.h 1656 -setdate $(I)mondata.h 1657 -wait 2 1658 1659$(I)monst.h: $(I)align.h 1660 -setdate $(I)monst.h 1661 -wait 2 1662 1663$(I)pcconf.h: $(I)micro.h $(I)system.h 1664 -setdate $(I)pcconf.h 1665 -wait 2 1666 1667$(I)rm.h: $(I)align.h 1668 -setdate $(I)rm.h 1669 -wait 2 1670 1671$(I)vault.h: $(I)dungeon.h 1672 -setdate $(I)vault.h 1673 -wait 2 1674 1675 1676#notes 1677# install keeps doing re-install because it keeps rebuilding lev_comp??? 1678# fixed(?) - deleted setdate 1679# make nhdat rebuils sys/amiga objects 1680