1# NetHack Makefile. 2# Copyright (c) Kenneth Lorber, Bethesda, Maryland, 1991,1992,1993,1996. 3# NetHack may be freely redistributed. See license for details. 4 5### 6### modified for gcc by Teemu Suikki (zu@iki.fi) 7### 8### note: you need to use smake.. sorry 9### 10 11### 12### DIRECTORY STRUCTURE 13### 14 15NH = nh: 16 17SBIN = $(NH)sbin/ 18SLIB = $(NH)slib/ 19NETHACK = $(NH)NetHack/ 20HACKEXE = $(NH)HackExe/ 21AMI = $(NH)sys/amiga/ 22DAT = $(NH)dat/ 23DOC = $(NH)doc/ 24I = $(NH)include/ 25SHARE = $(NH)sys/share/ 26NHS = $(NH)src/ 27TTY = $(NH)win/tty/ 28WSHARE = $(NH)win/share/ 29UTIL = $(NH)util/ 30O = $(NH)obj/ 31OO = $(NH)objo/ 32# NB: O and OO MUST be different directories 33 34### 35### INVOCATION 36### 37 38MAKE = smake 39 40# Startup makefile with: 41# 42# $(MAKE) -f $(AMI)Makefile.amigcc 43# $(MAKE) -f $(AMI)Makefile.amigcc install 44# 45# You may use following targets on $(MAKE) command lines: 46# all do it all (default) 47# link just create binary from object files 48# obj just create common object files 49# obja just create amiga object files 50# objs just create shared object files 51# clean deletes the object files 52# spotless deletes the object files, main binary, and more 53# 54# Note: We do not build the Guidebook here since it needs tbl 55# (See the file sys/unix/Makefile.doc for more information) 56 57#[SAS5] [and gcc?] 58# If we were to use the precompiled header file feature in a newer version 59# of SAS/C, we would comment out these following two lines. 60# If we don't use precompiled header files, we uncomment it as well. 61 62HDEP = $(I)hack.h 63CSYM = 64 65#Pathname for uudecode program: 66UUDEC = uudecode 67 68# Flex/Bison command assignments -- Useful only if you have flex/bison 69FLEX = flex 70BISON = bison 71# FBFIL and FBLIB may be used, if required by your version of flex or bison, 72# to specify additional files or libraries to be linked with 73FBFIL = 74FBLIB = #lib lib:compat.lib 75 76# If you're compiling this on a 1.3 system, you'll have to uncomment the 77# following (for use with the ifchange script below). Also useful instead of 78# "protect ifchange +s" 79EXECUTE = execute 80 81# Headers we depend on 82AMDEP = $(AMI)winproto.h $(AMI)winext.h $(AMI)windefs.h $(I)winami.h 83 84# Pathname for the C compiler being used. 85 86CC = gcc -c 87ASM = as 88 89# Compilation flags for selected C Compiler: 90# $(CFLAGS) should appear before filename arguments of $(CC) command line. 91 92CFLAGS = -O3 -I $(I) 93 94# Components of various link command lines: 95# $(LINK) should be the pathname of the linker being used (with any options 96# that should appear at the beginning of the command line). The name of the 97# output file should appear immediately after $(LNSPEC). $(LIN) should 98# appear before the list of object files in each link command. $(LLINK) 99# should appear as the list of object files in the link command line that 100# creates the NetHack executable. $(LLIB) should appear at the end of each 101# link command line. 102 103LINK = gcc -noixemul -O3 104LIN = 105LLINK = 106LLIB = 107FLLIB = 108OBJSPEC = -o 109PNSPEC = -o 110LNSPEC = -o 111CCLINK = gcc -noixemul 112CLFLAGS = -O3 113INCLSPEC = -I 114DEFSPEC = -D 115IGNSPEC = -j 116 117### 118### FILE LISTS 119### 120 121# A more reasonable random number generator (recommended for the Amiga): 122 123RANDOBJ = $(O)random.o 124 125.PRECIOUS: $(I)config.h $(I)decl.h $(I)hack.h $(I)permonst.h $(I)you.h 126 127# Almost nothing below this line should have to be changed. 128# (Exceptions are marked by [SAS6], [MANX], etc.) 129# 130# Other things that have to be reconfigured are in config.h, 131# (amiconf.h, pcconf.h), and possibly system.h, tradstdc.h. 132 133# Object files for makedefs: 134 135MAKEOBJS = \ 136 $(OO)makedefs.o $(O)monst.o $(O)objects.o 137 138# Object files for special levels compiler: 139 140SPLEVOBJS = \ 141 $(OO)lev_yacc.o $(OO)lev_lex.o $(OO)lev_main.o \ 142 $(O)decl.o $(O)drawing.o $(O)monst.o \ 143 $(O)objects.o $(OO)panic.o 144 145# Object files for dungeon compiler 146 147DGNCOMPOBJS = \ 148 $(OO)dgn_yacc.o $(OO)dgn_lex.o $(OO)dgn_main.o $(O)alloc.o $(OO)panic.o 149 150# Object files for NetHack: 151 152COMMOBJ = \ 153 $(O)allmain.o $(O)alloc.o $(O)apply.o $(O)artifact.o \ 154 $(O)attrib.o $(O)ball.o $(O)bones.o $(O)botl.o \ 155 $(O)cmd.o $(O)dbridge.o $(O)decl.o $(O)detect.o \ 156 $(O)dig.o $(O)display.o $(O)dlb.o $(O)do.o \ 157 $(O)do_name.o $(O)do_wear.o $(O)dog.o $(O)dogmove.o \ 158 $(O)dokick.o $(O)dothrow.o $(O)drawing.o $(O)dungeon.o \ 159 $(O)eat.o $(O)end.o $(O)engrave.o $(O)exper.o \ 160 $(O)explode.o $(O)files.o $(O)fountain.o \ 161 $(O)hack.o $(O)hacklib.o $(O)invent.o $(O)light.o \ 162 $(O)lock.o $(O)mail.o $(O)makemon.o $(O)mapglyph.o \ 163 $(O)mcastu.o $(O)mhitm.o $(O)mhitu.o $(O)minion.o \ 164 $(O)mklev.o $(O)mkmap.o $(O)mkmaze.o $(O)mkobj.o \ 165 $(O)mkroom.o $(O)mon.o $(O)mondata.o $(O)monmove.o \ 166 $(O)monst.o $(O)mplayer.o $(O)mthrowu.o $(O)muse.o \ 167 $(O)music.o $(O)o_init.o $(O)objects.o $(O)objnam.o \ 168 $(O)options.o $(O)pager.o $(O)pickup.o $(O)pline.o \ 169 $(O)polyself.o $(O)potion.o $(O)pray.o $(O)priest.o \ 170 $(O)quest.o $(O)questpgr.o $(O)read.o $(O)rect.o \ 171 $(O)region.o $(O)restore.o $(O)rnd.o $(O)role.o \ 172 $(O)rumors.o $(O)save.o $(O)shk.o $(O)shknam.o \ 173 $(O)sit.o $(O)sounds.o $(O)sp_lev.o $(O)spell.o \ 174 $(O)steal.o $(O)steed.o $(O)sys.o $(O)teleport.o \ 175 $(O)timeout.o $(O)topten.o $(O)track.o $(O)trap.o \ 176 $(O)u_init.o $(O)uhitm.o $(O)vault.o $(O)version.o \ 177 $(O)vision.o $(O)weapon.o $(O)were.o $(O)wield.o \ 178 $(O)windows.o $(O)wizard.o $(O)worm.o $(O)worn.o \ 179 $(O)write.o $(O)zap.o 180 181MAKEDEFOBJ = \ 182 $(O)monstr.o 183 184AMIGAOBJ = \ 185 $(O)amidos.o $(O)amirip.o $(O)amistack.o \ 186 $(O)amiwind.o $(O)winami.o $(O)winchar.o $(O)winfuncs.o \ 187 $(O)winkey.o $(O)winamenu.o $(O)winreq.o $(O)winstr.o 188 189# Objects from assembly sources (because DMake can't handle default rules) 190AMIGAOBJ2 = \ 191# $(O)dispmap.o 192 193SHAREOBJ = \ 194 $(O)pcmain.o $(RANDOBJ) 195 196TTYOBJ = \ 197 $(O)getline.o $(O)termcap.o $(O)topl.o $(O)wintty.o $(O)amitty.o \ 198 $(O)rip.o 199 200# Yuck yuck yuck. Have to tell DMake where these are, since they're not 201# all in the same place. 202TTYSRC = \ 203 $(TTY)getline.c $(TTY)termcap.c $(TTY)topl.c $(TTY)wintty.c \ 204 $(AMI)amitty.c $(NHS)rip.c 205 206# All the object files for NetHack: 207 208HOBJ = $(COMMOBJ) $(AMIGAOBJ) $(AMIGAOBJ2) $(SHAREOBJ) $(MAKEDEFOBJ) $(TTYOBJ) 209 210### 211### DATA FILES 212### 213 214# quest files 215ADFILES1= $(SLIB)Arc-fila.lev $(SLIB)Arc-filb.lev $(SLIB)Arc-loca.lev \ 216 $(SLIB)Arc-strt.lev 217ADFILES= $(SLIB)Arc-goal.lev $(ADFILES1) 218 219BDFILES1= $(SLIB)Bar-fila.lev $(SLIB)Bar-filb.lev $(SLIB)Bar-loca.lev \ 220 $(SLIB)Bar-strt.lev 221BDFILES= $(SLIB)Bar-goal.lev $(BDFILES1) 222 223CDFILES1= $(SLIB)Cav-fila.lev $(SLIB)Cav-filb.lev $(SLIB)Cav-loca.lev \ 224 $(SLIB)Cav-strt.lev 225CDFILES= $(SLIB)Cav-goal.lev $(CDFILES1) 226 227HDFILES1= $(SLIB)Hea-fila.lev $(SLIB)Hea-filb.lev $(SLIB)Hea-loca.lev \ 228 $(SLIB)Hea-strt.lev 229HDFILES= $(SLIB)Hea-goal.lev $(HDFILES1) 230 231KDFILES1= $(SLIB)Kni-fila.lev $(SLIB)Kni-filb.lev $(SLIB)Kni-loca.lev \ 232 $(SLIB)Kni-strt.lev 233KDFILES= $(SLIB)Kni-goal.lev $(KDFILES1) 234 235MDFILES1= $(SLIB)Mon-fila.lev $(SLIB)Mon-filb.lev $(SLIB)Mon-loca.lev \ 236 $(SLIB)Mon-strt.lev 237MDFILES= $(SLIB)Mon-goal.lev $(MDFILES1) 238 239PDFILES1= $(SLIB)Pri-fila.lev $(SLIB)Pri-filb.lev $(SLIB)Pri-loca.lev \ 240 $(SLIB)Pri-strt.lev 241PDFILES= $(SLIB)Pri-goal.lev $(PDFILES1) 242 243RDFILES1= $(SLIB)Rog-fila.lev $(SLIB)Rog-filb.lev $(SLIB)Rog-loca.lev \ 244 $(SLIB)Rog-strt.lev 245RDFILES= $(SLIB)Rog-goal.lev $(RDFILES1) 246 247RANFILES1= $(SLIB)Ran-fila.lev $(SLIB)Ran-filb.lev $(SLIB)Ran-loca.lev \ 248 $(SLIB)Ran-strt.lev 249RANFILES= $(SLIB)Ran-goal.lev $(RANFILES1) 250 251SDFILES1= $(SLIB)Sam-fila.lev $(SLIB)Sam-filb.lev $(SLIB)Sam-loca.lev \ 252 $(SLIB)Sam-strt.lev 253SDFILES= $(SLIB)Sam-goal.lev $(SDFILES1) 254 255TDFILES1= $(SLIB)Tou-fila.lev $(SLIB)Tou-filb.lev $(SLIB)Tou-loca.lev \ 256 $(SLIB)Tou-strt.lev 257TDFILES= $(SLIB)Tou-goal.lev $(TDFILES1) 258 259VDFILES1= $(SLIB)Val-fila.lev $(SLIB)Val-filb.lev $(SLIB)Val-loca.lev \ 260 $(SLIB)Val-strt.lev 261VDFILES= $(SLIB)Val-goal.lev $(VDFILES1) 262 263WDFILES1= $(SLIB)Wiz-fila.lev $(SLIB)Wiz-filb.lev $(SLIB)Wiz-loca.lev \ 264 $(SLIB)Wiz-strt.lev 265WDFILES= $(SLIB)Wiz-goal.lev $(WDFILES1) 266 267XDFILES= $(ADFILES) $(BDFILES) $(CDFILES) $(HDFILES) $(KDFILES) \ 268 $(MDFILES) $(PDFILES) $(RDFILES) $(RANFILES) $(SDFILES) $(TDFILES) \ 269 $(VDFILES) $(WDFILES) 270 271TILEFILES= \ 272 $(SBIN)txt2iff \ 273 $(NETHACK)tiles \ 274 $(NETHACK)tiles/objects.iff \ 275 $(NETHACK)tiles/monsters.iff \ 276 $(NETHACK)tiles/other.iff 277 278INSTDUNGEONFILES1= \ 279 $(SLIB)air.lev $(SLIB)asmodeus.lev $(SLIB)astral.lev \ 280 $(SLIB)baalz.lev $(SLIB)bigrm-1.lev $(SLIB)bigrm-2.lev \ 281 $(SLIB)bigrm-3.lev $(SLIB)bigrm-4.lev $(SLIB)bigrm-5.lev \ 282 $(SLIB)castle.lev $(SLIB)dungeon $(SLIB)earth.lev \ 283 $(SLIB)fakewiz1.lev $(SLIB)fakewiz2.lev $(SLIB)fire.lev \ 284 $(SLIB)juiblex.lev $(SLIB)knox.lev $(SLIB)medusa-1.lev \ 285 $(SLIB)medusa-2.lev $(SLIB)minend-1.lev $(SLIB)minend-2.lev \ 286 $(SLIB)minetn-1.lev $(SLIB)minetn-2.lev $(SLIB)minefill.lev \ 287 $(SLIB)options $(SLIB)oracle.lev $(SLIB)orcus.lev \ 288 $(SLIB)sanctum.lev $(SLIB)soko1-1.lev $(SLIB)soko1-2.lev \ 289 $(SLIB)soko2-1.lev $(SLIB)soko2-2.lev $(SLIB)soko3-1.lev \ 290 $(SLIB)soko3-2.lev $(SLIB)soko4-1.lev $(SLIB)soko4-2.lev \ 291 $(SLIB)tower1.lev $(SLIB)tower2.lev $(SLIB)tower3.lev \ 292 $(SLIB)valley.lev $(SLIB)water.lev $(SLIB)wizard1.lev \ 293 $(SLIB)wizard2.lev $(SLIB)wizard3.lev \ 294 $(XDFILES) 295 296INSTDUNGEONFILES= $(NETHACK)NetHack.cnf $(INSTDUNGEONFILES1) 297 298 299INSTDATAFILES= \ 300 $(NETHACK)license $(NETHACK)logfile $(NETHACK)record \ 301 $(NETHACK)tomb.iff $(NETHACK)amii.hlp $(NETHACK)Recover.txt \ 302 $(NETHACK)GuideBook.txt $(NETHACK)NetHack.txt $(NETHACK)Install.ami \ 303# $(NETHACK)HackWB.hlp $(NETHACK)WBDefaults.def 304 305LIBFILES= \ 306 $(INSTDUNGEONFILES1) \ 307 $(SLIB)cmdhelp $(SLIB)data $(SLIB)dungeon \ 308 $(SLIB)help $(SLIB)hh $(SLIB)history \ 309 $(SLIB)opthelp $(SLIB)oracles $(SLIB)rumors \ 310 $(SLIB)quest.dat $(SLIB)wizhelp 311 312### 313### Getting down to business: 314### 315 316all: $(COMPACT_HEADERS) $(SBIN)lev_comp $(SBIN)dgn_comp $(SBIN)NetHack \ 317 $(SBIN)dlb $(NETHACK)recover #$(NETHACK)HackCli $(SBIN)splitter \ 318# $(NETHACK)HackWB 319 320install: inst-data inst-dungeon inst-fonts inst-tiles \ 321 $(NETHACK)recover $(NETHACK)NetHack $(NETHACK)nhdat 322 #$(NETHACK)NetHack.dir inst-icons 323 324$(SBIN)NetHack: link 325 326$(NETHACK)NetHack: $(SBIN)NetHack 327 copy $(SBIN)NetHack $(NETHACK)NetHack 328 329## uuh this is messy.. smake has weird command line length limit 330link: $(HOBJ) 331 list to t:link lformat="$(O)%s" $(O)\#?.o QUICK NOHEAD 332 echo "\#sh" to t:cc 333 echo "$(LINK) $(LNSPEC) $(SBIN)NetHack $(LIN) $(LLIB) $(LLINK) " >>t:cc noline 334 fmt -u -w 2500 t:link >>t:cc 335 sh t:cc 336 delete t:cc t:link 337 338 339## dlb support 340$(OO)dlb_main.o: $(UTIL)dlb_main.c $(HDEP) $(I)dlb.h $(I)date.h 341 $(CC) $(CFLAGS) $(OBJSPEC)$(OO)dlb_main.o $(UTIL)dlb_main.c 342 343$(SBIN)dlb: $(OO)dlb_main.o $(O)dlb.o $(O)alloc.o $(OO)panic.o 344 $(LINK) $(PNSPEC) $(SBIN)dlb $(LIN) $(OO)dlb_main.o $(O)dlb.o \ 345 $(O)alloc.o $(OO)panic.o $(LLIB) 346 347obj: $(HOBJ) 348 349obja: $(AMIGAOBJ) 350 351objs: $(SHAREOBJ) 352 353 354SUFFIXES = .lev .des 355.des.lev: 356 $(SBIN)lev_comp $< 357 358# The default method for creating object files: 359 360#$(O)%.o: $(NHS)%.c 361.c.o: 362 $(CC) $(CFLAGS) $(CSYM) $(OBJSPEC)$@ $< 363 364clean: 365 -delete $(O)\#?.o $(OO)\#?.o 366 367spotless: clean 368 -delete $(SBIN)NetHack $(SBIN)lev_comp $(SBIN)makedefs $(SBIN)dgn_comp 369 -delete $(SBIN)dlb $(SBIN)txt2iff $(SBIN)splitter 370 -delete $(SBIN)tilemap 371 -delete $(SLIB)data $(SLIB)rumors 372 -delete $(SLIB)\#?.lev 373 -delete $(SLIB)dungeon 374 -delete $(SLIB)cmdhelp $(SLIB)help $(SLIB)hh $(SLIB)history 375 -delete $(SLIB)opthelp $(SLIB)options $(SLIB)oracles 376 -delete $(SLIB)quest.dat $(SLIB)wizhelp 377# -delete $(SLIB)earth.lev $(SLIB)air.lev $(SLIB)fire.lev 378# -delete $(SLIB)water.lev $(SLIB)astral.lev 379# -delete $(SLIB)tower1.lev $(SLIB)tower2.lev $(SLIB)tower3.lev 380# -delete $(SLIB)fakewiz1.lev $(SLIB)fakewiz2.lev 381# -delete $(SLIB)medusa-1.lev $(SLIB)medusa-2.lev 382# -delete $(SLIB)oracle.lev $(SLIB)wizard1.lev $(SLIB)wizard2.lev 383# -delete $(SLIB)wizard3.lev $(DAT)dungeon.pdf $(SLIB)valley.lev 384# -delete $(SLIB)minefill.lev 385# -delete $(SLIB)minetn-1 $(SLIB)minetn-2 $(SLIB)minend-1 $(SLIB)minend-2 386# -delete $(SLIB)soko1-1.lev $(SLIB)soko1-2.lev $(SLIB)soko2-1.lev 387# -delete $(SLIB)soko2-2.lev $(SLIB)soko3-1.lev $(SLIB)soko3-2.lev 388# -delete $(SLIB)soko4-1.lev $(SLIB)soko4-2.lev 389# -delete $(ADFILES) 390# -delete $(BDFILES) 391# -delete $(CDFILES) 392# -delete $(HDFILES) 393# -delete $(KDFILES) 394# -delete $(MDFILES) 395# -delete $(PDFILES) 396# -delete $(RDFILES) 397# -delete $(RANFILES) 398# -delete $(SDFILES) 399# -delete $(TDFILES) 400# -delete $(VDFILES) 401# -delete $(WDFILES) 402 -delete $(I)onames.h $(I)pm.h $(I)date.h 403 -delete $(NHS)tile.c $(NHS)monstr.c 404 -delete $(I)tile.h 405# -echo to $(I)onames.h "" noline 406# -c:wait 2 407# -echo to $(I)pm.h "" noline 408# -c:wait 2 409# -setdate $(UTIL)makedefs.c 410# -c:wait 2 411 412# Creating precompiled version of $(I)hack.h to save disk I/O. 413 414# 415# Please note: The dependency lines for the modules here are 416# deliberately incorrect. Including "hack.h" in 417# the dependency list would cause a dependency 418# loop. 419# 420 421$(SBIN)makedefs: $(MAKEOBJS) 422 $(LINK) $(LNSPEC) $(SBIN)makedefs $(LIN) $(MAKEOBJS) $(LLIB) 423 424$(OO)makedefs.o: $(UTIL)makedefs.c $(I)config.h $(I)permonst.h $(I)monsym.h \ 425 $(I)objclass.h $(I)patchlevel.h $(I)artilist.h 426 $(CC) $(DEFSPEC)MAKEDEFS_C $(CFLAGS) $(OBJSPEC)$@ $(UTIL)makedefs.c 427 428$(SBIN)lev_comp: $(SPLEVOBJS) 429 $(LINK) $(LNSPEC) $(SBIN)lev_comp $(LIN) $(SPLEVOBJS) $(FBFIL) $(FLLIB) 430 431$(SBIN)dgn_comp: $(DGNCOMPOBJS) 432 $(LINK) $(LNSPEC) $(SBIN)dgn_comp $(LIN) $(DGNCOMPOBJS) $(FBFIL) $(FLLIB) 433 434$(OO)lev_yacc.o: $(UTIL)lev_yacc.c $(HDEP) $(I)sp_lev.h $(I)pm.h $(I)onames.h 435# setdate $(UTIL)lev_yacc.c 436 $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)PREFIX="NH:slib/" $(CFLAGS) \ 437 $(DEFSPEC)alloca=malloc $(OBJSPEC)$@ $(UTIL)lev_yacc.c 438 439$(OO)lev_lex.o: $(UTIL)lev_lex.c $(HDEP) $(I)lev_comp.h $(I)sp_lev.h 440 $(CC) $(DEFSPEC)LEV_LEX_C $(CFLAGS) $(OBJSPEC)$@ $(UTIL)lev_lex.c 441 442$(OO)lev_main.o: $(UTIL)lev_main.c $(HDEP) $(I)pm.h $(I)onames.h $(I)date.h 443 $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)AMIGA $(CFLAGS) $(OBJSPEC)$@ \ 444 $(UTIL)lev_main.c 445 446$(OO)dgn_yacc.o: $(UTIL)dgn_yacc.c $(HDEP) $(I)dgn_file.h $(I)patchlevel.h 447 $(CC) $(DEFSPEC)LEV_LEX_C $(CFLAGS) $(DEFSPEC)alloca=malloc \ 448 $(OBJSPEC)$@ $(UTIL)dgn_yacc.c 449 450$(OO)dgn_lex.o: $(UTIL)dgn_lex.c $(I)config.h $(I)dgn_comp.h $(I)dgn_file.h 451 $(CC) $(DEFSPEC)LEV_LEX_C $(CFLAGS) $(OBJSPEC)$@ $(UTIL)dgn_lex.c 452 453$(OO)dgn_main.o: $(UTIL)dgn_main.c $(I)config.h $(I)date.h 454 $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)AMIGA $(CFLAGS) $(OBJSPEC)$@ \ 455 $(UTIL)dgn_main.c 456 457$(OO)panic.o: $(UTIL)panic.c $(HDEP) 458 459$(OO)recover.o: $(UTIL)recover.c $(I)config.h $(I)date.h 460 $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)AMIGA $(CFLAGS) $(OBJSPEC)$@ \ 461 $(UTIL)recover.c 462 463$(NETHACK)recover: $(OO)recover.o 464 $(LINK) $(LNSPEC) $(NETHACK)recover $(LIN) $(OO)recover.o $(LLIB) 465 466# [OPTION] -- If you have flex/bison, leave these uncommented. Otherwise, 467# comment them out and be careful! (You're not guaranteed to have the most 468# up to date *_comp.c, *_comp.h and *_lex.c) 469 470$(I)lev_comp.h: $(UTIL)lev_yacc.c $(I)patchlevel.h 471 472$(UTIL)lev_yacc.c: $(UTIL)lev_comp.y $(I)patchlevel.h 473 $(BISON) -d $(UTIL)lev_comp.y 474# copy y.tab.c $(UTIL)lev_yacc.c 475# copy y.tab.h $(I)lev_comp.h 476 copy $(UTIL)lev_comp.tab.c $(UTIL)lev_yacc.c 477 copy $(UTIL)lev_comp.tab.h $(I)lev_comp.h 478# delete y.tab.c 479# delete y.tab.h 480 delete $(UTIL)lev_comp.tab.c 481 delete $(UTIL)lev_comp.tab.h 482 483$(UTIL)lev_lex.c: $(UTIL)lev_comp.l $(I)patchlevel.h 484 $(FLEX) $(UTIL)lev_comp.l 485 copy lex.yy.c $(UTIL)lev_lex.c 486 delete lex.yy.c 487 488$(I)dgn_comp.h: $(UTIL)dgn_yacc.c $(I)patchlevel.h 489 490$(UTIL)dgn_yacc.c: $(UTIL)dgn_comp.y $(I)patchlevel.h 491 $(BISON) -d $(UTIL)dgn_comp.y 492# copy y.tab.c $(UTIL)dgn_yacc.c 493# copy y.tab.h $(I)dgn_comp.h 494 copy $(UTIL)dgn_comp.tab.c $(UTIL)dgn_yacc.c 495 copy $(UTIL)dgn_comp.tab.h $(I)dgn_comp.h 496# delete y.tab.c 497# delete y.tab.h 498 delete $(UTIL)dgn_comp.tab.c 499 delete $(UTIL)dgn_comp.tab.h 500 501$(UTIL)dgn_lex.c: $(UTIL)dgn_comp.l $(I)patchlevel.h 502 $(FLEX) $(UTIL)dgn_comp.l 503 copy lex.yy.c $(UTIL)dgn_lex.c 504 delete lex.yy.c 505 506# 507# The following include files depend on makedefs to be created. 508# As a result, they are not defined in HACKINCL, instead, their 509# dependencies are explicitly outlined here. 510# 511 512# 513# date.h should be remade any time any of the source or include code 514# is modified. Unfortunately, this would make the contents of this 515# file far more complex. Since "hack.h" depends on most of the include 516# files, we kludge around this by making date.h dependent on hack.h, 517# even though it doesn't include this file. 518# 519 520$(I)date.h $(DAT)options: $(HDEP) $(SBIN)makedefs $(AMIGAOBJ) $(I)patchlevel.h 521 $(SBIN)makedefs -v 522 $(EXECUTE) ifchange MOVE $(I)t.date.h $(I)date.h 523 -c:wait 2 524 525$(I)onames.h: $(SBIN)makedefs 526 $(SBIN)makedefs -o 527 $(EXECUTE) ifchange TOUCH $(I)t.onames.h $(I)onames.h $(I)decl.h 528 $(EXECUTE) ifchange MOVE $(I)t.onames.h $(I)onames.h 529 -c:wait 2 530 531$(I)pm.h: $(SBIN)makedefs 532 $(SBIN)makedefs -p 533 $(EXECUTE) ifchange TOUCH $(I)t.pm.h $(I)pm.h $(I)decl.h $(I)youprop.h 534 $(EXECUTE) ifchange MOVE $(I)t.pm.h $(I)pm.h 535 -c:wait 2 536 537$(SLIB)quest.dat: $(DAT)quest.txt $(SBIN)makedefs 538 $(SBIN)makedefs -q 539 540$(NHS)monstr.c: $(HDEP) $(SBIN)makedefs 541 $(SBIN)makedefs -m 542 -c:wait 2 543 544$(SLIB)oracles: $(DAT)oracles.txt $(SBIN)makedefs 545 $(SBIN)makedefs -h 546 -c:wait 2 547 548# 549# The following programs vary depending on what OS you are using. 550# As a result, they are not defined in HACKSRC and their dependencies 551# are explicitly outlined here. 552# 553 554$(O)amidos.o: $(AMI)amidos.c $(HDEP) 555 556$(O)amirip.o: $(AMI)amirip.c $(HDEP) 557 558$(O)aglue.o: $(AMI)aglue.a 559 $(ASM) $(AFLAGS) $(AOBJSPEC)$(O)aglue.o $(AMI)aglue.a 560 561$(O)winchar.o: $(AMI)winchar.c $(NHS)tile.c $(HDEP) 562 563$(NHS)tile.c: $(WSHARE)tilemap.c 564 $(CCLINK) $(CFLAGS) $(PNSPEC) $(SBIN)tilemap $(WSHARE)tilemap.c 565 $(SBIN)tilemap 566 567$(O)winstr.o: $(AMI)winstr.c $(HDEP) $(AMDEP) 568 569$(O)winreq.o: $(AMI)winreq.c $(HDEP) $(AMDEP) $(AMI)colorwin.c $(AMI)clipwin.c 570 571$(O)winfuncs.o: $(AMI)winfuncs.c $(HDEP) $(AMDEP) $(I)patchlevel.h 572 573$(O)winkey.o: $(AMI)winkey.c $(HDEP) $(AMDEP) 574 575$(O)winamenu.o: $(AMI)winamenu.c $(HDEP) $(AMDEP) 576 577$(O)winami.o: $(AMI)winami.c $(HDEP) $(AMDEP) #$(AMI)char.c $(AMI)randwin.c 578 579#$(O)amilib.o: $(AMI)amilib.c $(HDEP) $(AMDEP) 580 581$(O)amiwind.o: $(AMI)amiwind.c $(AMI)amimenu.c $(HDEP) $(AMDEP) 582 583$(O)amiwbench.o: $(AMI)amiwbench.c $(HDEP) 584 585$(O)random.o: $(SHARE)random.c 586 587$(O)pcmain.o: $(SHARE)pcmain.c $(HDEP) $(I)dlb.h 588 589$(O)dispmap.o: $(AMI)dispmap.s 590 $(ASM) $(AFLAGS) $(AOBJSPEC)$@ $< 591 592# Stuff to build the front ends 593$(NETHACK)HackWB: $(OO)wb.o $(OO)wbx.o $(OO)loader.o $(OO)multi.o 594 $(LINK) $(LNSPEC) $(NETHACK)HackWB $(LIN) $(OO)wb.o $(OO)wbx.o \ 595 $(OO)loader.o $(OO)multi.o $(LLIB) 596 597$(NETHACK)HackCli: $(OO)cli.o $(OO)loader.o $(OO)multi.o 598 $(LINK) $(LNSPEC) $(NETHACK)HackCli $(LIN) $(OO)cli.o $(OO)loader.o \ 599 $(OO)multi.o $(LLIB) 600 601# This needs to exist to eliminate the HackWB startup message 602$(NETHACK)WBDefaults.def: 603 echo to $(NETHACK)WBDefaults.def 604 605WBH = $(AMI)wbdefs.h $(AMI)wbstruct.h $(AMI)wbprotos.h 606ASP = $(AMI)splitter 607$(OO)wb.o: $(WBH) $(AMI)wb.c $(AMI)wbwin.c $(AMI)wbdata.c $(AMI)wbgads.c \ 608 $(I)patchlevel.h 609 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)wb.o $(AMI)wb.c 610 611$(OO)wbx.o: $(WBH) $(AMI)wbcli.c $(AMI)wbwin.c $(AMI)wbdata.c \ 612 $(I)patchlevel.h $(I)date.h 613 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)wbx.o $(AMI)wbcli.c 614 615$(OO)loader.o: $(ASP)/loader.c $(ASP)/split.h $(ASP)/amiout.h $(ASP)/multi.h 616 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)loader.o $(ASP)/loader.c 617 618$(OO)multi.o: $(ASP)/multi.c $(ASP)/multi.h 619 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)multi.o $(ASP)/multi.c 620 621$(OO)cli.o: $(WBH) $(AMI)wbcli.c $(I)patchlevel.h $(I)date.h 622 $(CC) $(WBCFLAGS) $(WBC2FLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)cli.o \ 623 $(AMI)wbcli.c 624 625#### 626# splitter support 627$(SBIN)splitter: $(OO)splitter.o $(OO)arg.o 628 $(LINK) $(LNSPEC) $(SBIN)splitter $(LIN) $(OO)splitter.o $(OO)arg.o \ 629 $(LLIB) 630 631$(NETHACK)NetHack.dir: $(SBIN)splitter $(SBIN)NetHack 632 $(SBIN)splitter $(SBIN)NetHack 633 634$(OO)splitter.o: $(ASP)/splitter.c $(ASP)/split.h $(ASP)/amiout.h $(ASP)/arg.h 635 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)splitter.o \ 636 $(ASP)/splitter.c 637 638$(OO)arg.o: $(ASP)/arg.c $(ASP)/arg.h 639 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)arg.o $(ASP)/arg.c 640 641# Create/copy other stuff into NetHack: directory: 642 643$(NETHACK)tomb.iff: $(SBIN)xpm2iff $(AMI)grave16.xpm 644 $(SBIN)xpm2iff $(AMI)grave16.xpm $(NETHACK)tomb.iff 645 646$(OO)xpm2iff.o: $(AMI)xpm2iff.c 647 $(CC) $(CFLAGS) $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ $(AMI)xpm2iff.c 648 649$(SBIN)xpm2iff: $(OO)xpm2iff.o 650 $(LINK) $(LNSPEC) $@ $(LIN) $(OO)xpm2iff.o $(FLLIB) 651 652# Tile installation for the tile version of the game 653inst-tiles: $(TILEFILES) 654 655$(NETHACK)tiles: 656 -makedir $(NETHACK)tiles 657 658$(OO)txt2iff.o: $(AMI)txt2iff.c 659 $(CC) $(CFLAGS) $(CSYM) $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ \ 660 $(AMI)txt2iff.c 661 662$(OO)ppmwrite.o: $(WSHARE)ppmwrite.c 663 $(CC) $(CFLAGS) $(CSYM) $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ $(WSHARE)ppmwrite.c 664 665$(OO)tiletext.o: $(WSHARE)tiletext.c $(I)config.h $(WSHARE)tile.h 666 $(CC) $(CFLAGS) $(CSYM) $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ $(WSHARE)tiletext.c 667 668$(OO)tiletxt.o: $(WSHARE)tilemap.c $(I)hack.h 669 $(CC) $(CFLAGS) $(CSYM) $(DEFSPEC)TILETEXT $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ $(WSHARE)tilemap.c 670 671NAMEOBJS = $(O)drawing.o $(O)decl.o $(O)monst.o $(O)objects.o 672 673$(SBIN)txt2ppm: $(OO)ppmwrite.o $(NAMEOBJS) $(O)alloc.o $(OO)panic.o $(OO)tiletext.o $(OO)tiletxt.o 674 $(LINK) $(LNSPEC) $@ $(LIN) $(OO)ppmwrite.o $(NAMEOBJS) $(OO)tiletext.o $(OO)tiletxt.o $(O)alloc.o $(OO)panic.o $(FLLIB) 675 676$(SBIN)txt2iff: $(OO)txt2iff.o $(NAMEOBJS) $(OO)tiletext.o $(OO)tiletxt.o 677 $(LINK) $(LNSPEC) $@ $(LIN) $(OO)txt2iff.o $(NAMEOBJS) $(OO)tiletext.o \ 678 $(OO)tiletxt.o $(FLLIB) 679 680$(NETHACK)tiles/objects.iff: $(WSHARE)objects.txt $(SBIN)txt2iff 681 $(SBIN)txt2iff $(WSHARE)objects.txt $(NETHACK)tiles/objects.iff 682 683$(NETHACK)tiles/monsters.iff: $(WSHARE)monsters.txt $(SBIN)txt2iff 684 $(SBIN)txt2iff $(WSHARE)monsters.txt $(NETHACK)tiles/monsters.iff 685 686$(NETHACK)tiles/other.iff: $(WSHARE)other.txt $(SBIN)txt2iff 687 $(SBIN)txt2iff $(WSHARE)other.txt $(NETHACK)tiles/other.iff 688 689inst-dungeon: $(INSTDUNGEONFILES) 690 691$(NETHACK)options : $(DAT)options 692 copy $(DAT)options $@ 693 694# Create compiled dungeon files 695BGM= $(SLIB)bigrm-2.lev $(SLIB)bigrm-3.lev $(SLIB)bigrm-4.lev $(SLIB)bigrm-5.lev 696$(BGM): $(SLIB)bigrm-1.lev 697 698$(SLIB)bigrm-1.lev: $(DAT)bigroom.des $(SBIN)lev_comp 699 700$(SLIB)castle.lev: $(DAT)castle.des $(SBIN)lev_comp 701 702ENDGAME1= $(SLIB)air.lev $(SLIB)earth.lev $(SLIB)fire.lev $(SLIB)water.lev 703$(ENDGAME1): $(SLIB)astral.lev 704 705$(SLIB)astral.lev: $(DAT)endgame.des $(SBIN)lev_comp 706 707GEHENNOM1= $(SLIB)asmodeus.lev $(SLIB)baalz.lev $(SLIB)juiblex.lev \ 708 $(SLIB)orcus.lev $(SLIB)sanctum.lev 709$(GEHENNOM1): $(SLIB)valley.lev 710 711$(SLIB)valley.lev: $(DAT)gehennom.des $(SBIN)lev_comp 712 713$(SLIB)knox.lev: $(DAT)knox.des $(SBIN)lev_comp 714 715MINES1= $(SLIB)minend-1.lev $(SLIB)minend-2.lev $(SLIB)minetn-1.lev $(SLIB)minetn-2.lev 716$(MINES1): $(SLIB)minefill.lev 717 718$(SLIB)minefill.lev: $(DAT)mines.des $(SBIN)lev_comp 719 720$(SLIB)oracle.lev: $(DAT)oracle.des $(SBIN)lev_comp 721 722TOWER1= $(SLIB)tower1.lev $(SLIB)tower2.lev 723$(TOWER1): $(SLIB)tower3.lev 724 725$(SLIB)tower3.lev: $(DAT)tower.des $(SBIN)lev_comp 726 727WIZARD1= $(SLIB)wizard1.lev $(SLIB)wizard2.lev $(SLIB)wizard3.lev \ 728 $(SLIB)fakewiz1.lev 729$(WIZARD1): $(SLIB)fakewiz2.lev 730 731$(SLIB)fakewiz2.lev: $(DAT)yendor.des $(SBIN)lev_comp 732 733MEDUSA1= $(SLIB)medusa-1.lev 734$(MEDUSA1): $(SLIB)medusa-2.lev 735 736$(SLIB)medusa-2.lev: $(DAT)medusa.des $(SBIN)lev_comp 737 738SOKOBAN1= $(SLIB)soko1-1.lev $(SLIB)soko1-2.lev $(SLIB)soko2-1.lev \ 739 $(SLIB)soko2-2.lev $(SLIB)soko3-1.lev $(SLIB)soko3-2.lev \ 740 $(SLIB)soko4-1.lev 741$(SOKOBAN1): $(SLIB)soko4-2.lev 742 743$(SLIB)soko4-2.lev: $(DAT)sokoban.des $(SBIN)lev_comp 744 745$(ADFILES1): $(SLIB)Arc-goal.lev 746 747$(SLIB)Arc-goal.lev: $(DAT)Arch.des $(SBIN)lev_comp 748 749$(BDFILES1): $(SLIB)Bar-goal.lev 750 751$(SLIB)Bar-goal.lev: $(DAT)Barb.des $(SBIN)lev_comp 752 753$(CDFILES1): $(SLIB)Cav-goal.lev 754 755$(SLIB)Cav-goal.lev: $(DAT)Caveman.des $(SBIN)lev_comp 756 757$(HDFILES1): $(SLIB)Hea-goal.lev 758 759$(SLIB)Hea-goal.lev: $(DAT)Healer.des $(SBIN)lev_comp 760 761$(KDFILES1): $(SLIB)Kni-goal.lev 762 763$(SLIB)Kni-goal.lev: $(DAT)Knight.des $(SBIN)lev_comp 764 765$(MDFILES1): $(SLIB)Mon-goal.lev 766 767$(SLIB)Mon-goal.lev: $(DAT)Monk.des $(SBIN)lev_comp 768 769$(PDFILES1): $(SLIB)Pri-goal.lev 770 771$(SLIB)Pri-goal.lev: $(DAT)Priest.des $(SBIN)lev_comp 772 773$(RDFILES1): $(SLIB)Rog-goal.lev 774 775$(SLIB)Rog-goal.lev: $(DAT)Rogue.des $(SBIN)lev_comp 776 777$(RANFILES1): $(SLIB)Ran-goal.lev 778 779$(SLIB)Ran-goal.lev: $(DAT)Ranger.des $(SBIN)lev_comp 780 781$(SDFILES1): $(SLIB)Sam-goal.lev 782 783$(SLIB)Sam-goal.lev: $(DAT)Samurai.des $(SBIN)lev_comp 784 785$(TDFILES1): $(SLIB)Tou-goal.lev 786 787$(SLIB)Tou-goal.lev: $(DAT)Tourist.des $(SBIN)lev_comp 788 789$(VDFILES1): $(SLIB)Val-goal.lev 790 791$(SLIB)Val-goal.lev: $(DAT)Valkyrie.des $(SBIN)lev_comp 792 793$(WDFILES1): $(SLIB)Wiz-goal.lev 794 795$(SLIB)Wiz-goal.lev: $(DAT)Wizard.des $(SBIN)lev_comp 796 797$(SLIB)dungeon: $(DAT)dungeon.def $(SBIN)makedefs $(SBIN)dgn_comp 798 $(SBIN)makedefs -e 799 $(SBIN)dgn_comp $(DAT)dungeon.pdf 800 copy $(DAT)dungeon $(SLIB)dungeon 801 delete $(DAT)dungeon 802 803inst-data: $(INSTDATAFILES) 804 805$(NETHACK)amii.hlp: $(AMI)amii.hlp 806 copy $(AMI)amii.hlp $@ 807 808#$(NETHACK)data: $(DAT)data 809# copy $(DAT)data $@ 810 811$(SLIB)data: $(DAT)data.base $(I)config.h $(SBIN)makedefs 812 $(SBIN)makedefs -d 813 814#$(NETHACK)rumors: $(DAT)rumors 815# copy $(DAT)rumors $@ 816 817$(SLIB)rumors: $(DAT)rumors.tru $(DAT)rumors.fal $(SBIN)makedefs 818 $(SBIN)makedefs -r 819 820$(SLIB)cmdhelp: $(DAT)cmdhelp 821 copy $(DAT)cmdhelp $@ 822 823$(SLIB)help: $(DAT)help 824 copy $(DAT)help $@ 825 826$(SLIB)hh: $(DAT)hh 827 copy $(DAT)hh $@ 828 829$(NETHACK)HackWB.hlp: $(AMI)HackWB.hlp 830 copy $(AMI)HackWB.hlp $@ 831 832$(SLIB)history: $(DAT)history 833 copy $(DAT)history $@ 834 835$(NETHACK)license: $(DAT)license 836 copy $(DAT)license $@ 837 838$(SLIB)opthelp: $(DAT)opthelp 839 copy $(DAT)opthelp $@ 840 841$(NETHACK)Recover.txt: $(DOC)Recover.txt 842 copy $(DOC)Recover.txt $@ 843 844$(NETHACK)GuideBook.txt: $(DOC)GuideBook.txt 845 copy $(DOC)GuideBook.txt $@ 846 847$(NETHACK)NetHack.txt: $(DOC)NetHack.txt 848 copy $(DOC)NetHack.txt $@ 849 850$(NETHACK)Install.ami: $(AMI)Install.ami 851 copy $(AMI)Install.ami $@ 852 853$(NETHACK)logfile: 854 echo to $@ 855 856$(NETHACK)record: 857 echo to $@ 858 859$(SLIB)wizhelp: $(DAT)wizhelp 860 copy $(DAT)wizhelp $@ 861 862# Create the directories here because NetHack.cnf puts them there by default 863$(NETHACK)NetHack.cnf: $(AMI)NetHack.cnf 864 copy $(AMI)NetHack.cnf $@ 865 -makedir $(NETHACK)save 866 -makedir $(NETHACK)levels 867 868# Unpack and install fonts 869 870INSTFONTFILES= $(NETHACK)hack.font $(NETHACK)hack $(NETHACK)hack/8 871 872inst-fonts: $(INSTFONTFILES) 873 874$(NETHACK)hack/8: $(AMI)amifont8.uu $(NETHACK)hack 875 $(UUDEC) $(AMI)amifont8.uu 876 copy 8 $(NETHACK)hack/8 877 delete 8 878 879$(NETHACK)hack.font: $(AMI)amifont.uu 880 $(UUDEC) $(AMI)amifont.uu 881 copy hack.font $(NETHACK)hack.font 882 delete hack.font 883 884$(NETHACK)hack: 885 -makedir $@ 886 887INSTICONFILES= \ 888 $(NETHACK)default.icon $(NETHACK)NetHack.info $(NETHACK)NewGame.info \ 889 $(NETHACK)HackWB.info 890 891inst-icons: $(INSTICONFILES) 892 893# Unpack the icons into place 894 895$(NETHACK)default.icon: $(AMI)dflticon.uu 896 $(UUDEC) $(AMI)dflticon.uu 897# copy default.icon $(NETHACK)default.icon 898# delete default.icon 899 900$(NETHACK)NetHack.info: $(AMI)NHinfo.uu 901 $(UUDEC) $(AMI)NHinfo.uu 902# copy NetHack.info $(NETHACK)NetHack.info 903# delete NetHack.info 904 905$(NETHACK)NewGame.info: $(AMI)NewGame.uu 906 $(UUDEC) $(AMI)NewGame.uu 907# copy NewGame.info $(NETHACK)NewGame.info 908# delete NewGame.info 909 910$(NETHACK)HackWB.info: $(AMI)HackWB.uu 911 $(UUDEC) $(AMI)HackWB.uu 912# copy HackWB.info $(NETHACK)HackWB.info 913# delete HackWB.info 914 915# If DLB is defined, create the nhdat library file in the playground 916# directory. If not, move all the data files there. 917$(NETHACK)nhdat: $(LIBFILES) 918 list to T:nhdat.lst $(SLIB) QUICK NOHEAD FILES 919 echo >T:make-nhdat $(SBIN)dlb cCfI $(SLIB) $(NETHACK)nhdat T:nhdat.lst 920 echo >>T:make-nhdat if not exists $(NETHACK)nhdat 921 echo >>T:make-nhdat copy $(SLIB)\#? $(NETHACK) 922 echo >>T:make-nhdat endif 923 execute T:make-nhdat 924 -delete T:make-nhdat 925 926# DO NOT DELETE THIS LINE 927 928$(O)allmain.o: $(NHS)allmain.c $(HDEP) 929 930$(O)alloc.o: $(NHS)alloc.c $(I)config.h 931 932$(O)apply.o: $(NHS)apply.c $(HDEP) 933 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)apply.c 934 935$(O)artifact.o: $(NHS)artifact.c $(HDEP) $(I)artifact.h $(I)artilist.h 936 937$(O)attrib.o: $(NHS)attrib.c $(HDEP) $(I)artifact.h 938 939$(O)ball.o: $(NHS)ball.c $(HDEP) 940 941$(O)bones.o: $(NHS)bones.c $(HDEP) 942 943$(O)botl.o: $(NHS)botl.c $(HDEP) 944 945$(O)cmd.o: $(NHS)cmd.c $(HDEP) $(I)func_tab.h 946 947$(O)dbridge.o: $(NHS)dbridge.c $(HDEP) 948 949$(O)decl.o: $(NHS)decl.c $(HDEP) $(I)quest.h 950 951$(O)detect.o: $(NHS)detect.c $(HDEP) $(I)artifact.h 952 953$(O)dig.o: $(NHS)dig.c $(HDEP) 954 955$(O)display.o: $(NHS)display.c $(HDEP) 956 957$(O)dlb.o: $(NHS)dlb.c $(HDEP) $(I)dlb.h 958 959$(O)do.o: $(NHS)do.c $(HDEP) 960 961$(O)do_name.o: $(NHS)do_name.c $(HDEP) 962 963$(O)do_wear.o: $(NHS)do_wear.c $(HDEP) 964 965$(O)dog.o: $(NHS)dog.c $(HDEP) 966 967$(O)dogmove.o: $(NHS)dogmove.c $(HDEP) $(I)mfndpos.h 968 969$(O)dokick.o: $(NHS)dokick.c $(HDEP) 970 971$(O)dothrow.o: $(NHS)dothrow.c $(HDEP) 972 973$(O)drawing.o: $(NHS)drawing.c $(HDEP) $(I)tcap.h 974 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)drawing.c 975 976$(O)dungeon.o: $(NHS)dungeon.c $(HDEP) $(I)dgn_file.h $(I)dlb.h 977 978$(O)eat.o: $(NHS)eat.c $(HDEP) 979 980$(O)end.o: $(NHS)end.c $(HDEP) $(I)dlb.h 981 982$(O)engrave.o: $(NHS)engrave.c $(HDEP) 983 984$(O)exper.o: $(NHS)exper.c $(HDEP) 985 986$(O)explode.o: $(NHS)explode.c $(HDEP) 987 988$(O)files.o: $(NHS)files.c $(HDEP) $(I)dlb.h $(I)date.h 989 990$(O)fountain.o: $(NHS)fountain.c $(HDEP) 991 992$(O)hack.o: $(NHS)hack.c $(HDEP) 993 994$(O)hacklib.o: $(NHS)hacklib.c $(HDEP) 995 996$(O)invent.o: $(NHS)invent.c $(HDEP) $(I)artifact.h 997 998$(O)light.o: $(NHS)light.c $(HDEP) 999 1000$(O)lock.o: $(NHS)lock.c $(HDEP) 1001 1002$(O)mail.o: $(NHS)mail.c $(HDEP) $(I)mail.h 1003 1004$(O)makemon.o: $(NHS)makemon.c $(HDEP) 1005 1006$(O)mapglyph.o: $(NHS)mapglyph.c $(HDEP) 1007 1008$(O)mcastu.o: $(NHS)mcastu.c $(HDEP) 1009 1010$(O)mhitm.o: $(NHS)mhitm.c $(HDEP) $(I)artifact.h 1011 1012$(O)mhitu.o: $(NHS)mhitu.c $(HDEP) $(I)artifact.h 1013 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)mhitu.c 1014 1015$(O)minion.o: $(NHS)minion.c $(HDEP) 1016 1017$(O)mklev.o: $(NHS)mklev.c $(HDEP) 1018 1019$(O)mkmap.o: $(NHS)mkmap.c $(HDEP) $(I)sp_lev.h 1020 1021$(O)mkmaze.o: $(NHS)mkmaze.c $(HDEP) $(I)sp_lev.h 1022 1023$(O)mkobj.o: $(NHS)mkobj.c $(HDEP) $(I)artifact.h $(I)prop.h 1024 1025$(O)mkroom.o: $(NHS)mkroom.c $(HDEP) 1026 1027$(O)mon.o: $(NHS)mon.c $(HDEP) $(I)mfndpos.h 1028 1029$(O)mondata.o: $(NHS)mondata.c $(HDEP) 1030 1031$(O)monmove.o: $(NHS)monmove.c $(HDEP) $(I)mfndpos.h $(I)artifact.h 1032 1033$(O)monst.o: $(NHS)monst.c $(I)config.h $(I)permonst.h $(I)monsym.h \ 1034 $(I)color.h 1035 1036$(O)monstr.o: $(NHS)monstr.c $(HDEP) 1037 1038$(O)mplayer.o: $(NHS)mplayer.c $(HDEP) 1039 1040$(O)mthrowu.o: $(NHS)mthrowu.c $(HDEP) 1041 1042$(O)muse.o: $(NHS)muse.c $(HDEP) 1043 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)muse.c 1044 1045$(O)music.o: $(NHS)music.c $(HDEP) #interp.c 1046 1047$(O)o_init.o: $(NHS)o_init.c $(HDEP) 1048 1049$(O)objects.o: $(NHS)objects.c $(I)config.h $(I)obj.h $(I)objclass.h \ 1050 $(I)prop.h $(I)skills.h $(I)color.h 1051 $(CC) $(CFLAGS) $(INCLSPEC)$(NHS) $(OBJSPEC)$@ $(NHS)objects.c 1052 1053$(O)objnam.o: $(NHS)objnam.c $(HDEP) 1054 1055$(O)options.o: $(NHS)options.c $(HDEP) $(I)tcap.h $(I)config.h \ 1056 $(I)objclass.h $(I)flag.h 1057 1058$(O)pager.o: $(NHS)pager.c $(HDEP) $(I)dlb.h 1059 1060$(O)pickup.o: $(NHS)pickup.c $(HDEP) 1061 1062$(O)pline.o: $(NHS)pline.c $(HDEP) 1063 1064$(O)polyself.o: $(NHS)polyself.c $(HDEP) 1065 1066$(O)potion.o: $(NHS)potion.c $(HDEP) 1067 1068$(O)pray.o: $(NHS)pray.c $(HDEP) 1069 1070$(O)priest.o: $(NHS)priest.c $(HDEP) $(I)mfndpos.h 1071 1072$(O)quest.o: $(NHS)quest.c $(HDEP) $(I)quest.h 1073 1074$(O)questpgr.o: $(NHS)questpgr.c $(HDEP) $(I)dlb.h 1075 1076$(O)read.o: $(NHS)read.c $(HDEP) 1077 1078$(O)rect.o: $(NHS)rect.c $(HDEP) 1079 1080$(O)region.o: $(NHS)region.c $(HDEP) 1081 1082$(O)restore.o: $(NHS)restore.c $(HDEP) $(I)tcap.h $(I)quest.h 1083 1084$(O)rnd.o: $(NHS)rnd.c $(HDEP) 1085 1086$(O)role.o: $(NHS)role.c $(HDEP) 1087 1088$(O)rumors.o: $(NHS)rumors.c $(HDEP) $(I)dlb.h 1089 1090$(O)save.o: $(NHS)save.c $(HDEP) $(I)quest.h 1091 1092$(O)shk.o: $(NHS)shk.c $(HDEP) 1093 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)shk.c 1094 1095$(O)shknam.o: $(NHS)shknam.c $(HDEP) 1096 1097$(O)sit.o: $(NHS)sit.c $(HDEP) $(I)artifact.h 1098 1099$(O)sounds.o: $(NHS)sounds.c $(HDEP) 1100 1101$(O)sp_lev.o: $(NHS)sp_lev.c $(HDEP) $(I)sp_lev.h $(I)rect.h $(I)dlb.h 1102 1103$(O)spell.o: $(NHS)spell.c $(HDEP) 1104 1105$(O)steal.o: $(NHS)steal.c $(HDEP) 1106 1107$(O)steed.o: $(NHS)steed.c $(HDEP) 1108 1109$(O)sys.o: $(NHS)sys.c $(HDEP) 1110 1111$(O)teleport.o: $(NHS)teleport.c $(HDEP) 1112 1113$(O)timeout.o: $(NHS)timeout.c $(HDEP) 1114 1115$(O)topten.o: $(NHS)topten.c $(HDEP) $(I)dlb.h 1116 1117$(O)track.o: $(NHS)track.c $(HDEP) 1118 1119$(O)trap.o: $(NHS)trap.c $(HDEP) 1120 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)trap.c 1121 1122$(O)u_init.o: $(NHS)u_init.c $(HDEP) 1123 1124$(O)uhitm.o: $(NHS)uhitm.c $(HDEP) 1125 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)uhitm.c 1126 1127$(O)vault.o: $(NHS)vault.c $(HDEP) 1128 1129$(O)version.o: $(NHS)version.c $(HDEP) $(I)date.h $(I)patchlevel.h 1130 1131$(O)vision.o: $(NHS)vision.c $(HDEP) #$(I)vis_tab.h 1132 1133$(O)weapon.o: $(NHS)weapon.c $(HDEP) 1134 1135$(O)were.o: $(NHS)were.c $(HDEP) 1136 1137$(O)wield.o: $(NHS)wield.c $(HDEP) 1138 1139$(O)windows.o: $(NHS)windows.c $(HDEP) $(I)wintty.h 1140 1141$(O)wizard.o: $(NHS)wizard.c $(HDEP) 1142 1143$(O)worm.o: $(NHS)worm.c $(HDEP) 1144 1145$(O)worn.o: $(NHS)worn.c $(HDEP) 1146 1147$(O)write.o: $(NHS)write.c $(HDEP) 1148 1149$(O)zap.o: $(NHS)zap.c $(HDEP) 1150 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)zap.c 1151 1152$(O)getline.o: $(TTY)getline.c $(HDEP) $(I)wintty.h 1153 1154$(O)termcap.o: $(TTY)termcap.c $(HDEP) $(I)wintty.h $(I)tcap.h 1155 1156$(O)topl.o: $(TTY)topl.c $(HDEP) $(I)wintty.h $(I)tcap.h 1157 1158$(O)wintty.o: $(TTY)wintty.c $(HDEP) $(I)wintty.h $(I)tcap.h \ 1159 $(I)date.h $(I)patchlevel.h 1160 1161$(O)amitty.o: $(AMI)amitty.c $(HDEP) 1162 1163$(O)amistack.o: $(AMI)amistack.c 1164 $(CC) $(CFLAGS3) $(CSYM) $(OBJSPEC)$@ $(AMI)amistack.c 1165 1166$(O)rip.o: $(NHS)rip.c $(HDEP) 1167 1168 1169$(I)config.h: $(I)config1.h $(I)tradstdc.h $(I)global.h 1170 -setdate $(I)config.h 1171 -c:wait 2 1172 1173# onames.h handled at onames.h target, pm.h 1174 1175$(I)decl.h: $(I)quest.h $(I)spell.h $(I)color.h $(I)obj.h $(I)you.h 1176 -setdate $(I)decl.h 1177 -c:wait 2 1178 1179$(I)global.h: $(I)coord.h $(I)pcconf.h $(I)amiconf.h 1180 -setdate $(I)global.h 1181 -c:wait 2 1182 1183$(I)hack.h: $(I)config.h $(I)context.h $(I)trap.h $(I)decl.h $(I)dungeon.h 1184 $(I)monsym.h $(I)mkroom.h $(I)objclass.h $(I)flag.h $(I)rm.h 1185 $(I)vision.h $(I)display.h $(I)wintype.h $(I)engrave.h 1186 $(I)rect.h $(I)region.h $(I)sys.h 1187 -setdate $(I)hack.h 1188 -c:wait 2 1189 1190$(I)permonst.h: $(I)monattk.h $(I)monflag.h $(I)align.h 1191 -setdate $(I)permonst.h 1192 -c:wait 2 1193 1194$(I)you.h: $(I)align.h $(I)attrib.h $(I)monst.h $(I)mextra.h $(I)youprop.h $(I)skills.h 1195 -setdate $(I)you.h 1196 -c:wait 2 1197 1198# pm.h handled at target 1199 1200$(I)youprop.h: $(I)prop.h $(I)permonst.h $(I)mondata.h 1201 -setdate $(I)youprop.h 1202 -c:wait 2 1203 1204$(I)display.h: $(I)vision.h $(I)mondata.h 1205 -setdate $(I)display.h 1206 -c:wait 2 1207 1208$(I)dungeon.h: $(I)align.h 1209 -setdate $(I)dungeon.h 1210 -c:wait 2 1211 1212$(I)engrave.h: $(I)rect.h 1213 -setdate $(I)engrave.h 1214 -c:wait 2 1215 1216$(I)mextra.h: $(I)align.h 1217 -setdate $(I)mextra.h 1218 -c:wait 2 1219 1220$(I)mondata.h: $(I)align.h 1221 -setdate $(I)mondata.h 1222 -c:wait 2 1223 1224$(I)monst.h: $(I)align.h $(I)mextra.h 1225 -setdate $(I)monst.h 1226 -c:wait 2 1227 1228$(I)pcconf.h: $(I)micro.h $(I)system.h 1229 -setdate $(I)pcconf.h 1230 -c:wait 2 1231 1232$(I)rm.h: $(I)align.h 1233 -setdate $(I)rm.h 1234 -c:wait 2 1235 1236 1237#notes 1238# install keeps doing re-install because it keeps rebuilding lev_comp??? 1239# fixed(?) - deleted setdate 1240