1 # SCCS Id: @(#)Makefile.os2 3.4.3 1996/10/29
2 # OS/2 NetHack 3.4.3 Makefile for OS/2 versions 2.x
3 # Copyright (C) 1990, 1991, 1992, 1993, 1996 Timo Hakulinen
5 # Several compilers exist for OS/2 but, currently only GCC emx is tested
6 # and used for releases. make programs other than dmake are not tested.
8 # Supported compilers: GCC emx 0.9g
10 # DMAKE is required. Credit for the makefile improvements goes to
13 # Copy this file into $(SRC) directory, rename it to "makefile"
14 # (important, many targets rely on it), compile and link inside
15 # $(SRC). If required, termcap library can be built from termcap
16 # sources using makefile.lib in "sys\share" directory.
18 # "GCC" refers to GCC emx only. No other ports of GCC are supported.
19 # Additional credits for honing GCC support for 3.2 go to Ronald
20 # Van Iwaarden (ron@vaniwaarden.org) and Stefan Neis (neis@cs.uni-sb.de).
22 # "OMF" is short for "Object Module Format" and refers to the
23 # standard OS/2 object format, which e.g. link386 uses. MSC and
24 # CSet/2 always produce OMF object files, and GCC can be instructed
25 # to produce them with proper switches (see below).
27 # "a.out" refers to Unix object file format, which is used by GCC
28 # in its default compilation mode. These object files must be
29 # linked using GCC's own linker to produce a proper OS/2 executable.
30 # GDB debugger shipped with GCC can only be used with a.out object
33 # Note that the default setup in this makefile is my personal setup,
34 # which you will have to adapt to your configuration.
38 # Compiler and linker selection.
44 .IF $(format) == a.out
52 .IF $(format) == a.out
54 #LINK = link386 # GCC OMF, CSet/2
56 LINK = link386 # GCC OMF, CSet/2
57 LFLAGS = /noig /stack:40000
60 .IF $(with_x11) == yes
61 WINX11OBJ01 = $(OBJ)/Window.o
62 WINX11OBJ02 = $(OBJ)/dialogs.o
63 WINX11OBJ03 = $(OBJ)/winX.o
64 WINX11OBJ04 = $(OBJ)/winmap.o
65 WINX11OBJ05 = $(OBJ)/winmenu.o
66 WINX11OBJ06 = $(OBJ)/winmesg.o
67 WINX11OBJ07 = $(OBJ)/winmisc.o
68 WINX11OBJ08 = $(OBJ)/winstat.o
69 WINX11OBJ09 = $(OBJ)/wintext.o
70 WINX11OBJ10 = $(OBJ)/winval.o
71 WINX11OBJ11 = $(OBJ)/tile.o
73 WINX11CFLAGS = -DUSE_XPM -DX11_GRAPHICS \
74 -I$(X11ROOT)/include -Zmtd
75 WINX11LIB = -lXaw -lXmu -lXext -lXt -lX11 -lXpm -L$(X11ROOT)/lib -lc_app
76 WINX11SRC = ../win/X11/Window.c ../win/X11/dialogs.c ../win/X11/winX.c \
77 ../win/X11/winmap.c ../win/X11/winmenu.c ../win/X11/winmesg.c \
78 ../win/X11/winmisc.c ../win/X11/winstat.c ../win/X11/wintext.c \
79 ../win/X11/winval.c tile.c
80 WINX11OBJ = $(WINX11OBJ01) $(WINX11OBJ02) $(WINX11OBJ03) $(WINX11OBJ04) \
81 $(WINX11OBJ05) $(WINX11OBJ06) $(WINX11OBJ07) $(WINX11OBJ08) \
82 $(WINX11OBJ09) $(WINX11OBJ10) $(WINX11OBJ11)
83 WINX11VARDAT=x11tiles pet_mark.xbm rip.xpm
84 X11ECHO = $(CMD) @echo
100 # Most makes execute actions automatically inside a subshell,
101 # which makes even the shell internals work ok.
110 # For those of us who have these on PC.
119 # For extracting NetHack icon.
125 # For people with TeX and LaTeX.
131 # If you have TOUCH, some things become slightly easier.
137 # Standard file naming for LEX and YACC output may vary in PC
138 # installations. These three are probably the most generally used
147 # Source tree base directory.
153 # Source directories. Makedefs hardcodes these, don't change them.
156 INCL = $(NHSRC)\include # NetHack include files
157 DAT = $(NHSRC)\dat # NetHack data files
158 DOC = $(NHSRC)\doc # NetHack documentation files
159 UTIL = $(NHSRC)\util # Utility source
160 SRC = $(NHSRC)\src # Main source
161 WIN = $(NHSRC)\win\tty # Window system specific source
162 WINX11 = $(NHSRC)\win\x11 # Window system specific source
163 SYS = $(NHSRC)\sys\os2 # System specific source
164 SSYS = $(NHSRC)\sys\share # Shared system files
165 WINSHARE= $(NHSRC)\win\share # Shared system files
168 # Modifiable directories. Set these according to your setup and
169 # preferences. They must all be present prior to compilation.
170 # OBJ, TEMP and GAMEDIR should all preferably be separate and,
171 # in particular, not the same as any of the source directories.
172 # Note that DMAKE may dislike drive designators in paths because
173 # it misinterprets the colon as being part of a make rule. In that
174 # case, all directories have to reside on the same drive.
177 OBJ = \tmp\obj # Object files
178 TEMP = \tmp\bin # Temporary files during make process
179 GAMEDIR = \games\nh343x11 # Game directory
180 PLIBP = c:\emx\lib # Protected mode C libraries
181 RLIBP = c:\emx\lib # Possible real mode C libraries
184 # The game name and description.
188 GAMEDES = "NetHack 3.4.3"
191 # The uppermost two lines for MSC, the middle two for GCC, and
192 # the lowermost two for CSet/2.
194 # GCC: compile only, compiler id, object format selection, warnings,
195 # include file path, debug flags, ANSI conformance.
198 CFLAGS = -c $(GCCO) $(WARN) -I$(INCL) $(CDFLAGS) $(STDC) $(WINX11CFLAGS)
203 # Compiler warning levels. These are really for development, so
204 # they are commented out in general distribution to save the user
205 # from masses of benign warnings. If any problems arise, however,
206 # they may help in finding the trouble.
208 # GCC: max. reasonable GCC warning levels. Can't use -Wall, because then
209 # it would whine about all the zillions of unused declarations etc.
210 # Even with these switches you'll get a lot of warnings, but they should
214 WARN = #-W -Wimplicit -Wreturn-type -Wunused -Wformat -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -DGCC_WARN # GCC
217 # GCC object format selection. The upper line for standard OS/2 OMF
218 # object format, the lower for Unix style a.out format.
228 # MSC 5.1 needs the large model first pass of the compiler.
229 # Not needed for later versions.
235 # Unset CL to avoid troubles with conflicting switches in MSC 6.0.
241 # Prepare for a debugger.
253 # How to produce the most ANSI-like environment.
259 # Possible system object files required during linking.
263 SYSOBJ = $(PLIBP)\crt0.obj $(PLIBP)\end.lib# GCC OMF
265 SYSOBJ = # MSC, GCC a.out, CSet/2
269 # Compiler library selection. Change if necessary.
271 # GCC emx 0.9 OMF: C single-threaded libs, Unix system call alias lib,
272 # extra GCC lib, single threaded system lib, OS/2 API entry points.
273 # Note that emx changed library naming convention between 0.8 and 0.9.
275 # GCC a.out: extra GCC lib, C standard lib, extra GCC lib (again),
276 # OS/2 API entry points.
280 PLIBS = $(PLIBP)\st\c $(PLIBP)\st\c_app $(PLIBP)\c_alias $(PLIBP)\gcc $(PLIBP)\st\sys $(PLIBP)\os2 # GCC emx 0.9 OMF
282 PLIBS = -lgcc -lc -lgcc -los2 $(X11LIBS) # GCC a.out
286 # C libraries used by makedefs, lev_comp and dgn_comp (change if
287 # necessary). If compilation is done in DOS, enable the upper line
288 # possibly setting the library name to something else, if in OS/2,
289 # enable the lower line (protected mode libraries).
292 #RLIBS = $(RLIBP)\llibcer
295 SRCCC = $(CC) $(CFLAGS) $(OPT) $@ $(AB)
296 UTILCC = $(BEG) cd $(UTIL) $(SEP) $(CC) $(CFLAGS) $(OPT) $@ $(AB) $(END)
297 SYSCC = $(BEG) cd $(SYS) $(SEP) $(CC) $(CFLAGS) $(OPT) $@ $(AB) $(END)
298 SSYSCC = $(BEG) cd $(SSYS) $(SEP) $(CC) $(CFLAGS) $(OPT) $@ $(AB) $(END)
299 PSYSCC = $(BEG) cd $(SSYS) $(SEP) $(CC) $(CFLAGS) $(OPT) $@ pc$(AB) $(END)
300 WINCC = $(BEG) cd $(WIN) $(SEP) $(CC) $(CFLAGS) $(OPT) $@ $(AB) $(END)
303 # Default linker skeletons. The upper six lines for everything
304 # that uses standard OS/2 object format (GCC OMF), The lower six
305 # for GCC a.out format.
309 GAMELN = $(LINK) @$(TEMP)\$(GAME).rsp
310 MKDFLN = $(LINK) @$(TEMP)\makedefs.rsp
311 LEVCLN = $(LINK) @$(TEMP)\lev_comp.rsp
312 DGNCLN = $(LINK) @$(TEMP)\dgn_comp.rsp
313 RCVRLN = $(LINK) @$(TEMP)\recover.rsp
314 DLBRLN = $(LINK) @$(TEMP)\dlb.rsp
316 GAMELN = $(CC) $(LDFLAGS) -o $(GAMEDIR)\$(GAME).exe @$(TEMP)\$(GAME).r $(PLIBS) $(WINX11CFLAGS) $(WINX11LIB)
317 MKDFLN = $(CC) $(LDFLAGS) -o $(TEMP)\makedefs.exe $(TEMP)\$(MKDFDEF) $(SYSOBJ) $(MAKEOBJS) $(PLIBS)
318 LEVCLN = $(CC) $(LDFLAGS) -o $(TEMP)\lev_comp.exe $(TEMP)\$(LEVCDEF) $(SYSOBJ) $(SPLEVOBJS) $(PLIBS)
319 DGNCLN = $(CC) $(LDFLAGS) -o $(TEMP)\dgn_comp.exe $(TEMP)\$(DGNCDEF) $(SYSOBJ) $(DGNCOMPOBJS) $(PLIBS)
320 RCVRLN = $(CC) $(LDFLAGS) -o $(GAMEDIR)\recover.exe $(TEMP)\$(RCVRDEF) $(SYSOBJ) $(RECOVOBJS) $(PLIBS)
321 DLBRLN = $(CC) $(LDFLAGS) -o $(TEMP)\dlb.exe $(TEMP)\$(DLBDEF) $(SYSOBJ) $(DLBOBJS) $(PLIBS)
325 # OS/2 module definition files for NetHack,
326 # makedefs, dgn_comp, lev_comp, recover, dlb.
329 GAMEDEF = $(GAME).def
330 MKDFDEF = makedefs.def
331 LEVCDEF = lev_comp.def
332 DGNCDEF = dgn_comp.def
333 RCVRDEF = recover.def
337 # For compilation in DOS, enable the lower three lines and
338 # disable the upper three.
341 MKDFMD = $(TEMP)\$(MKDFDEF)
342 LEVCMD = $(TEMP)\$(LEVCDEF)
343 DGNCMD = $(TEMP)\$(DGNCDEF)
349 # Optional high-quality BSD random number generation routines
350 # (see os2conf.h). Set to nothing if not used.
353 RANDOM = $(OBJ)\random.o
357 # If TERMLIB is defined in os2conf.h, comment out the upper line and
358 # uncomment the lower. If the termcap-library doesn't exist, use
359 # sys\share\makefile.lib to build it.
363 #TERMLIB = termlib.lib
366 # Short / long file name selection for FAT and HPFS.
367 # Only three files need consideration.
370 #GUIDEBOO = Guideboo # FAT
371 #PATCHLEV = patchlev # - " -
372 #DATABASE = data.bas # - " -
373 GUIDEBOO = Guidebook # HPFS
374 PATCHLEV = patchlevel # - " -
375 DATABASE = data.base # - " -
379 # If you have LaTeX and want to create the NetHack Guidebook in TeX
380 # device-independent file format, comment out the upper line and
381 # uncomment the lower.
385 #GUIDE = $(TEMP)\$(GUIDEBOO).dvi
388 # Set WINOBJ lines corresponding to your desired combination
389 # of windowing systems. Also set windowing systems in config.h.
391 # A straight tty port using no native windowing system is the
392 # only choice for now.
395 WINOBJ1 = $(OBJ)\getline.o
396 WINOBJ2 = $(OBJ)\termcap.o
397 WINOBJ3 = $(OBJ)\topl.o
398 WINOBJ4 = $(OBJ)\wintty.o
399 WINOBJ = $(WINOBJ1) $(WINOBJ2) $(WINOBJ3) $(WINOBJ4) $(WINX11OBJ)
402 # The default make target, so just typing 'make' is useful.
403 # Has to be the first target in the makefile.
409 # If you have yacc and lex programs and make any changes, uncomment
410 # the lowermost two lines and comment out the others. If you make
411 # changes to the .y and .l files but prefer processing the files
412 # separately elsewhere, activate the middle two lines, so your changes
413 # don't get overwritten.
416 do_yacc : yacc_cpy # use pre-generated files
417 do_lex : lex_cpy # - " -
418 #do_yacc : yacc_msg # show message if changed
419 #do_lex : lex_msg # - " -
420 #do_yacc : yacc_act # re-process files
421 #do_lex : lex_act # - " -
424 # If you have the TOUCH utility the upper line is ok. Otherwise
425 # the lower one does the same albeit in an ugly manner. Besides,
426 # the latter method only works for text files.
429 #do_touch : realtouch
433 # If you don't have uudecode program, use the upper line.
434 # If you still want the icon, you'll have to extract the
435 # file manually somewhere else.
438 do_icon : icon_msg # show message if changed
439 #do_icon : icon_act # extract icon file
442 # If you don't want to generate nethack.cmd, use the upper line.
443 # This could be the case, e.g., if you use a different shell than
444 # the standard cmd.exe.
447 #do_cmd : cmd_msg # show message
448 do_cmd : cmd_act # generate nethack.cmd
451 # If you want to try the data librarian scheme to reduce
452 # the amount of data files in the NetHack home directory, comment
453 # out the lower line and uncomment the upper. Also, make sure
454 # that DLB is defined in config.h.
460 ######################################################################
462 # Nothing below this line should have to be changed.
464 # Other things that have to be reconfigured are in
465 # config.h, os2conf.h and possibly system.h.
472 GAMEFILE = $(GAMEDIR)\$(GAME).exe
475 # Object files for makedefs.
478 MAKEOBJS = $(OBJ)\makedefs.o $(OBJ)\monst.o $(OBJ)\objects.o
481 # Object files for special levels compiler.
484 SOBJ01 = $(OBJ)\lev_yacc.o $(OBJ)\lev_lex.o $(OBJ)\lev_main.o $(OBJ)\alloc.o
485 SOBJ02 = $(OBJ)\monst.o $(OBJ)\objects.o $(OBJ)\panic.o $(OBJ)\decl.o
486 SOBJ03 = $(OBJ)\drawing.o
488 SPLEVOBJS = $(SOBJ01) $(SOBJ02) $(SOBJ03)
491 # Object files for dungeon compiler.
494 DOBJ01 = $(OBJ)\dgn_yacc.o $(OBJ)\dgn_lex.o $(OBJ)\dgn_main.o
495 DOBJ02 = $(OBJ)\panic.o $(OBJ)\alloc.o
497 DGNCOMPOBJS = $(DOBJ01) $(DOBJ02)
500 # Object files for recovery utility.
503 RECOVOBJS = $(OBJ)\recover.o
506 # Object files for dlb.
509 DLBOBJS = $(OBJ)\dlb_main.o $(OBJ)\dlb.o $(OBJ)\alloc.o $(OBJ)\panic.o
512 # Data files for dlb.
516 help hh cmdhelp history opthelp wizhelp
519 asmodeus.lev baalz.lev bigrm-1.lev \
520 bigrm-2.lev bigrm-3.lev bigrm-4.lev castle.lev fakewiz1.lev fakewiz2.lev \
521 juiblex.lev knox.lev medusa-1.lev medusa-2.lev minend-1.lev minend-2.lev \
522 minend-3.lev minefill.lev minetn-1.lev minetn-2.lev minetn-3.lev minetn-4.lev \
523 minetn-5.lev minetn-6.lev minetn-7.lev oracle.lev orcus.lev sanctum.lev \
524 tower1.lev tower2.lev tower3.lev valley.lev wizard1.lev wizard2.lev \
525 wizard3.lev astral.lev air.lev earth.lev fire.lev water.lev \
526 soko1-1.lev soko1-2.lev soko2-1.lev soko2-2.lev \
527 soko3-1.lev soko3-2.lev soko4-1.lev soko4-2.lev
530 Arc-goal.lev Arc-fila.lev Arc-filb.lev Arc-loca.lev Arc-strt.lev \
531 Bar-goal.lev Bar-fila.lev Bar-filb.lev Bar-loca.lev Bar-strt.lev \
532 Cav-goal.lev Cav-fila.lev Cav-filb.lev Cav-loca.lev Cav-strt.lev \
533 Hea-goal.lev Hea-fila.lev Hea-filb.lev Hea-loca.lev Hea-strt.lev \
534 Kni-goal.lev Kni-fila.lev Kni-filb.lev Kni-loca.lev Kni-strt.lev \
535 Mon-goal.lev Mon-fila.lev Mon-filb.lev Mon-loca.lev Mon-strt.lev \
536 Pri-goal.lev Pri-fila.lev Pri-filb.lev Pri-loca.lev Pri-strt.lev \
537 Ran-goal.lev Ran-fila.lev Ran-filb.lev Ran-loca.lev Ran-strt.lev \
538 Rog-goal.lev Rog-fila.lev Rog-filb.lev Rog-loca.lev Rog-strt.lev \
539 Sam-goal.lev Sam-fila.lev Sam-filb.lev Sam-loca.lev Sam-strt.lev \
540 Tou-goal.lev Tou-fila.lev Tou-filb.lev Tou-loca.lev Tou-strt.lev \
541 Val-goal.lev Val-fila.lev Val-filb.lev Val-loca.lev Val-strt.lev \
542 Wiz-goal.lev Wiz-fila.lev Wiz-filb.lev Wiz-loca.lev Wiz-strt.lev
544 data oracles options quest.dat rumors $(WINX11VARDAT)
546 DATDLB = $(DATHELP) dungeon $(SPEC_LEVS) $(QUEST_LEVS) $(VARDATD) \
550 # Object files for the game itself.
553 VOBJ011 = $(OBJ)\allmain.o
554 VOBJ012 = $(OBJ)\alloc.o
555 VOBJ013 = $(OBJ)\apply.o
556 VOBJ014 = $(OBJ)\artifact.o
557 VOBJ021 = $(OBJ)\attrib.o
558 VOBJ022 = $(OBJ)\ball.o
559 VOBJ023 = $(OBJ)\bones.o
560 VOBJ024 = $(OBJ)\botl.o
561 VOBJ031 = $(OBJ)\cmd.o
562 VOBJ032 = $(OBJ)\dbridge.o
563 VOBJ033 = $(OBJ)\decl.o
564 VOBJ034 = $(OBJ)\detect.o
565 VOBJ041 = $(OBJ)\dig.o
566 VOBJ042 = $(OBJ)\display.o
567 VOBJ043 = $(OBJ)\dlb.o
568 VOBJ044 = $(OBJ)\do.o
569 VOBJ051 = $(OBJ)\do_name.o
570 VOBJ052 = $(OBJ)\do_wear.o
571 VOBJ053 = $(OBJ)\dog.o
572 VOBJ054 = $(OBJ)\dogmove.o
573 VOBJ061 = $(OBJ)\dokick.o
574 VOBJ062 = $(OBJ)\dothrow.o
575 VOBJ063 = $(OBJ)\drawing.o
576 VOBJ064 = $(OBJ)\dungeon.o
577 VOBJ071 = $(OBJ)\eat.o
578 VOBJ072 = $(OBJ)\end.o
579 VOBJ073 = $(OBJ)\engrave.o
580 VOBJ074 = $(OBJ)\exper.o
581 VOBJ071 = $(OBJ)\eat.o
582 VOBJ072 = $(OBJ)\end.o
583 VOBJ073 = $(OBJ)\engrave.o
584 VOBJ074 = $(OBJ)\exper.o
585 VOBJ081 = $(OBJ)\explode.o
586 VOBJ082 = $(OBJ)\extralev.o
587 VOBJ083 = $(OBJ)\files.o
588 VOBJ084 = $(OBJ)\fountain.o
589 VOBJ091 = $(OBJ)\hack.o
590 VOBJ092 = $(OBJ)\hacklib.o
591 VOBJ093 = $(OBJ)\invent.o
592 VOBJ094 = $(OBJ)\light.o
593 VOBJ101 = $(OBJ)\lock.o
594 VOBJ102 = $(OBJ)\mail.o
595 VOBJ103 = $(OBJ)\main.o
596 VOBJ104 = $(OBJ)\makemon.o
597 VOBJ111 = $(OBJ)\mapglyph.o
598 VOBJ112 = $(OBJ)\mcastu.o
599 VOBJ113 = $(OBJ)\mhitm.o
600 VOBJ114 = $(OBJ)\mhitu.o
601 VOBJ115 = $(OBJ)\minion.o
602 VOBJ121 = $(OBJ)\mklev.o
603 VOBJ122 = $(OBJ)\mkmap.o
604 VOBJ123 = $(OBJ)\mkmaze.o
605 VOBJ124 = $(OBJ)\mkobj.o
606 VOBJ131 = $(OBJ)\mkroom.o
607 VOBJ132 = $(OBJ)\mon.o
608 VOBJ133 = $(OBJ)\mondata.o
609 VOBJ134 = $(OBJ)\monmove.o
610 VOBJ141 = $(OBJ)\monst.o
611 VOBJ142 = $(OBJ)\monstr.o
612 VOBJ143 = $(OBJ)\mplayer.o
613 VOBJ144 = $(OBJ)\mthrowu.o
614 VOBJ151 = $(OBJ)\muse.o
615 VOBJ152 = $(OBJ)\music.o
616 VOBJ153 = $(OBJ)\o_init.o
617 VOBJ154 = $(OBJ)\objects.o
618 VOBJ161 = $(OBJ)\objnam.o
619 VOBJ162 = $(OBJ)\options.o
620 VOBJ163 = $(OBJ)\os2.o
621 VOBJ164 = $(OBJ)\pager.o
622 VOBJ171 = $(OBJ)\pcsys.o
623 VOBJ172 = $(OBJ)\pickup.o
624 VOBJ173 = $(OBJ)\pline.o
625 VOBJ174 = $(OBJ)\polyself.o
626 VOBJ181 = $(OBJ)\potion.o
627 VOBJ182 = $(OBJ)\pray.o
628 VOBJ183 = $(OBJ)\priest.o
629 VOBJ184 = $(OBJ)\quest.o
630 VOBJ191 = $(OBJ)\questpgr.o
631 VOBJ192 = $(OBJ)\read.o
632 VOBJ193 = $(OBJ)\rect.o
633 VOBJ194 = $(OBJ)\region.o
634 VOBJ195 = $(OBJ)\restore.o
635 VOBJ201 = $(OBJ)\rip.o
636 VOBJ202 = $(OBJ)\rnd.o
637 VOBJ203 = $(OBJ)\rumors.o
638 VOBJ204 = $(OBJ)\save.o
639 VOBJ211 = $(OBJ)\shk.o
640 VOBJ212 = $(OBJ)\shknam.o
641 VOBJ213 = $(OBJ)\sit.o
642 VOBJ214 = $(OBJ)\sounds.o
643 VOBJ221 = $(OBJ)\sp_lev.o
644 VOBJ222 = $(OBJ)\spell.o
645 VOBJ223 = $(OBJ)\steal.o
646 VOBJ224 = $(OBJ)\teleport.o
647 VOBJ231 = $(OBJ)\timeout.o
648 VOBJ232 = $(OBJ)\topten.o
649 VOBJ233 = $(OBJ)\track.o
650 VOBJ234 = $(OBJ)\trap.o
651 VOBJ241 = $(OBJ)\tty.o
652 VOBJ242 = $(OBJ)\u_init.o
653 VOBJ243 = $(OBJ)\uhitm.o
654 VOBJ244 = $(OBJ)\unix.o
655 VOBJ251 = $(OBJ)\vault.o
656 VOBJ252 = $(OBJ)\vision.o
657 VOBJ253 = $(OBJ)\vis_tab.o
658 VOBJ254 = $(OBJ)\weapon.o
659 VOBJ261 = $(OBJ)\were.o
660 VOBJ262 = $(OBJ)\wield.o
661 VOBJ263 = $(OBJ)\windows.o
662 VOBJ264 = $(OBJ)\wizard.o
663 VOBJ271 = $(OBJ)\worm.o
664 VOBJ272 = $(OBJ)\worn.o
665 VOBJ273 = $(OBJ)\write.o
666 VOBJ274 = $(OBJ)\zap.o
667 VOBJ281 = $(OBJ)\role.o
668 VOBJ282 = $(OBJ)\steed.o
670 VOBJ01 = $(VOBJ011) $(VOBJ012) $(VOBJ013) $(VOBJ014)
671 VOBJ02 = $(VOBJ021) $(VOBJ022) $(VOBJ023) $(VOBJ024)
672 VOBJ03 = $(VOBJ031) $(VOBJ032) $(VOBJ033) $(VOBJ034)
673 VOBJ04 = $(VOBJ041) $(VOBJ042) $(VOBJ043) $(VOBJ044)
674 VOBJ05 = $(VOBJ051) $(VOBJ052) $(VOBJ053) $(VOBJ054)
675 VOBJ06 = $(VOBJ061) $(VOBJ062) $(VOBJ063) $(VOBJ064)
676 VOBJ07 = $(VOBJ071) $(VOBJ072) $(VOBJ073) $(VOBJ074)
677 VOBJ08 = $(VOBJ081) $(VOBJ082) $(VOBJ083) $(VOBJ084)
678 VOBJ09 = $(VOBJ091) $(VOBJ092) $(VOBJ093) $(VOBJ094)
679 VOBJ10 = $(VOBJ101) $(VOBJ102) $(VOBJ103) $(VOBJ104)
680 VOBJ11 = $(VOBJ111) $(VOBJ112) $(VOBJ113) $(VOBJ114) $(VOBJ115)
681 VOBJ12 = $(VOBJ121) $(VOBJ122) $(VOBJ123) $(VOBJ124)
682 VOBJ13 = $(VOBJ131) $(VOBJ132) $(VOBJ133) $(VOBJ134)
683 VOBJ14 = $(VOBJ141) $(VOBJ142) $(VOBJ143) $(VOBJ144)
684 VOBJ15 = $(VOBJ151) $(VOBJ152) $(VOBJ153) $(VOBJ154)
685 VOBJ16 = $(VOBJ161) $(VOBJ162) $(VOBJ163) $(VOBJ164)
686 VOBJ17 = $(VOBJ171) $(VOBJ172) $(VOBJ173) $(VOBJ174)
687 VOBJ18 = $(VOBJ181) $(VOBJ182) $(VOBJ183) $(VOBJ184)
688 VOBJ19 = $(VOBJ191) $(VOBJ192) $(VOBJ193) $(VOBJ194) $(VOBJ195)
689 VOBJ20 = $(VOBJ201) $(VOBJ202) $(VOBJ203) $(VOBJ204)
690 VOBJ21 = $(VOBJ211) $(VOBJ212) $(VOBJ213) $(VOBJ214)
691 VOBJ22 = $(VOBJ221) $(VOBJ222) $(VOBJ223) $(VOBJ224)
692 VOBJ23 = $(VOBJ231) $(VOBJ232) $(VOBJ233) $(VOBJ234)
693 VOBJ24 = $(VOBJ241) $(VOBJ242) $(VOBJ243) $(VOBJ244)
694 VOBJ25 = $(VOBJ251) $(VOBJ252) $(VOBJ253) $(VOBJ254)
695 VOBJ26 = $(VOBJ261) $(VOBJ262) $(VOBJ263) $(VOBJ264)
696 VOBJ27 = $(VOBJ271) $(VOBJ272) $(VOBJ273) $(VOBJ274)
697 VOBJ28 = $(VOBJ281) $(VOBJ282)
698 VOBJ29 = $(WINOBJ) $(RANDOM)
699 HHOBJ = $(OBJ)\version.o
701 VOBJ = $(VOBJ01) $(VOBJ02) $(VOBJ03) $(VOBJ04) $(VOBJ05) $(VOBJ06) $(VOBJ07) \
702 $(VOBJ08) $(VOBJ09) $(VOBJ10) $(VOBJ11) $(VOBJ12) $(VOBJ13) $(VOBJ14) \
703 $(VOBJ15) $(VOBJ16) $(VOBJ17) $(VOBJ18) $(VOBJ19) $(VOBJ20) $(VOBJ21) \
704 $(VOBJ22) $(VOBJ23) $(VOBJ24) $(VOBJ25) $(VOBJ26) $(VOBJ27) $(VOBJ28) \
706 HOBJ = $(VOBJ) $(HHOBJ)
708 EXTERN_H = # $(INCL)\extern.h
709 OS2CONF_H = $(INCL)\os2conf.h $(INCL)\micro.h $(INCL)\system.h $(EXTERN_H)
710 GLOBAL_H = $(INCL)\global.h $(INCL)\coord.h $(OS2CONF_H)
711 CONFIG_H = $(INCL)\config.h $(INCL)\config1.h $(INCL)\tradstdc.h $(GLOBAL_H)
712 TRAP_H = $(INCL)\trap.h
713 PERMONST_H = $(INCL)\permonst.h $(INCL)\monattk.h $(INCL)\monflag.h
714 YOU_H = $(INCL)\you.h $(INCL)\attrib.h $(PERMONST_H) $(INCL)\mondata.h \
715 $(INCL)\monst.h $(INCL)\youprop.h $(INCL)\prop.h $(INCL)\pm.h
716 DECL_H = $(INCL)\decl.h $(INCL)\spell.h $(INCL)\obj.h $(YOU_H) \
717 $(INCL)\onames.h $(INCL)\color.h
718 HACK_H = $(CONFIG_H) $(DECL_H) $(INCL)\monsym.h $(INCL)\mkroom.h \
719 $(INCL)\objclass.h $(TRAP_H) $(INCL)\engrave.h $(INCL)\flag.h \
720 $(INCL)\rm.h $(INCL)\dungeon.h $(INCL)\hack.h $(INCL)\display.h \
721 $(INCL)\vision.h $(INCL)\wintty.h $(INCL)\wintype.h $(INCL)\align.h \
725 # The default target.
728 all : makedefs dgn_comp lev_comp recover $(GAME) dat $(GUIDE)
732 # Definition file creation.
736 $(MAKEB) DD_NAME=$(GAME) DD_DESC=$(GAMEDES) DD_TARG=$@ do_def
738 $(MAKEB) DD_NAME=makedefs DD_DESC="Definitions compiler" DD_TARG=$@ do_def
740 $(MAKEB) DD_NAME=dgn_comp DD_DESC="Dungeon compiler" DD_TARG=$@ do_def
742 $(MAKEB) DD_NAME=lev_comp DD_DESC="Level compiler" DD_TARG=$@ do_def
744 $(MAKEB) DD_NAME=recover DD_DESC="Recovery utility" DD_TARG=$@ do_def
746 $(MAKEB) DD_NAME=dlb DD_DESC="Archive utility" DD_TARG=$@ do_def
749 $(ECHO) NAME $(DD_NAME) WINDOWCOMPAT> $(DD_TARG)
750 $(ECHO) DESCRIPTION '$(DD_DESC)'>> $(DD_TARG)
751 $(ECHO) PROTMODE>> $(DD_TARG)
752 $(ECHO) EXETYPE OS2>> $(DD_TARG)
758 $(GAME) : $(GAMEDIR)\$(GAME).exe
759 $(GAME).exe : $(GAMEDIR)\$(GAME).exe
760 $(GAMEDIR)\$(GAME).exe : $(TEMP)\$(GAME).rsp $(TEMP)\$(GAME).r
763 $(TEMP)\$(GAME).r : $(HOBJ) $(TEMP)\$(GAMEDEF)
764 $(ECHO) $(VOBJ011) > $@
765 $(ECHO) $(VOBJ012) >> $@
766 $(ECHO) $(VOBJ013) >> $@
767 $(ECHO) $(VOBJ014) >> $@
768 $(ECHO) $(VOBJ021) >> $@
769 $(ECHO) $(VOBJ022) >> $@
770 $(ECHO) $(VOBJ023) >> $@
771 $(ECHO) $(VOBJ024) >> $@
772 $(ECHO) $(VOBJ031) >> $@
773 $(ECHO) $(VOBJ032) >> $@
774 $(ECHO) $(VOBJ033) >> $@
775 $(ECHO) $(VOBJ034) >> $@
776 $(ECHO) $(VOBJ041) >> $@
777 $(ECHO) $(VOBJ042) >> $@
778 $(ECHO) $(VOBJ043) >> $@
779 $(ECHO) $(VOBJ044) >> $@
780 $(ECHO) $(VOBJ051) >> $@
781 $(ECHO) $(VOBJ052) >> $@
782 $(ECHO) $(VOBJ053) >> $@
783 $(ECHO) $(VOBJ054) >> $@
784 $(ECHO) $(VOBJ061) >> $@
785 $(ECHO) $(VOBJ062) >> $@
786 $(ECHO) $(VOBJ063) >> $@
787 $(ECHO) $(VOBJ064) >> $@
788 $(ECHO) $(VOBJ071) >> $@
789 $(ECHO) $(VOBJ072) >> $@
790 $(ECHO) $(VOBJ073) >> $@
791 $(ECHO) $(VOBJ074) >> $@
792 $(ECHO) $(VOBJ081) >> $@
793 $(ECHO) $(VOBJ082) >> $@
794 $(ECHO) $(VOBJ083) >> $@
795 $(ECHO) $(VOBJ084) >> $@
796 $(ECHO) $(VOBJ091) >> $@
797 $(ECHO) $(VOBJ092) >> $@
798 $(ECHO) $(VOBJ093) >> $@
799 $(ECHO) $(VOBJ094) >> $@
800 $(ECHO) $(VOBJ101) >> $@
801 $(ECHO) $(VOBJ102) >> $@
802 $(ECHO) $(VOBJ103) >> $@
803 $(ECHO) $(VOBJ104) >> $@
804 $(ECHO) $(VOBJ111) >> $@
805 $(ECHO) $(VOBJ112) >> $@
806 $(ECHO) $(VOBJ113) >> $@
807 $(ECHO) $(VOBJ114) >> $@
808 $(ECHO) $(VOBJ115) >> $@
809 $(ECHO) $(VOBJ121) >> $@
810 $(ECHO) $(VOBJ122) >> $@
811 $(ECHO) $(VOBJ123) >> $@
812 $(ECHO) $(VOBJ124) >> $@
813 $(ECHO) $(VOBJ131) >> $@
814 $(ECHO) $(VOBJ132) >> $@
815 $(ECHO) $(VOBJ133) >> $@
816 $(ECHO) $(VOBJ134) >> $@
817 $(ECHO) $(VOBJ141) >> $@
818 $(ECHO) $(VOBJ142) >> $@
819 $(ECHO) $(VOBJ143) >> $@
820 $(ECHO) $(VOBJ144) >> $@
821 $(ECHO) $(VOBJ151) >> $@
822 $(ECHO) $(VOBJ152) >> $@
823 $(ECHO) $(VOBJ153) >> $@
824 $(ECHO) $(VOBJ154) >> $@
825 $(ECHO) $(VOBJ161) >> $@
826 $(ECHO) $(VOBJ162) >> $@
827 $(ECHO) $(VOBJ163) >> $@
828 $(ECHO) $(VOBJ164) >> $@
829 $(ECHO) $(VOBJ171) >> $@
830 $(ECHO) $(VOBJ172) >> $@
831 $(ECHO) $(VOBJ173) >> $@
832 $(ECHO) $(VOBJ174) >> $@
833 $(ECHO) $(VOBJ181) >> $@
834 $(ECHO) $(VOBJ182) >> $@
835 $(ECHO) $(VOBJ183) >> $@
836 $(ECHO) $(VOBJ184) >> $@
837 $(ECHO) $(VOBJ191) >> $@
838 $(ECHO) $(VOBJ192) >> $@
839 $(ECHO) $(VOBJ193) >> $@
840 $(ECHO) $(VOBJ194) >> $@
841 $(ECHO) $(VOBJ195) >> $@
842 $(ECHO) $(VOBJ201) >> $@
843 $(ECHO) $(VOBJ202) >> $@
844 $(ECHO) $(VOBJ203) >> $@
845 $(ECHO) $(VOBJ204) >> $@
846 $(ECHO) $(VOBJ211) >> $@
847 $(ECHO) $(VOBJ212) >> $@
848 $(ECHO) $(VOBJ213) >> $@
849 $(ECHO) $(VOBJ214) >> $@
850 $(ECHO) $(VOBJ221) >> $@
851 $(ECHO) $(VOBJ222) >> $@
852 $(ECHO) $(VOBJ223) >> $@
853 $(ECHO) $(VOBJ224) >> $@
854 $(ECHO) $(VOBJ231) >> $@
855 $(ECHO) $(VOBJ232) >> $@
856 $(ECHO) $(VOBJ233) >> $@
857 $(ECHO) $(VOBJ234) >> $@
858 $(ECHO) $(VOBJ241) >> $@
859 $(ECHO) $(VOBJ242) >> $@
860 $(ECHO) $(VOBJ243) >> $@
861 $(ECHO) $(VOBJ244) >> $@
862 $(ECHO) $(VOBJ251) >> $@
863 $(ECHO) $(VOBJ252) >> $@
864 $(ECHO) $(VOBJ253) >> $@
865 $(ECHO) $(VOBJ254) >> $@
866 $(ECHO) $(VOBJ261) >> $@
867 $(ECHO) $(VOBJ262) >> $@
868 $(ECHO) $(VOBJ263) >> $@
869 $(ECHO) $(VOBJ264) >> $@
870 $(ECHO) $(VOBJ271) >> $@
871 $(ECHO) $(VOBJ272) >> $@
872 $(ECHO) $(VOBJ273) >> $@
873 $(ECHO) $(VOBJ274) >> $@
874 $(ECHO) $(VOBJ281) >> $@
875 $(ECHO) $(VOBJ282) >> $@
876 $(ECHO) $(WINOBJ1) >> $@
877 $(ECHO) $(WINOBJ2) >> $@
878 $(ECHO) $(WINOBJ3) >> $@
879 $(ECHO) $(WINOBJ4) >> $@
880 $(ECHO) $(HHOBJ) >> $@
881 $(ECHO) $(RANDOM) >> $@
882 .IF $(with_x11) == yes
883 $(X11ECHO) $(WINX11OBJ01) >> $@
884 $(X11ECHO) $(WINX11OBJ02) >> $@
885 $(X11ECHO) $(WINX11OBJ03) >> $@
886 $(X11ECHO) $(WINX11OBJ04) >> $@
887 $(X11ECHO) $(WINX11OBJ05) >> $@
888 $(X11ECHO) $(WINX11OBJ06) >> $@
889 $(X11ECHO) $(WINX11OBJ07) >> $@
890 $(X11ECHO) $(WINX11OBJ08) >> $@
891 $(X11ECHO) $(WINX11OBJ09) >> $@
892 $(X11ECHO) $(WINX11OBJ10) >> $@
893 $(X11ECHO) $(WINX11OBJ11) >> $@
898 $(TEMP)\$(GAME).rsp : $(HOBJ) $(TEMP)\$(GAMEDEF)
899 $(ECHO) $(SYSOBJ) $(VOBJ01) +> $@
900 $(ECHO) $(VOBJ02) +>> $@
901 $(ECHO) $(VOBJ03) +>> $@
902 $(ECHO) $(VOBJ04) +>> $@
903 $(ECHO) $(VOBJ05) +>> $@
904 $(ECHO) $(VOBJ06) +>> $@
905 $(ECHO) $(VOBJ07) +>> $@
906 $(ECHO) $(VOBJ08) +>> $@
907 $(ECHO) $(VOBJ09) +>> $@
908 $(ECHO) $(VOBJ10) +>> $@
909 $(ECHO) $(VOBJ11) +>> $@
910 $(ECHO) $(VOBJ12) +>> $@
911 $(ECHO) $(VOBJ13) +>> $@
912 $(ECHO) $(VOBJ14) +>> $@
913 $(ECHO) $(VOBJ15) +>> $@
914 $(ECHO) $(VOBJ16) +>> $@
915 $(ECHO) $(VOBJ17) +>> $@
916 $(ECHO) $(VOBJ18) +>> $@
917 $(ECHO) $(VOBJ19) +>> $@
918 $(ECHO) $(VOBJ20) +>> $@
919 $(ECHO) $(VOBJ21) +>> $@
920 $(ECHO) $(VOBJ22) +>> $@
921 $(ECHO) $(VOBJ23) +>> $@
922 $(ECHO) $(VOBJ24) +>> $@
923 $(ECHO) $(VOBJ25) +>> $@
924 $(ECHO) $(VOBJ26) +>> $@
925 $(ECHO) $(VOBJ27) +>> $@
926 $(ECHO) $(VOBJ28) +>> $@
927 $(ECHO) $(VOBJ29) +>> $@
928 $(ECHO) $(VOBJ30) +>> $@
929 $(ECHO) $(HHOBJ)>> $@
930 $(ECHO) $(GAMEDIR)\$(GAME).exe>> $@
931 $(ECHO) $(TEMP)\$(GAME)>> $@
932 $(ECHO) $(PLIBS) $(TERMLIB)>> $@
933 $(ECHO) $(TEMP)\$(GAMEDEF) $(LFLAGS);>> $@
936 # Targets for makedefs.
939 makedefs : $(TEMP)\makedefs.exe
940 $(TEMP)\makedefs.exe : $(TEMP)\makedefs.rsp
943 $(TEMP)\makedefs.rsp : $(MAKEOBJS) $(TEMP)\$(MKDFDEF)
944 $(ECHO) $(SYSOBJ) $(MAKEOBJS)> $@
945 $(ECHO) $(TEMP)\makedefs.exe>> $@
947 $(ECHO) $(RLIBS)>> $@
948 $(ECHO) $(MKDFMD) $(LFLAGS);>> $@
950 $(OBJ)\makedefs.o : $(UTIL)\$(CB) $(CONFIG_H) $(INCL)\permonst.h $(INCL)\objclass.h \
951 $(INCL)\monsym.h $(INCL)\artilist.h $(INCL)\qtext.h
955 # Targets for the special levels compiler.
958 lev_comp : $(TEMP)\lev_comp.exe
959 $(TEMP)\lev_comp.exe : $(TEMP)\lev_comp.rsp
962 $(TEMP)\lev_comp.rsp : $(SPLEVOBJS) $(TEMP)\$(LEVCDEF)
963 $(ECHO) $(SYSOBJ) $(SOBJ01) +> $@
964 $(ECHO) $(SOBJ02) +>> $@
965 $(ECHO) $(SOBJ03)>> $@
966 $(ECHO) $(TEMP)\lev_comp.exe>> $@
968 $(ECHO) $(RLIBS)>> $@
969 $(ECHO) $(LEVCMD) $(LFLAGS);>> $@
971 $(OBJ)\lev_yacc.o : $(UTIL)\$(CB) $(HACK_H) $(INCL)\sp_lev.h
973 $(OBJ)\lev_lex.o : $(UTIL)\$(CB) $(HACK_H) $(INCL)\sp_lev.h $(INCL)\lev_comp.h
975 $(OBJ)\lev_main.o : $(UTIL)\$(CB) $(HACK_H) $(INCL)\sp_lev.h $(INCL)\tcap.h
978 $(UTIL)\lev_yacc.c : $(UTIL)\lev_comp.y
979 $(MAKEB) YY=lev do_yacc
981 $(UTIL)\lev_lex.c : $(UTIL)\lev_comp.l
982 $(MAKEB) YY=lev do_lex
985 # Targets for the dungeon compiler.
988 dgn_comp : $(TEMP)\dgn_comp.exe
989 $(TEMP)\dgn_comp.exe : $(TEMP)\dgn_comp.rsp
992 $(TEMP)\dgn_comp.rsp : $(DGNCOMPOBJS) $(TEMP)\$(DGNCDEF)
993 $(ECHO) $(SYSOBJ) $(DOBJ01) +> $@
994 $(ECHO) $(DOBJ02)>> $@
995 $(ECHO) $(TEMP)\dgn_comp.exe>> $@
997 $(ECHO) $(RLIBS)>> $@
998 $(ECHO) $(DGNCMD) $(LFLAGS);>> $@
1000 $(OBJ)\dgn_yacc.o : $(UTIL)\$(CB) $(CONFIG_H) $(INCL)\date.h $(INCL)\dgn_file.h
1002 $(OBJ)\dgn_lex.o : $(UTIL)\$(CB) $(CONFIG_H) $(INCL)\dgn_comp.h $(INCL)\dgn_file.h
1004 $(OBJ)\dgn_main.o : $(UTIL)\$(CB) $(CONFIG_H)
1007 $(UTIL)\dgn_yacc.c : $(UTIL)\dgn_comp.y
1008 $(MAKEB) YY=dgn do_yacc
1010 $(UTIL)\dgn_lex.c : $(UTIL)\dgn_comp.l
1011 $(MAKEB) YY=dgn do_lex
1014 # For both lev_comp and dgn_comp.
1017 $(OBJ)\panic.o : $(UTIL)\$(CB) $(CONFIG_H)
1021 # Yacc and Lex targets.
1025 $(CP) $(SSYS)\$(YY)_yacc.c $(UTIL)
1026 $(CP) $(SSYS)\$(YY)_comp.h $(INCL)
1027 $(MAKEB) TT=$(UTIL)\$(YY)_yacc.c do_touch
1028 $(MAKEB) TT=$(INCL)\$(YY)_comp.h do_touch
1031 $(ECHO) $(YY)_comp.y has changed. To update $(YY)_yacc.c and $(YY)_comp.h run $(YACC).
1034 $(YACC) -d $(UTIL)\$(YY)_comp.y
1035 $(CP) $(YTABC) $(UTIL)\$(YY)_yacc.c
1036 $(CP) $(YTABH) $(INCL)\$(YY)_comp.h
1041 $(CP) $(SSYS)\$(YY)_lex.c $(UTIL)
1042 $(MAKEB) TT=$(UTIL)\$(YY)_lex.c do_touch
1045 $(ECHO) $(YY)_comp.l has changed. To update $(YY)_lex.c run $(LEX).
1048 $(LEX) $(UTIL)\$(YY)_comp.l
1049 $(CP) $(LEXYYC) $(UTIL)\$(YY)_lex.c
1053 # Why must this be so kludgy?
1060 $(BEG) $(CAT) $(TT) > $(TEMP)\foo.bar $(SEP) $(CP) $(TEMP)\foo.bar $(TT) $(SEP) $(RM) $(TEMP)\foo.bar $(END)
1063 # Targets for the recovery utility.
1066 recover : $(GAMEDIR)\recover.exe
1067 $(GAMEDIR)\recover.exe : $(TEMP)\recover.rsp
1070 $(TEMP)\recover.rsp : $(RECOVOBJS) $(TEMP)\$(RCVRDEF)
1071 $(ECHO) $(SYSOBJ) $(RECOVOBJS)> $@
1072 $(ECHO) $(GAMEDIR)\recover.exe>> $@
1074 $(ECHO) $(PLIBS)>> $@
1075 $(ECHO) $(TEMP)\$(RCVRDEF) $(LFLAGS);>> $@
1077 $(OBJ)\recover.o : $(UTIL)\$(CB) $(CONFIG_H)
1081 # Targets for the dlb.
1084 dlb : $(TEMP)\dlb.exe
1085 $(TEMP)\dlb.exe : $(TEMP)\dlb.rsp
1088 $(TEMP)\dlb.rsp : $(DLBOBJS) $(TEMP)\$(DLBDEF)
1089 $(ECHO) $(SYSOBJ) $(DLBOBJS)> $@
1090 $(ECHO) $(TEMP)\dlb.exe>> $@
1092 $(ECHO) $(PLIBS)>> $@
1093 $(ECHO) $(TEMP)\$(DLBDEF) $(LFLAGS);>> $@
1095 $(OBJ)\dlb_main.o : $(UTIL)\$(CB) $(CONFIG_H) $(INCL)\dlb.h
1098 $(GAMEDIR)\nhdat : $(WINX11VARDAT)
1102 $(TEMP)\dlb cCf $(GAMEDIR) $(GAMEDIR)\nhdat $(DATDLB)
1103 -$(RM) $(GAMEDIR)\help
1104 -$(RM) $(GAMEDIR)\hh
1105 -$(RM) $(GAMEDIR)\cmdhelp
1106 -$(RM) $(GAMEDIR)\history
1107 -$(RM) $(GAMEDIR)\opthelp
1108 -$(RM) $(GAMEDIR)\wizhelp
1109 -$(RM) $(GAMEDIR)\asmodeus.lev
1110 -$(RM) $(GAMEDIR)\baalz.lev
1111 -$(RM) $(GAMEDIR)\bigrm-?.lev
1112 -$(RM) $(GAMEDIR)\castle.lev
1113 -$(RM) $(GAMEDIR)\fakewiz?.lev
1114 -$(RM) $(GAMEDIR)\juiblex.lev
1115 -$(RM) $(GAMEDIR)\knox.lev
1116 -$(RM) $(GAMEDIR)\medusa-?.lev
1117 -$(RM) $(GAMEDIR)\minend-?.lev
1118 -$(RM) $(GAMEDIR)\minefill.lev
1119 -$(RM) $(GAMEDIR)\minetn-?.lev
1120 -$(RM) $(GAMEDIR)\oracle.lev
1121 -$(RM) $(GAMEDIR)\orcus.lev
1122 -$(RM) $(GAMEDIR)\sanctum.lev
1123 -$(RM) $(GAMEDIR)\tower?.lev
1124 -$(RM) $(GAMEDIR)\valley.lev
1125 -$(RM) $(GAMEDIR)\wizard?.lev
1126 -$(RM) $(GAMEDIR)\astral.lev
1127 -$(RM) $(GAMEDIR)\air.lev
1128 -$(RM) $(GAMEDIR)\earth.lev
1129 -$(RM) $(GAMEDIR)\fire.lev
1130 -$(RM) $(GAMEDIR)\water.lev
1131 -$(RM) $(GAMEDIR)\???-goal.lev
1132 -$(RM) $(GAMEDIR)\???-fil?.lev
1133 -$(RM) $(GAMEDIR)\???-loca.lev
1134 -$(RM) $(GAMEDIR)\???-strt.lev
1135 -$(RM) $(GAMEDIR)\data
1136 -$(RM) $(GAMEDIR)\oracles
1137 -$(RM) $(GAMEDIR)\options
1138 -$(RM) $(GAMEDIR)\quest.dat
1139 -$(RM) $(GAMEDIR)\rumors
1140 -$(RM) $(GAMEDIR)\dungeon
1141 -$(RM) $(GAMEDIR)\soko?-?.lev
1142 # -$(RM) $(GAMEDIR)\pet_mark.xbm
1143 # -$(RM) $(GAMEDIR)\rip.xpm
1146 $(ECHO) DLB not requested.
1149 # The following files depend on makedefs to be created.
1151 # date.h should be remade every time any of the source or include
1152 # files is modified.
1155 $(INCL)\date.h : $(VOBJ) $(TEMP)\makedefs.exe
1157 $(CP) $(DAT)\options $(GAMEDIR)
1158 $(RM) $(DAT)\options
1160 $(INCL)\onames.h : $(TEMP)\makedefs.exe
1163 $(INCL)\pm.h : $(TEMP)\makedefs.exe
1166 monstr.c : $(TEMP)\makedefs.exe
1169 $(OBJ)\monstr.o : $(CB)
1172 $(GAMEDIR)\data : $(DAT)\$(DATABASE) $(TEMP)\makedefs.exe
1174 $(CP) $(DAT)\data $(GAMEDIR)
1177 $(GAMEDIR)\rumors : $(DAT)\rumors.tru $(DAT)\rumors.fal $(TEMP)\makedefs.exe
1179 $(CP) $(DAT)\rumors $(GAMEDIR)
1182 $(GAMEDIR)\oracles : $(DAT)\oracles.txt $(TEMP)\makedefs.exe
1184 $(CP) $(DAT)\oracles $(GAMEDIR)
1185 $(RM) $(DAT)\oracles
1187 $(GAMEDIR)\quest.dat : $(DAT)\quest.txt $(TEMP)\makedefs.exe
1189 $(CP) $(DAT)\quest.dat $(GAMEDIR)
1190 $(RM) $(DAT)\quest.dat
1193 # Vision tables for algorithm D.
1196 vis_tab.c : $(INCL)\vis_tab.h
1197 $(INCL)\vis_tab.h : $(TEMP)\makedefs.exe
1200 $(OBJ)\vis_tab.o : $(CB)
1204 # The following programs vary depending on what OS you are using.
1207 $(OBJ)\main.o : $(SSYS)\pc$(CB) $(HACK_H) $(INCL)\dlb.h
1209 $(OBJ)\tty.o : $(SSYS)\pc$(CB) $(HACK_H) $(INCL)\func_tab.h
1211 $(OBJ)\unix.o : $(SSYS)\pc$(CB) $(HACK_H)
1215 # Other system specific modules.
1218 $(OBJ)\os2.o : $(SYS)\$(CB) $(HACK_H) $(INCL)\tcap.h $(INCL)\def_os2.h
1220 $(OBJ)\pcsys.o : $(SSYS)\$(CB) $(HACK_H)
1224 # Berkeley random(3) routines.
1227 $(OBJ)\random.o : $(SSYS)\$(CB)
1234 $(OBJ)\getline.o : $(WIN)\$(CB) $(HACK_H) $(INCL)\func_tab.h
1236 $(OBJ)\termcap.o : $(WIN)\$(CB) $(HACK_H) $(INCL)\tcap.h
1238 $(OBJ)\topl.o : $(WIN)\$(CB) $(HACK_H) $(INCL)\tcap.h
1240 $(OBJ)\wintty.o : $(WIN)\$(CB) $(HACK_H) $(INCL)\tcap.h
1244 # Secondary targets.
1247 dat : spec_lev help_fil $(GAMEDIR)\dungeon $(GAMEDIR)\data $(GAMEDIR)\rumors \
1248 $(GAMEDIR)\oracles $(GAMEDIR)\quest.dat $(GAMEDIR)\$(GAME).ico \
1249 $(GAMEDIR)\$(GAME).cmd $(GAMEDIR)\nethack.cnf $(GAMEDIR)\nhdat \
1252 help_fil : $(GAMEDIR)\cmdhelp $(GAMEDIR)\help $(GAMEDIR)\hh $(GAMEDIR)\history \
1253 $(GAMEDIR)\license $(GAMEDIR)\opthelp $(GAMEDIR)\wizhelp
1255 $(GAMEDIR)\cmdhelp : $(DAT)\cmdhelp
1256 $(CP) $(DAT)\cmdhelp $(GAMEDIR)
1257 $(GAMEDIR)\help : $(DAT)\help
1258 $(CP) $(DAT)\help $(GAMEDIR)
1259 $(GAMEDIR)\hh : $(DAT)\hh
1260 $(CP) $(DAT)\hh $(GAMEDIR)
1261 $(GAMEDIR)\history : $(DAT)\history
1262 $(CP) $(DAT)\history $(GAMEDIR)
1263 $(GAMEDIR)\license : $(DAT)\license
1264 $(CP) $(DAT)\license $(GAMEDIR)
1265 $(GAMEDIR)\opthelp : $(DAT)\opthelp
1266 $(CP) $(DAT)\opthelp $(GAMEDIR)
1267 $(GAMEDIR)\wizhelp : $(DAT)\wizhelp
1268 $(CP) $(DAT)\wizhelp $(GAMEDIR)
1270 $(GAMEDIR)\dungeon : $(DAT)\dungeon.def $(TEMP)\makedefs.exe $(TEMP)\dgn_comp.exe
1272 $(TEMP)\dgn_comp $(DAT)\dungeon.pdf
1273 $(CP) $(DAT)\dungeon $(GAMEDIR)
1274 $(RM) $(DAT)\dungeon.pdf
1275 $(RM) $(DAT)\dungeon
1277 AFILES = $(GAMEDIR)\Arc-goal.lev
1278 BFILES = $(GAMEDIR)\Bar-goal.lev
1279 CFILES = $(GAMEDIR)\Cav-goal.lev
1280 HFILES = $(GAMEDIR)\Hea-goal.lev
1281 KFILES = $(GAMEDIR)\Kni-goal.lev
1282 MFILES = $(GAMEDIR)\Mon-goal.lev
1283 PFILES = $(GAMEDIR)\Pri-goal.lev
1284 RANFILES = $(GAMEDIR)\Ran-goal.lev
1285 RFILES = $(GAMEDIR)\Rog-goal.lev
1286 SFILES = $(GAMEDIR)\Sam-goal.lev
1287 TFILES = $(GAMEDIR)\Tou-goal.lev
1288 VFILES = $(GAMEDIR)\Val-goal.lev
1289 WFILES = $(GAMEDIR)\Wiz-goal.lev
1291 XFILES = $(AFILES) $(BFILES) $(CFILES) $(HFILES) $(KFILES) $(MFILES) \
1292 $(PFILES) $(RANFILES) $(RFILES) $(SFILES) $(TFILES) $(VFILES) $(WFILES)
1294 spec_lev : $(GAMEDIR)\astral.lev $(GAMEDIR)\bigrm-1.lev $(GAMEDIR)\castle.lev \
1295 $(GAMEDIR)\knox.lev $(GAMEDIR)\medusa-1.lev $(GAMEDIR)\minefill.lev \
1296 $(GAMEDIR)\oracle.lev $(GAMEDIR)\tower1.lev $(GAMEDIR)\valley.lev \
1297 $(GAMEDIR)\wizard1.lev $(GAMEDIR)\soko1-1.lev $(XFILES)
1299 # Single special level files
1301 $(GAMEDIR)\castle.lev : $(DAT)\castle.des $(TEMP)\lev_comp.exe
1302 $(MAKEB) LF=castle do_slev
1303 $(GAMEDIR)\knox.lev : $(DAT)\knox.des $(TEMP)\lev_comp.exe
1304 $(MAKEB) LF=knox do_slev
1305 $(GAMEDIR)\oracle.lev : $(DAT)\oracle.des $(TEMP)\lev_comp.exe
1306 $(MAKEB) LF=oracle do_slev
1309 $(TEMP)\lev_comp $(DAT)\$(LF).des
1310 $(CP) $(LF).lev $(GAMEDIR)
1313 # Multiple special level files
1315 $(GAMEDIR)\astral.lev : $(DAT)\endgame.des $(TEMP)\lev_comp.exe
1316 $(TEMP)\lev_comp $(DAT)\endgame.des
1317 $(CP) air.lev $(GAMEDIR)
1318 $(CP) astral.lev $(GAMEDIR)
1319 $(CP) earth.lev $(GAMEDIR)
1320 $(CP) fire.lev $(GAMEDIR)
1321 $(CP) water.lev $(GAMEDIR)
1328 $(GAMEDIR)\bigrm-1.lev : $(DAT)\bigroom.des $(TEMP)\lev_comp.exe
1329 $(TEMP)\lev_comp $(DAT)\bigroom.des
1330 $(CP) bigrm-?.lev $(GAMEDIR)
1333 $(GAMEDIR)\medusa-1.lev : $(DAT)\medusa.des $(TEMP)\lev_comp.exe
1334 $(TEMP)\lev_comp $(DAT)\medusa.des
1335 $(CP) medusa-?.lev $(GAMEDIR)
1338 $(GAMEDIR)\minefill.lev : $(DAT)\mines.des $(TEMP)\lev_comp.exe
1339 $(TEMP)\lev_comp $(DAT)\mines.des
1340 $(CP) minend-?.lev $(GAMEDIR)
1341 $(CP) minefill.lev $(GAMEDIR)
1342 $(CP) minetn-?.lev $(GAMEDIR)
1347 $(GAMEDIR)\tower1.lev : $(DAT)\tower.des $(TEMP)\lev_comp.exe
1348 $(TEMP)\lev_comp $(DAT)\tower.des
1349 $(CP) tower?.lev $(GAMEDIR)
1352 $(GAMEDIR)\valley.lev : $(DAT)\gehennom.des $(TEMP)\lev_comp.exe
1353 $(TEMP)\lev_comp $(DAT)\gehennom.des
1354 $(CP) asmodeus.lev $(GAMEDIR)
1355 $(CP) baalz.lev $(GAMEDIR)
1356 $(CP) juiblex.lev $(GAMEDIR)
1357 $(CP) orcus.lev $(GAMEDIR)
1358 $(CP) sanctum.lev $(GAMEDIR)
1359 $(CP) valley.lev $(GAMEDIR)
1367 $(GAMEDIR)\wizard1.lev : $(DAT)\yendor.des $(TEMP)\lev_comp.exe
1368 $(TEMP)\lev_comp $(DAT)\yendor.des
1369 $(CP) wizard?.lev $(GAMEDIR)
1370 $(CP) fakewiz?.lev $(GAMEDIR)
1374 $(GAMEDIR)\soko1-1.lev : $(DAT)\sokoban.des $(TEMP)\lev_comp.exe
1375 $(TEMP)\lev_comp $(DAT)\sokoban.des
1376 $(CP) soko?-?.lev $(GAMEDIR)
1382 $(AFILES) : $(DAT)\Arch.des $(TEMP)\lev_comp.exe
1383 $(MAKEB) QQ=Arc QF=Arch do_quest
1384 $(BFILES) : $(DAT)\Barb.des $(TEMP)\lev_comp.exe
1385 $(MAKEB) QQ=Bar QF=Barb do_quest
1386 $(CFILES) : $(DAT)\Caveman.des $(TEMP)\lev_comp.exe
1387 $(MAKEB) QQ=Cav QF=Caveman do_quest
1388 $(HFILES) : $(DAT)\Healer.des $(TEMP)\lev_comp.exe
1389 $(MAKEB) QQ=Hea QF=Healer do_quest
1390 $(KFILES) : $(DAT)\Knight.des $(TEMP)\lev_comp.exe
1391 $(MAKEB) QQ=Kni QF=Knight do_quest
1392 $(MFILES) : $(DAT)\Monk.des $(TEMP)\lev_comp.exe
1393 $(MAKEB) QQ=Mon QF=Monk do_quest
1394 $(PFILES) : $(DAT)\Priest.des $(TEMP)\lev_comp.exe
1395 $(MAKEB) QQ=Pri QF=Priest do_quest
1396 $(RANFILES) : $(DAT)\Ranger.des $(TEMP)\lev_comp.exe
1397 $(MAKEB) QQ=Ran QF=Ranger do_quest
1398 $(RFILES) : $(DAT)\Rogue.des $(TEMP)\lev_comp.exe
1399 $(MAKEB) QQ=Rog QF=Rogue do_quest
1400 $(SFILES) : $(DAT)\Samurai.des $(TEMP)\lev_comp.exe
1401 $(MAKEB) QQ=Sam QF=Samurai do_quest
1402 $(TFILES) : $(DAT)\Tourist.des $(TEMP)\lev_comp.exe
1403 $(MAKEB) QQ=Tou QF=Tourist do_quest
1404 $(VFILES) : $(DAT)\Valkyrie.des $(TEMP)\lev_comp.exe
1405 $(MAKEB) QQ=Val QF=Valkyrie do_quest
1406 $(WFILES) : $(DAT)\Wizard.des $(TEMP)\lev_comp.exe
1407 $(MAKEB) QQ=Wiz QF=Wizard do_quest
1410 $(TEMP)\lev_comp $(DAT)\$(QF).des
1411 $(CP) $(QQ)-fil?.lev $(GAMEDIR)
1412 $(CP) $(QQ)-goal.lev $(GAMEDIR)
1413 $(CP) $(QQ)-loca.lev $(GAMEDIR)
1414 $(CP) $(QQ)-strt.lev $(GAMEDIR)
1415 $(RM) $(QQ)-fil?.lev
1416 $(RM) $(QQ)-goal.lev
1417 $(RM) $(QQ)-loca.lev
1418 $(RM) $(QQ)-strt.lev
1421 # NetHack icon for Presentation Manager.
1424 $(GAMEDIR)\$(GAME).ico : $(SYS)\nhpmico.uu
1428 $(ECHO) Icon file not extracted. Extract manually if required.
1431 $(UUDECODE) $(SYS)\nhpmico.uu
1432 $(CP) nethack.ico $(GAMEDIR)\$(GAME).ico
1436 # NetHack command file to use with Presentation Manager.
1439 $(GAMEDIR)\$(GAME).cmd :
1440 $(MAKEB) CMDF=$@ do_cmd
1443 $(ECHO) Command file not created. Create manually if required.
1446 $(ECHO) @echo off> $(CMDF)
1447 $(ECHO) REM Command file for starting nethack.exe from PM/WPS Desktop>> $(CMDF)
1448 $(ECHO) $(GAME).exe $(P)1 $(P)2 $(P)3 $(P)4 $(P)5 $(P)6 $(P)7>> $(CMDF)
1449 $(ECHO) pause>> $(CMDF)
1452 # NetHack configuration file. Will not overwrite an existing file.
1455 $(GAMEDIR)\nethack.cnf :
1456 $(CP) $(SSYS)\nethack.cnf $(GAMEDIR)
1462 $(TEMP)\$(GUIDEBOO).dvi : $(DOC)\$(GUIDEBOO).tex
1463 $(LATEX) $(DOC)\$(GUIDEBOO).tex
1464 $(CP) $(GUIDEBOO).dvi $(TEMP)
1465 $(CP) $(GUIDEBOO).aux $(TEMP)
1466 $(CP) $(GUIDEBOO).log $(TEMP)
1467 $(RM) $(GUIDEBOO).dvi
1468 $(RM) $(GUIDEBOO).aux
1469 $(RM) $(GUIDEBOO).log
1479 -$(RM) $(INCL)\date.h
1480 -$(RM) $(INCL)\onames.h
1482 -$(RM) $(INCL)\vis_tab.h
1487 -$(RM) $(TEMP)\makedefs.exe
1488 -$(RM) $(TEMP)\lev_comp.exe
1489 -$(RM) $(TEMP)\dgn_comp.exe
1490 -$(RM) $(TEMP)\*.rsp
1491 -$(RM) $(TEMP)\*.def
1492 -$(RM) $(TEMP)\*.map
1493 -$(RM) $(TEMP)\$(GUIDEBOO).dvi
1494 -$(RM) $(TEMP)\$(GUIDEBOO).aux
1495 -$(RM) $(TEMP)\$(GUIDEBOO).log
1500 # Default rules are sooo difficult for so many make
1501 # programs that we do this the most straightforward way.
1504 $(OBJ)\allmain.o : $(SRC)\$(CB) $(HACK_H)
1506 $(OBJ)\alloc.o : $(SRC)\$(CB) $(CONFIG_H)
1508 $(OBJ)\apply.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\edog.h
1510 $(OBJ)\artifact.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\artifact.h $(INCL)\artilist.h
1512 $(OBJ)\attrib.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\artifact.h
1514 $(OBJ)\ball.o : $(SRC)\$(CB) $(HACK_H)
1516 $(OBJ)\bones.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\lev.h
1518 $(OBJ)\botl.o : $(SRC)\$(CB) $(HACK_H)
1520 $(OBJ)\cmd.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\func_tab.h
1522 $(OBJ)\dbridge.o : $(SRC)\$(CB) $(HACK_H)
1524 $(OBJ)\decl.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\quest.h
1526 $(OBJ)\detect.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\artifact.h
1528 $(OBJ)\dig.o : $(SRC)\$(CB) $(HACK_H)
1530 $(OBJ)\display.o : $(SRC)\$(CB) $(HACK_H)
1532 $(OBJ)\dlb.o : $(SRC)\$(CB) $(CONFIG_H) $(INCL)\dlb.h
1534 $(OBJ)\do.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\lev.h
1536 $(OBJ)\do_name.o : $(SRC)\$(CB) $(HACK_H)
1538 $(OBJ)\do_wear.o : $(SRC)\$(CB) $(HACK_H)
1540 $(OBJ)\dog.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\edog.h
1542 $(OBJ)\dogmove.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\mfndpos.h $(INCL)\edog.h
1544 $(OBJ)\dokick.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\eshk.h
1546 $(OBJ)\dothrow.o : $(SRC)\$(CB) $(HACK_H)
1548 $(OBJ)\drawing.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\tcap.h
1550 $(OBJ)\dungeon.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\dgn_file.h
1552 $(OBJ)\eat.o : $(SRC)\$(CB) $(HACK_H)
1554 $(OBJ)\end.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\eshk.h
1556 $(OBJ)\engrave.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\lev.h
1558 $(OBJ)\exper.o : $(SRC)\$(CB) $(HACK_H)
1560 $(OBJ)\explode.o : $(SRC)\$(CB) $(HACK_H)
1562 $(OBJ)\extralev.o : $(SRC)\$(CB) $(HACK_H)
1564 $(OBJ)\files.o : $(SRC)\$(CB) $(HACK_H)
1566 $(OBJ)\fountain.o : $(SRC)\$(CB) $(HACK_H)
1568 $(OBJ)\hack.o : $(SRC)\$(CB) $(HACK_H)
1570 $(OBJ)\hacklib.o : $(SRC)\$(CB) $(HACK_H)
1572 $(OBJ)\invent.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\artifact.h
1574 $(OBJ)\light.o : $(SRC)\$(CB) $(HACK_H)
1576 $(OBJ)\lock.o : $(SRC)\$(CB) $(HACK_H)
1578 $(OBJ)\mail.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\mail.h
1580 $(OBJ)\makemon.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\epri.h $(INCL)\emin.h
1582 $(OBJ)\mapglyph.o : $(SRC)\$(CB) $(HACK_H)
1584 $(OBJ)\mcastu.o : $(SRC)\$(CB) $(HACK_H)
1586 $(OBJ)\mhitm.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\artifact.h $(INCL)\edog.h
1588 $(OBJ)\mhitu.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\artifact.h $(INCL)\edog.h
1590 $(OBJ)\minion.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\emin.h $(INCL)\epri.h
1592 $(OBJ)\mklev.o : $(SRC)\$(CB) $(HACK_H)
1594 $(OBJ)\mkmap.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\sp_lev.h
1596 $(OBJ)\mkmaze.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\sp_lev.h
1598 $(OBJ)\mkobj.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\artifact.h
1600 $(OBJ)\mkroom.o : $(SRC)\$(CB) $(HACK_H)
1602 $(OBJ)\mon.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\mfndpos.h $(INCL)\edog.h
1604 $(OBJ)\mondata.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\eshk.h $(INCL)\epri.h
1606 $(OBJ)\monmove.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\mfndpos.h $(INCL)\artifact.h
1608 $(OBJ)\monst.o : $(SRC)\$(CB) $(CONFIG_H) $(PERMONST_H) $(INCL)\monsym.h $(INCL)\eshk.h $(INCL)\vault.h $(INCL)\epri.h $(INCL)\color.h
1610 $(OBJ)\mplayer.o : $(SRC)\$(CB) $(HACK_H)
1612 $(OBJ)\mthrowu.o : $(SRC)\$(CB) $(HACK_H)
1614 $(OBJ)\muse.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\edog.h
1616 $(OBJ)\music.o : $(SRC)\$(CB) $(HACK_H)
1618 $(OBJ)\o_init.o : $(SRC)\$(CB) $(HACK_H)
1620 $(OBJ)\objects.o : $(SRC)\$(CB) $(CONFIG_H) $(INCL)\obj.h $(INCL)\objclass.h $(INCL)\prop.h $(INCL)\color.h
1622 $(OBJ)\objnam.o : $(SRC)\$(CB) $(HACK_H)
1624 $(OBJ)\options.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\tcap.h
1626 $(OBJ)\pager.o : $(SRC)\$(CB) $(HACK_H)
1628 $(OBJ)\pickup.o : $(SRC)\$(CB) $(HACK_H)
1630 $(OBJ)\pline.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\epri.h
1632 $(OBJ)\polyself.o : $(SRC)\$(CB) $(HACK_H)
1634 $(OBJ)\potion.o : $(SRC)\$(CB) $(HACK_H)
1636 $(OBJ)\pray.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\epri.h
1638 $(OBJ)\priest.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\mfndpos.h $(INCL)\eshk.h $(INCL)\epri.h $(INCL)\emin.h
1640 $(OBJ)\quest.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\quest.h $(INCL)\qtext.h
1642 $(OBJ)\questpgr.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\qtext.h
1644 $(OBJ)\read.o : $(SRC)\$(CB) $(HACK_H)
1646 $(OBJ)\region.o : $(SRC)\$(CB) $(HACK_H)
1648 $(OBJ)\rect.o : $(SRC)\$(CB) $(HACK_H)
1650 $(OBJ)\restore.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\lev.h $(INCL)\tcap.h $(INCL)\quest.h
1652 $(OBJ)\rip.o : $(SRC)\$(CB) $(HACK_H)
1654 $(OBJ)\rnd.o : $(SRC)\$(CB) $(HACK_H)
1656 $(OBJ)\role.o : $(SRC)\$(CB) $(HACK_H)
1658 $(OBJ)\rumors.o : $(SRC)\$(CB) $(HACK_H)
1660 $(OBJ)\save.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\lev.h $(INCL)\quest.h
1662 $(OBJ)\shk.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\eshk.h
1664 $(OBJ)\shknam.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\eshk.h
1666 $(OBJ)\sit.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\artifact.h
1668 $(OBJ)\sounds.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\edog.h $(INCL)\eshk.h
1670 $(OBJ)\sp_lev.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\sp_lev.h $(INCL)\rect.h
1672 $(OBJ)\spell.o : $(SRC)\$(CB) $(HACK_H)
1674 $(OBJ)\steal.o : $(SRC)\$(CB) $(HACK_H)
1676 $(OBJ)\steed.o : $(SRC)\$(CB) $(HACK_H)
1678 $(OBJ)\teleport.o : $(SRC)\$(CB) $(HACK_H)
1680 $(OBJ)\timeout.o : $(SRC)\$(CB) $(HACK_H)
1682 $(OBJ)\topten.o : $(SRC)\$(CB) $(HACK_H)
1684 $(OBJ)\track.o : $(SRC)\$(CB) $(HACK_H)
1686 $(OBJ)\trap.o : $(SRC)\$(CB) $(HACK_H)
1688 $(OBJ)\u_init.o : $(SRC)\$(CB) $(HACK_H)
1690 $(OBJ)\uhitm.o : $(SRC)\$(CB) $(HACK_H)
1692 $(OBJ)\vault.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\vault.h
1694 $(OBJ)\version.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\date.h $(INCL)\$(PATCHLEV).h
1696 $(OBJ)\vision.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\vis_tab.h
1698 $(OBJ)\weapon.o : $(SRC)\$(CB) $(HACK_H)
1700 $(OBJ)\were.o : $(SRC)\$(CB) $(HACK_H)
1702 $(OBJ)\wield.o : $(SRC)\$(CB) $(HACK_H)
1704 $(OBJ)\windows.o : $(SRC)\$(CB) $(HACK_H)
1706 $(OBJ)\wizard.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\qtext.h
1708 $(OBJ)\worm.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\lev.h
1710 $(OBJ)\worn.o : $(SRC)\$(CB) $(HACK_H)
1712 $(OBJ)\write.o : $(SRC)\$(CB) $(HACK_H)
1714 $(OBJ)\zap.o : $(SRC)\$(CB) $(HACK_H)
1717 $(OBJ)/Window.o: $(WINX11)\Window.c $(INCL)\xwindowp.h $(INCL)\xwindow.h \
1719 $(CC) -o$(OBJ)\Window.o $(CFLAGS) -c $(WINX11)\Window.c
1720 $(OBJ)/dialogs.o: $(WINX11)\dialogs.c $(CONFIG_H)
1721 $(CC) -o$(OBJ)\dialogs.o $(CFLAGS) -c $(WINX11)\dialogs.c
1722 $(OBJ)/winX.o: $(WINX11)\winX.c $(HACK_H) $(INCL)\winX.h $(INCL)\dlb.h \
1723 $(INCL)\patchlevel.h $(WINX11)\nh72icon \
1724 $(WINX11)\nh56icon $(WINX11)\nh32icon
1725 $(CC) $(CFLAGS) -c $(WINX11)\winX.c -o$(OBJ)\winX.o
1726 $(OBJ)/winmap.o: $(WINX11)\winmap.c $(INCL)\xwindow.h $(HACK_H) $(INCL)\dlb.h \
1727 $(INCL)\winX.h $(INCL)\tile2x11.h
1728 $(CC) $(CFLAGS) -c $(WINX11)\winmap.c -o $(OBJ)\winmap.o
1729 $(OBJ)/winmenu.o: $(WINX11)\winmenu.c $(HACK_H) $(INCL)\winX.h
1730 $(CC) $(CFLAGS) -c $(WINX11)\winmenu.c -o $(OBJ)\winmenu.o
1731 $(OBJ)/winmesg.o: $(WINX11)\winmesg.c $(INCL)\xwindow.h $(HACK_H) $(INCL)\winX.h
1732 $(CC) $(CFLAGS) -c $(WINX11)\winmesg.c -o$(OBJ)\winmesg.o
1733 $(OBJ)/winmisc.o: $(WINX11)\winmisc.c $(HACK_H) $(INCL)\func_tab.h \
1735 $(CC) $(CFLAGS) -c $(WINX11)\winmisc.c -o$(OBJ)\winmisc.o
1736 $(OBJ)/winstat.o: $(WINX11)\winstat.c $(HACK_H) $(INCL)\winX.h
1737 $(CC) $(CFLAGS) -c $(WINX11)\winstat.c -o$(OBJ)\winstat.o
1738 $(OBJ)/wintext.o: $(WINX11)\wintext.c $(HACK_H) $(INCL)\winX.h $(INCL)\xwindow.h
1739 $(CC) $(CFLAGS) -c $(WINX11)\wintext.c -o$(OBJ)\wintext.o
1740 $(OBJ)/winval.o: $(WINX11)\winval.c $(HACK_H) $(INCL)\winX.h
1741 $(CC) $(CFLAGS) -c $(WINX11)\winval.c -o$(OBJ)\winval.o
1743 $(OBJ)/tile.o: $(NHSRC)\src\tile.c $(HACK_H)
1744 $(CC) $(CFLAGS) -c $(NHSRC)\src\tile.c -o$(OBJ)\tile.o
1746 $(TEMP)\tilemap.exe: ..\win\share\tilemap.c $(HACK_H)
1747 $(CC) $(GCCO) $(WARN) -I$(INCL) $(CDFLAGS) $(STDC) $(WINX11CFLAGS) $(LFLAGS) -o $(TEMP)\tilemap.exe ..\win\share\tilemap.c $(LIBS)
1748 $(NHSRC)\src\tile.c: $(TEMP)\tilemap.exe
1751 x11tiles: $(TEMP)\tile2x11.exe $(WINSHARE)\monsters.txt \
1752 $(WINSHARE)\objects.txt \
1753 $(WINSHARE)\other.txt
1754 $(TEMP)\tile2x11.exe $(WINSHARE)\monsters.txt $(WINSHARE)\objects.txt \
1755 $(WINSHARE)\other.txt
1756 $(CP) x11tiles $(GAMEDIR)\x11tiles
1758 TEXT_IO = $(OBJ)\tiletext.o \
1765 $(OBJ)\tiletext.o: ../win/share/tiletext.c $(CONFIG_H) $(WINSHARE)\tile.h
1766 $(CC) $(CFLAGS) -c $(WINSHARE)\tiletext.c -o$(OBJ)\tiletext.o
1767 $(OBJ)\tiletxt.o: $(WINSHARE)\tilemap.c $(HACK_H)
1768 $(CC) $(CFLAGS) -c -DTILETEXT $(WINSHARE)\tilemap.c -o$(OBJ)\tiletxt.o
1770 $(TEMP)\tile2x11.exe: $(OBJ)\tile2x11.o $(TEXT_IO)
1771 $(CC) $(LFLAGS) -o $(TEMP)\tile2x11.exe $(OBJ)\tile2x11.o $(TEXT_IO) $(LIBS)
1773 pet_mark.xbm: $(WINX11)\pet_mark.xbm
1774 $(CP) $(WINX11)\pet_mark.xbm $(GAMEDIR)\pet_mark.xbm
1776 rip.xpm: $(WINX11)\rip.xpm
1777 $(CP) $(WINX11)\rip.xpm $(GAMEDIR)\rip.xpm
1779 $(OBJ)\tile2x11.o : $(WINX11)\tile2x11.c $(INCL)\tile2x11.h
1780 $(CC) $(CFLAGS) -o$(OBJ)\tile2x11.o -c $(WINX11)\tile2x11.c \