1 # aNetHack 0.0.1 Makefile.os2 $ANH-Date: 1432512793 2015/05/25 00:13:13 $ $ANH-Branch: master $:$ANH-Revision: 1.19 $
2 # OS/2 aNetHack 0.0.1 Makefile for OS/2 versions 1.x and 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 Pekka Rousu.
12 # Copy this file into $(SRC) directory, rename it to "makefile"
13 # (important, many targets rely on it), compile and link inside
14 # $(SRC). If required, termcap library can be built from termcap
15 # sources using makefile.lib in "sys\share" directory.
17 # "GCC" refers to GCC emx only. No other ports of GCC are supported.
18 # Additional credits for honing GCC support for 3.2 go to Ronald
19 # Van Iwaarden (ron@vaniwaarden.org) and Stefan Neis (neis@cs.uni-sb.de).
21 # "OMF" is short for "Object Module Format" and refers to the
22 # standard OS/2 object format, which e.g. link386 uses. MSC and
23 # CSet/2 always produce OMF object files, and GCC can be instructed
24 # to produce them with proper switches (see below).
26 # "a.out" refers to Unix object file format, which is used by GCC
27 # in its default compilation mode. These object files must be
28 # linked using GCC's own linker to produce a proper OS/2 executable.
29 # GDB debugger shipped with GCC can only be used with a.out object
32 # Note that the default setup in this makefile is my personal setup,
33 # which you will have to adapt to your configuration.
37 # Compiler and linker selection.
43 .IF $(format) == a.out
51 .IF $(format) == a.out
53 #LINK = link386 # GCC OMF, CSet/2
55 LINK = link386 # GCC OMF, CSet/2
56 LFLAGS = /noig /stack:40000
59 .IF $(with_x11) == yes
60 WINX11OBJ01 = $(OBJ)/Window.o
61 WINX11OBJ02 = $(OBJ)/dialogs.o
62 WINX11OBJ03 = $(OBJ)/winX.o
63 WINX11OBJ04 = $(OBJ)/winmap.o
64 WINX11OBJ05 = $(OBJ)/winmenu.o
65 WINX11OBJ06 = $(OBJ)/winmesg.o
66 WINX11OBJ07 = $(OBJ)/winmisc.o
67 WINX11OBJ08 = $(OBJ)/winstat.o
68 WINX11OBJ09 = $(OBJ)/wintext.o
69 WINX11OBJ10 = $(OBJ)/winval.o
70 WINX11OBJ11 = $(OBJ)/tile.o
72 WINX11CFLAGS = -DUSE_XPM -DX11_GRAPHICS \
73 -I$(X11ROOT)/include -Zmtd
74 WINX11LIB = -lXaw -lXmu -lXext -lXt -lX11 -lXpm -L$(X11ROOT)/lib -lc_app
75 WINX11SRC = ../win/X11/Window.c ../win/X11/dialogs.c ../win/X11/winX.c \
76 ../win/X11/winmap.c ../win/X11/winmenu.c ../win/X11/winmesg.c \
77 ../win/X11/winmisc.c ../win/X11/winstat.c ../win/X11/wintext.c \
78 ../win/X11/winval.c tile.c
79 WINX11OBJ = $(WINX11OBJ01) $(WINX11OBJ02) $(WINX11OBJ03) $(WINX11OBJ04) \
80 $(WINX11OBJ05) $(WINX11OBJ06) $(WINX11OBJ07) $(WINX11OBJ08) \
81 $(WINX11OBJ09) $(WINX11OBJ10) $(WINX11OBJ11)
82 WINX11VARDAT=x11tiles pet_mark.xbm rip.xpm
83 X11ECHO = $(CMD) @echo
99 # Most makes execute actions automatically inside a subshell,
100 # which makes even the shell internals work ok.
109 # For those of us who have these on PC.
118 # For extracting aNetHack icon.
124 # For people with TeX and LaTeX.
130 # If you have TOUCH, some things become slightly easier.
136 # Standard file naming for LEX and YACC output may vary in PC
137 # installations. These three are probably the most generally used
146 # Source tree base directory.
152 # Source directories. Makedefs hardcodes these, don't change them.
155 INCL = $(NHSRC)\include # aNetHack include files
156 DAT = $(NHSRC)\dat # aNetHack data files
157 DOC = $(NHSRC)\doc # aNetHack documentation files
158 UTIL = $(NHSRC)\util # Utility source
159 SRC = $(NHSRC)\src # Main source
160 WIN = $(NHSRC)\win\tty # Window system specific source
161 WINX11 = $(NHSRC)\win\x11 # Window system specific source
162 SYS = $(NHSRC)\sys\os2 # System specific source
163 SSYS = $(NHSRC)\sys\share # Shared system files
164 WINSHARE= $(NHSRC)\win\share # Shared system files
167 # Modifiable directories. Set these according to your setup and
168 # preferences. They must all be present prior to compilation.
169 # OBJ, TEMP and GAMEDIR should all preferably be separate and,
170 # in particular, not the same as any of the source directories.
171 # Note that DMAKE may dislike drive designators in paths because
172 # it misinterprets the colon as being part of a make rule. In that
173 # case, all directories have to reside on the same drive.
176 OBJ = \tmp\obj # Object files
177 TEMP = \tmp\bin # Temporary files during make process
178 GAMEDIR = \games\nh350x11 # Game directory
179 PLIBP = c:\emx\lib # Protected mode C libraries
180 RLIBP = c:\emx\lib # Possible real mode C libraries
183 # The game name and description.
187 GAMEDES = "aNetHack 0.0.1.0"
190 # The uppermost two lines for MSC, the middle two for GCC, and
191 # the lowermost two for CSet/2.
193 # GCC: compile only, compiler id, object format selection, warnings,
194 # include file path, debug flags, ANSI conformance.
197 CFLAGS = -c $(GCCO) $(WARN) -I$(INCL) $(CDFLAGS) $(STDC) $(WINX11CFLAGS)
202 # Compiler warning levels. These are really for development, so
203 # they are commented out in general distribution to save the user
204 # from masses of benign warnings. If any problems arise, however,
205 # they may help in finding the trouble.
207 # GCC: max. reasonable GCC warning levels. Can't use -Wall, because then
208 # it would whine about all the zillions of unused declarations etc.
209 # Even with these switches you'll get a lot of warnings, but they should
213 WARN = #-W -Wimplicit -Wreturn-type -Wunused -Wformat -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -DGCC_WARN # GCC
216 # GCC object format selection. The upper line for standard OS/2 OMF
217 # object format, the lower for Unix style a.out format.
227 # MSC 5.1 needs the large model first pass of the compiler.
228 # Not needed for later versions.
234 # Unset CL to avoid troubles with conflicting switches in MSC 6.0.
240 # Prepare for a debugger.
252 # How to produce the most ANSI-like environment.
258 # Possible system object files required during linking.
262 SYSOBJ = $(PLIBP)\crt0.obj $(PLIBP)\end.lib# GCC OMF
264 SYSOBJ = # MSC, GCC a.out, CSet/2
268 # Compiler library selection. Change if necessary.
270 # GCC emx 0.9 OMF: C single-threaded libs, Unix system call alias lib,
271 # extra GCC lib, single threaded system lib, OS/2 API entry points.
272 # Note that emx changed library naming convention between 0.8 and 0.9.
274 # GCC a.out: extra GCC lib, C standard lib, extra GCC lib (again),
275 # OS/2 API entry points.
279 PLIBS = $(PLIBP)\st\c $(PLIBP)\st\c_app $(PLIBP)\c_alias $(PLIBP)\gcc $(PLIBP)\st\sys $(PLIBP)\os2 # GCC emx 0.9 OMF
281 PLIBS = -lgcc -lc -lgcc -los2 $(X11LIBS) # GCC a.out
285 # C libraries used by makedefs, lev_comp and dgn_comp (change if
286 # necessary). If compilation is done in DOS, enable the upper line
287 # possibly setting the library name to something else, if in OS/2,
288 # enable the lower line (protected mode libraries).
291 #RLIBS = $(RLIBP)\llibcer
294 SRCCC = $(CC) $(CFLAGS) $(OPT) $@ $(AB)
295 UTILCC = $(BEG) cd $(UTIL) $(SEP) $(CC) $(CFLAGS) $(OPT) $@ $(AB) $(END)
296 SYSCC = $(BEG) cd $(SYS) $(SEP) $(CC) $(CFLAGS) $(OPT) $@ $(AB) $(END)
297 SSYSCC = $(BEG) cd $(SSYS) $(SEP) $(CC) $(CFLAGS) $(OPT) $@ $(AB) $(END)
298 PSYSCC = $(BEG) cd $(SSYS) $(SEP) $(CC) $(CFLAGS) $(OPT) $@ pc$(AB) $(END)
299 WINCC = $(BEG) cd $(WIN) $(SEP) $(CC) $(CFLAGS) $(OPT) $@ $(AB) $(END)
302 # Default linker skeletons. The upper six lines for everything
303 # that uses standard OS/2 object format (GCC OMF), The lower six
304 # for GCC a.out format.
308 GAMELN = $(LINK) @$(TEMP)\$(GAME).rsp
309 MKDFLN = $(LINK) @$(TEMP)\makedefs.rsp
310 LEVCLN = $(LINK) @$(TEMP)\lev_comp.rsp
311 DGNCLN = $(LINK) @$(TEMP)\dgn_comp.rsp
312 RCVRLN = $(LINK) @$(TEMP)\recover.rsp
313 DLBRLN = $(LINK) @$(TEMP)\dlb.rsp
315 GAMELN = $(CC) $(LDFLAGS) -o $(GAMEDIR)\$(GAME).exe @$(TEMP)\$(GAME).r $(PLIBS) $(WINX11CFLAGS) $(WINX11LIB)
316 MKDFLN = $(CC) $(LDFLAGS) -o $(TEMP)\makedefs.exe $(TEMP)\$(MKDFDEF) $(SYSOBJ) $(MAKEOBJS) $(PLIBS)
317 LEVCLN = $(CC) $(LDFLAGS) -o $(TEMP)\lev_comp.exe $(TEMP)\$(LEVCDEF) $(SYSOBJ) $(SPLEVOBJS) $(PLIBS)
318 DGNCLN = $(CC) $(LDFLAGS) -o $(TEMP)\dgn_comp.exe $(TEMP)\$(DGNCDEF) $(SYSOBJ) $(DGNCOMPOBJS) $(PLIBS)
319 RCVRLN = $(CC) $(LDFLAGS) -o $(GAMEDIR)\recover.exe $(TEMP)\$(RCVRDEF) $(SYSOBJ) $(RECOVOBJS) $(PLIBS)
320 DLBRLN = $(CC) $(LDFLAGS) -o $(TEMP)\dlb.exe $(TEMP)\$(DLBDEF) $(SYSOBJ) $(DLBOBJS) $(PLIBS)
324 # OS/2 module definition files for aNetHack,
325 # makedefs, dgn_comp, lev_comp, recover, dlb.
328 GAMEDEF = $(GAME).def
329 MKDFDEF = makedefs.def
330 LEVCDEF = lev_comp.def
331 DGNCDEF = dgn_comp.def
332 RCVRDEF = recover.def
336 # For compilation in DOS, enable the lower three lines and
337 # disable the upper three.
340 MKDFMD = $(TEMP)\$(MKDFDEF)
341 LEVCMD = $(TEMP)\$(LEVCDEF)
342 DGNCMD = $(TEMP)\$(DGNCDEF)
348 # Optional high-quality BSD random number generation routines
349 # (see os2conf.h). Set to nothing if not used.
352 RANDOM = $(OBJ)\random.o
356 # If TERMLIB is defined in os2conf.h, comment out the upper line and
357 # uncomment the lower. If the termcap-library doesn't exist, use
358 # sys\share\makefile.lib to build it.
362 #TERMLIB = termlib.lib
365 # Short / long file name selection for FAT and HPFS.
366 # Only three files need consideration.
369 #GUIDEBOO = Guideboo # FAT
370 #PATCHLEV = patchlev # - " -
371 #DATABASE = data.bas # - " -
372 GUIDEBOO = Guidebook # HPFS
373 PATCHLEV = patchlevel # - " -
374 DATABASE = data.base # - " -
378 # If you have LaTeX and want to create the aNetHack Guidebook in TeX
379 # device-independent file format, comment out the upper line and
380 # uncomment the lower.
384 #GUIDE = $(TEMP)\$(GUIDEBOO).dvi
387 # Set WINOBJ lines corresponding to your desired combination
388 # of windowing systems. Also set windowing systems in config.h.
390 # A straight tty port using no native windowing system is the
391 # only choice for now.
394 WINOBJ1 = $(OBJ)\getline.o
395 WINOBJ2 = $(OBJ)\termcap.o
396 WINOBJ3 = $(OBJ)\topl.o
397 WINOBJ4 = $(OBJ)\wintty.o
398 WINOBJ = $(WINOBJ1) $(WINOBJ2) $(WINOBJ3) $(WINOBJ4) $(WINX11OBJ)
401 # The default make target, so just typing 'make' is useful.
402 # Has to be the first target in the makefile.
408 # If you have yacc and lex programs and make any changes, uncomment
409 # the lowermost two lines and comment out the others. If you make
410 # changes to the .y and .l files but prefer processing the files
411 # separately elsewhere, activate the middle two lines, so your changes
412 # don't get overwritten.
415 do_yacc : yacc_cpy # use pre-generated files
416 do_lex : lex_cpy # - " -
417 #do_yacc : yacc_msg # show message if changed
418 #do_lex : lex_msg # - " -
419 #do_yacc : yacc_act # re-process files
420 #do_lex : lex_act # - " -
423 # If you have the TOUCH utility the upper line is ok. Otherwise
424 # the lower one does the same albeit in an ugly manner. Besides,
425 # the latter method only works for text files.
428 #do_touch : realtouch
432 # If you don't have uudecode program, use the upper line.
433 # If you still want the icon, you'll have to extract the
434 # file manually somewhere else.
437 do_icon : icon_msg # show message if changed
438 #do_icon : icon_act # extract icon file
441 # If you don't want to generate anethack.cmd, use the upper line.
442 # This could be the case, e.g., if you use a different shell than
443 # the standard cmd.exe.
446 #do_cmd : cmd_msg # show message
447 do_cmd : cmd_act # generate anethack.cmd
450 # If you want to try the data librarian scheme to reduce
451 # the amount of data files in the aNetHack home directory, comment
452 # out the lower line and uncomment the upper. Also, make sure
453 # that DLB is defined in config.h.
459 ######################################################################
461 # Nothing below this line should have to be changed.
463 # Other things that have to be reconfigured are in
464 # config.h, os2conf.h and possibly system.h.
471 GAMEFILE = $(GAMEDIR)\$(GAME).exe
474 # Object files for makedefs.
477 MAKEOBJS = $(OBJ)\makedefs.o $(OBJ)\monst.o $(OBJ)\objects.o
480 # Object files for special levels compiler.
483 SOBJ01 = $(OBJ)\lev_yacc.o $(OBJ)\lev_lex.o $(OBJ)\lev_main.o $(OBJ)\alloc.o
484 SOBJ02 = $(OBJ)\monst.o $(OBJ)\objects.o $(OBJ)\panic.o $(OBJ)\decl.o
485 SOBJ03 = $(OBJ)\drawing.o
487 SPLEVOBJS = $(SOBJ01) $(SOBJ02) $(SOBJ03)
490 # Object files for dungeon compiler.
493 DOBJ01 = $(OBJ)\dgn_yacc.o $(OBJ)\dgn_lex.o $(OBJ)\dgn_main.o
494 DOBJ02 = $(OBJ)\panic.o $(OBJ)\alloc.o
496 DGNCOMPOBJS = $(DOBJ01) $(DOBJ02)
499 # Object files for recovery utility.
502 RECOVOBJS = $(OBJ)\recover.o
505 # Object files for dlb.
508 DLBOBJS = $(OBJ)\dlb_main.o $(OBJ)\dlb.o $(OBJ)\alloc.o $(OBJ)\panic.o
511 # Data files for dlb.
515 help hh cmdhelp history opthelp wizhelp
518 asmodeus.lev baalz.lev bigrm-1.lev \
519 bigrm-2.lev bigrm-3.lev bigrm-4.lev castle.lev fakewiz1.lev fakewiz2.lev \
520 juiblex.lev knox.lev medusa-1.lev medusa-2.lev minend-1.lev minend-2.lev \
521 minend-3.lev minefill.lev minetn-1.lev minetn-2.lev minetn-3.lev minetn-4.lev \
522 minetn-5.lev minetn-6.lev minetn-7.lev oracle.lev orcus.lev sanctum.lev \
523 tower1.lev tower2.lev tower3.lev valley.lev wizard1.lev wizard2.lev \
524 wizard3.lev astral.lev air.lev earth.lev fire.lev water.lev \
525 soko1-1.lev soko1-2.lev soko2-1.lev soko2-2.lev \
526 soko3-1.lev soko3-2.lev soko4-1.lev soko4-2.lev
529 Arc-goal.lev Arc-fila.lev Arc-filb.lev Arc-loca.lev Arc-strt.lev \
530 Bar-goal.lev Bar-fila.lev Bar-filb.lev Bar-loca.lev Bar-strt.lev \
531 Cav-goal.lev Cav-fila.lev Cav-filb.lev Cav-loca.lev Cav-strt.lev \
532 Hea-goal.lev Hea-fila.lev Hea-filb.lev Hea-loca.lev Hea-strt.lev \
533 Kni-goal.lev Kni-fila.lev Kni-filb.lev Kni-loca.lev Kni-strt.lev \
534 Mon-goal.lev Mon-fila.lev Mon-filb.lev Mon-loca.lev Mon-strt.lev \
535 Pri-goal.lev Pri-fila.lev Pri-filb.lev Pri-loca.lev Pri-strt.lev \
536 Ran-goal.lev Ran-fila.lev Ran-filb.lev Ran-loca.lev Ran-strt.lev \
537 Rog-goal.lev Rog-fila.lev Rog-filb.lev Rog-loca.lev Rog-strt.lev \
538 Sam-goal.lev Sam-fila.lev Sam-filb.lev Sam-loca.lev Sam-strt.lev \
539 Tou-goal.lev Tou-fila.lev Tou-filb.lev Tou-loca.lev Tou-strt.lev \
540 Val-goal.lev Val-fila.lev Val-filb.lev Val-loca.lev Val-strt.lev \
541 Wiz-goal.lev Wiz-fila.lev Wiz-filb.lev Wiz-loca.lev Wiz-strt.lev
543 data oracles options quest.dat rumors $(WINX11VARDAT)
545 DATDLB = $(DATHELP) dungeon $(SPEC_LEVS) $(QUEST_LEVS) $(VARDATD) \
549 # Object files for the game itself.
552 VOBJ011 = $(OBJ)\allmain.o
553 VOBJ012 = $(OBJ)\alloc.o
554 VOBJ013 = $(OBJ)\apply.o
555 VOBJ014 = $(OBJ)\artifact.o
556 VOBJ021 = $(OBJ)\attrib.o
557 VOBJ022 = $(OBJ)\ball.o
558 VOBJ023 = $(OBJ)\bones.o
559 VOBJ024 = $(OBJ)\botl.o
560 VOBJ031 = $(OBJ)\cmd.o
561 VOBJ032 = $(OBJ)\dbridge.o
562 VOBJ033 = $(OBJ)\decl.o
563 VOBJ034 = $(OBJ)\detect.o
564 VOBJ041 = $(OBJ)\dig.o
565 VOBJ042 = $(OBJ)\display.o
566 VOBJ043 = $(OBJ)\dlb.o
567 VOBJ044 = $(OBJ)\do.o
568 VOBJ051 = $(OBJ)\do_name.o
569 VOBJ052 = $(OBJ)\do_wear.o
570 VOBJ053 = $(OBJ)\dog.o
571 VOBJ054 = $(OBJ)\dogmove.o
572 VOBJ061 = $(OBJ)\dokick.o
573 VOBJ062 = $(OBJ)\dothrow.o
574 VOBJ063 = $(OBJ)\drawing.o
575 VOBJ064 = $(OBJ)\dungeon.o
576 VOBJ071 = $(OBJ)\eat.o
577 VOBJ072 = $(OBJ)\end.o
578 VOBJ073 = $(OBJ)\engrave.o
579 VOBJ074 = $(OBJ)\exper.o
580 VOBJ071 = $(OBJ)\eat.o
581 VOBJ072 = $(OBJ)\end.o
582 VOBJ073 = $(OBJ)\engrave.o
583 VOBJ074 = $(OBJ)\exper.o
584 VOBJ081 = $(OBJ)\explode.o
585 VOBJ082 = $(OBJ)\extralev.o
586 VOBJ083 = $(OBJ)\files.o
587 VOBJ084 = $(OBJ)\fountain.o
588 VOBJ091 = $(OBJ)\hack.o
589 VOBJ092 = $(OBJ)\hacklib.o
590 VOBJ093 = $(OBJ)\invent.o
591 VOBJ094 = $(OBJ)\light.o
592 VOBJ101 = $(OBJ)\lock.o
593 VOBJ102 = $(OBJ)\mail.o
594 VOBJ103 = $(OBJ)\main.o
595 VOBJ104 = $(OBJ)\makemon.o
596 VOBJ111 = $(OBJ)\mapglyph.o
597 VOBJ112 = $(OBJ)\mcastu.o
598 VOBJ113 = $(OBJ)\mhitm.o
599 VOBJ114 = $(OBJ)\mhitu.o
600 VOBJ115 = $(OBJ)\minion.o
601 VOBJ121 = $(OBJ)\mklev.o
602 VOBJ122 = $(OBJ)\mkmap.o
603 VOBJ123 = $(OBJ)\mkmaze.o
604 VOBJ124 = $(OBJ)\mkobj.o
605 VOBJ131 = $(OBJ)\mkroom.o
606 VOBJ132 = $(OBJ)\mon.o
607 VOBJ133 = $(OBJ)\mondata.o
608 VOBJ134 = $(OBJ)\monmove.o
609 VOBJ141 = $(OBJ)\monst.o
610 VOBJ142 = $(OBJ)\monstr.o
611 VOBJ143 = $(OBJ)\mplayer.o
612 VOBJ144 = $(OBJ)\mthrowu.o
613 VOBJ151 = $(OBJ)\muse.o
614 VOBJ152 = $(OBJ)\music.o
615 VOBJ153 = $(OBJ)\o_init.o
616 VOBJ154 = $(OBJ)\objects.o
617 VOBJ161 = $(OBJ)\objnam.o
618 VOBJ162 = $(OBJ)\options.o
619 VOBJ163 = $(OBJ)\os2.o
620 VOBJ164 = $(OBJ)\pager.o
621 VOBJ171 = $(OBJ)\pcsys.o
622 VOBJ172 = $(OBJ)\pickup.o
623 VOBJ173 = $(OBJ)\pline.o
624 VOBJ174 = $(OBJ)\polyself.o
625 VOBJ181 = $(OBJ)\potion.o
626 VOBJ182 = $(OBJ)\pray.o
627 VOBJ183 = $(OBJ)\priest.o
628 VOBJ184 = $(OBJ)\quest.o
629 VOBJ191 = $(OBJ)\questpgr.o
630 VOBJ192 = $(OBJ)\read.o
631 VOBJ193 = $(OBJ)\rect.o
632 VOBJ194 = $(OBJ)\region.o
633 VOBJ195 = $(OBJ)\restore.o
634 VOBJ201 = $(OBJ)\rip.o
635 VOBJ202 = $(OBJ)\rnd.o
636 VOBJ203 = $(OBJ)\rumors.o
637 VOBJ204 = $(OBJ)\save.o
638 VOBJ211 = $(OBJ)\shk.o
639 VOBJ212 = $(OBJ)\shknam.o
640 VOBJ213 = $(OBJ)\sit.o
641 VOBJ214 = $(OBJ)\sounds.o
642 VOBJ221 = $(OBJ)\sp_lev.o
643 VOBJ222 = $(OBJ)\spell.o
644 VOBJ223 = $(OBJ)\steal.o
645 VOBJ224 = $(OBJ)\teleport.o
646 VOBJ231 = $(OBJ)\timeout.o
647 VOBJ232 = $(OBJ)\topten.o
648 VOBJ233 = $(OBJ)\track.o
649 VOBJ234 = $(OBJ)\trap.o
650 VOBJ241 = $(OBJ)\tty.o
651 VOBJ242 = $(OBJ)\u_init.o
652 VOBJ243 = $(OBJ)\uhitm.o
653 VOBJ244 = $(OBJ)\unix.o
654 VOBJ251 = $(OBJ)\vault.o
655 VOBJ252 = $(OBJ)\vision.o
656 VOBJ253 = $(OBJ)\vis_tab.o
657 VOBJ254 = $(OBJ)\weapon.o
658 VOBJ261 = $(OBJ)\were.o
659 VOBJ262 = $(OBJ)\wield.o
660 VOBJ263 = $(OBJ)\windows.o
661 VOBJ264 = $(OBJ)\wizard.o
662 VOBJ271 = $(OBJ)\worm.o
663 VOBJ272 = $(OBJ)\worn.o
664 VOBJ273 = $(OBJ)\write.o
665 VOBJ274 = $(OBJ)\zap.o
666 VOBJ281 = $(OBJ)\role.o
667 VOBJ282 = $(OBJ)\steed.o
668 VOBJ283 = $(OBJ)\sys.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) $(VOBJ283)
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)\mextra.h $(INCL)\youprop.h \
716 $(INCL)\prop.h $(INCL)\pm.h
717 DECL_H = $(INCL)\decl.h $(INCL)\spell.h $(INCL)\obj.h $(YOU_H) \
718 $(INCL)\onames.h $(INCL)\color.h
719 HACK_H = $(CONFIG_H) $(INCL)\context.h $(DECL_H) $(INCL)\monsym.h $(INCL)\mkroom.h \
720 $(INCL)\objclass.h $(TRAP_H) $(INCL)\engrave.h $(INCL)\flag.h \
721 $(INCL)\rm.h $(INCL)\dungeon.h $(INCL)\hack.h $(INCL)\display.h \
722 $(INCL)\vision.h $(INCL)\wintty.h $(INCL)\wintype.h $(INCL)\align.h \
723 $(INCL)\winprocs.h $(INCL)\sys.h
726 # The default target.
729 all : makedefs dgn_comp lev_comp recover $(GAME) dat $(GUIDE)
733 # Definition file creation.
737 $(MAKEB) DD_NAME=$(GAME) DD_DESC=$(GAMEDES) DD_TARG=$@ do_def
739 $(MAKEB) DD_NAME=makedefs DD_DESC="Definitions compiler" DD_TARG=$@ do_def
741 $(MAKEB) DD_NAME=dgn_comp DD_DESC="Dungeon compiler" DD_TARG=$@ do_def
743 $(MAKEB) DD_NAME=lev_comp DD_DESC="Level compiler" DD_TARG=$@ do_def
745 $(MAKEB) DD_NAME=recover DD_DESC="Recovery utility" DD_TARG=$@ do_def
747 $(MAKEB) DD_NAME=dlb DD_DESC="Archive utility" DD_TARG=$@ do_def
750 $(ECHO) NAME $(DD_NAME) WINDOWCOMPAT> $(DD_TARG)
751 $(ECHO) DESCRIPTION '$(DD_DESC)'>> $(DD_TARG)
752 $(ECHO) PROTMODE>> $(DD_TARG)
753 $(ECHO) EXETYPE OS2>> $(DD_TARG)
759 $(GAME) : $(GAMEDIR)\$(GAME).exe
760 $(GAME).exe : $(GAMEDIR)\$(GAME).exe
761 $(GAMEDIR)\$(GAME).exe : $(TEMP)\$(GAME).rsp $(TEMP)\$(GAME).r
764 $(TEMP)\$(GAME).r : $(HOBJ) $(TEMP)\$(GAMEDEF)
765 $(ECHO) $(VOBJ011) > $@
766 $(ECHO) $(VOBJ012) >> $@
767 $(ECHO) $(VOBJ013) >> $@
768 $(ECHO) $(VOBJ014) >> $@
769 $(ECHO) $(VOBJ021) >> $@
770 $(ECHO) $(VOBJ022) >> $@
771 $(ECHO) $(VOBJ023) >> $@
772 $(ECHO) $(VOBJ024) >> $@
773 $(ECHO) $(VOBJ031) >> $@
774 $(ECHO) $(VOBJ032) >> $@
775 $(ECHO) $(VOBJ033) >> $@
776 $(ECHO) $(VOBJ034) >> $@
777 $(ECHO) $(VOBJ041) >> $@
778 $(ECHO) $(VOBJ042) >> $@
779 $(ECHO) $(VOBJ043) >> $@
780 $(ECHO) $(VOBJ044) >> $@
781 $(ECHO) $(VOBJ051) >> $@
782 $(ECHO) $(VOBJ052) >> $@
783 $(ECHO) $(VOBJ053) >> $@
784 $(ECHO) $(VOBJ054) >> $@
785 $(ECHO) $(VOBJ061) >> $@
786 $(ECHO) $(VOBJ062) >> $@
787 $(ECHO) $(VOBJ063) >> $@
788 $(ECHO) $(VOBJ064) >> $@
789 $(ECHO) $(VOBJ071) >> $@
790 $(ECHO) $(VOBJ072) >> $@
791 $(ECHO) $(VOBJ073) >> $@
792 $(ECHO) $(VOBJ074) >> $@
793 $(ECHO) $(VOBJ081) >> $@
794 $(ECHO) $(VOBJ082) >> $@
795 $(ECHO) $(VOBJ083) >> $@
796 $(ECHO) $(VOBJ084) >> $@
797 $(ECHO) $(VOBJ091) >> $@
798 $(ECHO) $(VOBJ092) >> $@
799 $(ECHO) $(VOBJ093) >> $@
800 $(ECHO) $(VOBJ094) >> $@
801 $(ECHO) $(VOBJ101) >> $@
802 $(ECHO) $(VOBJ102) >> $@
803 $(ECHO) $(VOBJ103) >> $@
804 $(ECHO) $(VOBJ104) >> $@
805 $(ECHO) $(VOBJ111) >> $@
806 $(ECHO) $(VOBJ112) >> $@
807 $(ECHO) $(VOBJ113) >> $@
808 $(ECHO) $(VOBJ114) >> $@
809 $(ECHO) $(VOBJ115) >> $@
810 $(ECHO) $(VOBJ121) >> $@
811 $(ECHO) $(VOBJ122) >> $@
812 $(ECHO) $(VOBJ123) >> $@
813 $(ECHO) $(VOBJ124) >> $@
814 $(ECHO) $(VOBJ131) >> $@
815 $(ECHO) $(VOBJ132) >> $@
816 $(ECHO) $(VOBJ133) >> $@
817 $(ECHO) $(VOBJ134) >> $@
818 $(ECHO) $(VOBJ141) >> $@
819 $(ECHO) $(VOBJ142) >> $@
820 $(ECHO) $(VOBJ143) >> $@
821 $(ECHO) $(VOBJ144) >> $@
822 $(ECHO) $(VOBJ151) >> $@
823 $(ECHO) $(VOBJ152) >> $@
824 $(ECHO) $(VOBJ153) >> $@
825 $(ECHO) $(VOBJ154) >> $@
826 $(ECHO) $(VOBJ161) >> $@
827 $(ECHO) $(VOBJ162) >> $@
828 $(ECHO) $(VOBJ163) >> $@
829 $(ECHO) $(VOBJ164) >> $@
830 $(ECHO) $(VOBJ171) >> $@
831 $(ECHO) $(VOBJ172) >> $@
832 $(ECHO) $(VOBJ173) >> $@
833 $(ECHO) $(VOBJ174) >> $@
834 $(ECHO) $(VOBJ181) >> $@
835 $(ECHO) $(VOBJ182) >> $@
836 $(ECHO) $(VOBJ183) >> $@
837 $(ECHO) $(VOBJ184) >> $@
838 $(ECHO) $(VOBJ191) >> $@
839 $(ECHO) $(VOBJ192) >> $@
840 $(ECHO) $(VOBJ193) >> $@
841 $(ECHO) $(VOBJ194) >> $@
842 $(ECHO) $(VOBJ195) >> $@
843 $(ECHO) $(VOBJ201) >> $@
844 $(ECHO) $(VOBJ202) >> $@
845 $(ECHO) $(VOBJ203) >> $@
846 $(ECHO) $(VOBJ204) >> $@
847 $(ECHO) $(VOBJ211) >> $@
848 $(ECHO) $(VOBJ212) >> $@
849 $(ECHO) $(VOBJ213) >> $@
850 $(ECHO) $(VOBJ214) >> $@
851 $(ECHO) $(VOBJ221) >> $@
852 $(ECHO) $(VOBJ222) >> $@
853 $(ECHO) $(VOBJ223) >> $@
854 $(ECHO) $(VOBJ224) >> $@
855 $(ECHO) $(VOBJ231) >> $@
856 $(ECHO) $(VOBJ232) >> $@
857 $(ECHO) $(VOBJ233) >> $@
858 $(ECHO) $(VOBJ234) >> $@
859 $(ECHO) $(VOBJ241) >> $@
860 $(ECHO) $(VOBJ242) >> $@
861 $(ECHO) $(VOBJ243) >> $@
862 $(ECHO) $(VOBJ244) >> $@
863 $(ECHO) $(VOBJ251) >> $@
864 $(ECHO) $(VOBJ252) >> $@
865 $(ECHO) $(VOBJ253) >> $@
866 $(ECHO) $(VOBJ254) >> $@
867 $(ECHO) $(VOBJ261) >> $@
868 $(ECHO) $(VOBJ262) >> $@
869 $(ECHO) $(VOBJ263) >> $@
870 $(ECHO) $(VOBJ264) >> $@
871 $(ECHO) $(VOBJ271) >> $@
872 $(ECHO) $(VOBJ272) >> $@
873 $(ECHO) $(VOBJ273) >> $@
874 $(ECHO) $(VOBJ274) >> $@
875 $(ECHO) $(VOBJ281) >> $@
876 $(ECHO) $(VOBJ282) >> $@
877 $(ECHO) $(VOBJ283) >> $@
878 $(ECHO) $(WINOBJ1) >> $@
879 $(ECHO) $(WINOBJ2) >> $@
880 $(ECHO) $(WINOBJ3) >> $@
881 $(ECHO) $(WINOBJ4) >> $@
882 $(ECHO) $(HHOBJ) >> $@
883 $(ECHO) $(RANDOM) >> $@
884 .IF $(with_x11) == yes
885 $(X11ECHO) $(WINX11OBJ01) >> $@
886 $(X11ECHO) $(WINX11OBJ02) >> $@
887 $(X11ECHO) $(WINX11OBJ03) >> $@
888 $(X11ECHO) $(WINX11OBJ04) >> $@
889 $(X11ECHO) $(WINX11OBJ05) >> $@
890 $(X11ECHO) $(WINX11OBJ06) >> $@
891 $(X11ECHO) $(WINX11OBJ07) >> $@
892 $(X11ECHO) $(WINX11OBJ08) >> $@
893 $(X11ECHO) $(WINX11OBJ09) >> $@
894 $(X11ECHO) $(WINX11OBJ10) >> $@
895 $(X11ECHO) $(WINX11OBJ11) >> $@
900 $(TEMP)\$(GAME).rsp : $(HOBJ) $(TEMP)\$(GAMEDEF)
901 $(ECHO) $(SYSOBJ) $(VOBJ01) +> $@
902 $(ECHO) $(VOBJ02) +>> $@
903 $(ECHO) $(VOBJ03) +>> $@
904 $(ECHO) $(VOBJ04) +>> $@
905 $(ECHO) $(VOBJ05) +>> $@
906 $(ECHO) $(VOBJ06) +>> $@
907 $(ECHO) $(VOBJ07) +>> $@
908 $(ECHO) $(VOBJ08) +>> $@
909 $(ECHO) $(VOBJ09) +>> $@
910 $(ECHO) $(VOBJ10) +>> $@
911 $(ECHO) $(VOBJ11) +>> $@
912 $(ECHO) $(VOBJ12) +>> $@
913 $(ECHO) $(VOBJ13) +>> $@
914 $(ECHO) $(VOBJ14) +>> $@
915 $(ECHO) $(VOBJ15) +>> $@
916 $(ECHO) $(VOBJ16) +>> $@
917 $(ECHO) $(VOBJ17) +>> $@
918 $(ECHO) $(VOBJ18) +>> $@
919 $(ECHO) $(VOBJ19) +>> $@
920 $(ECHO) $(VOBJ20) +>> $@
921 $(ECHO) $(VOBJ21) +>> $@
922 $(ECHO) $(VOBJ22) +>> $@
923 $(ECHO) $(VOBJ23) +>> $@
924 $(ECHO) $(VOBJ24) +>> $@
925 $(ECHO) $(VOBJ25) +>> $@
926 $(ECHO) $(VOBJ26) +>> $@
927 $(ECHO) $(VOBJ27) +>> $@
928 $(ECHO) $(VOBJ28) +>> $@
929 $(ECHO) $(VOBJ29) +>> $@
930 $(ECHO) $(VOBJ30) +>> $@
931 $(ECHO) $(HHOBJ)>> $@
932 $(ECHO) $(GAMEDIR)\$(GAME).exe>> $@
933 $(ECHO) $(TEMP)\$(GAME)>> $@
934 $(ECHO) $(PLIBS) $(TERMLIB)>> $@
935 $(ECHO) $(TEMP)\$(GAMEDEF) $(LFLAGS);>> $@
938 # Targets for makedefs.
941 makedefs : $(TEMP)\makedefs.exe
942 $(TEMP)\makedefs.exe : $(TEMP)\makedefs.rsp
945 $(TEMP)\makedefs.rsp : $(MAKEOBJS) $(TEMP)\$(MKDFDEF)
946 $(ECHO) $(SYSOBJ) $(MAKEOBJS)> $@
947 $(ECHO) $(TEMP)\makedefs.exe>> $@
949 $(ECHO) $(RLIBS)>> $@
950 $(ECHO) $(MKDFMD) $(LFLAGS);>> $@
952 $(OBJ)\makedefs.o : $(UTIL)\$(CB) $(CONFIG_H) $(INCL)\permonst.h $(INCL)\objclass.h \
953 $(INCL)\monsym.h $(INCL)\artilist.h $(INCL)\qtext.h
957 # Targets for the special levels compiler.
960 lev_comp : $(TEMP)\lev_comp.exe
961 $(TEMP)\lev_comp.exe : $(TEMP)\lev_comp.rsp
964 $(TEMP)\lev_comp.rsp : $(SPLEVOBJS) $(TEMP)\$(LEVCDEF)
965 $(ECHO) $(SYSOBJ) $(SOBJ01) +> $@
966 $(ECHO) $(SOBJ02) +>> $@
967 $(ECHO) $(SOBJ03)>> $@
968 $(ECHO) $(TEMP)\lev_comp.exe>> $@
970 $(ECHO) $(RLIBS)>> $@
971 $(ECHO) $(LEVCMD) $(LFLAGS);>> $@
973 $(OBJ)\lev_yacc.o : $(UTIL)\$(CB) $(HACK_H) $(INCL)\sp_lev.h
975 $(OBJ)\lev_lex.o : $(UTIL)\$(CB) $(HACK_H) $(INCL)\sp_lev.h $(INCL)\lev_comp.h
977 $(OBJ)\lev_main.o : $(UTIL)\$(CB) $(HACK_H) $(INCL)\sp_lev.h $(INCL)\tcap.h
980 $(UTIL)\lev_yacc.c : $(UTIL)\lev_comp.y
981 $(MAKEB) YY=lev do_yacc
983 $(UTIL)\lev_lex.c : $(UTIL)\lev_comp.l
984 $(MAKEB) YY=lev do_lex
987 # Targets for the dungeon compiler.
990 dgn_comp : $(TEMP)\dgn_comp.exe
991 $(TEMP)\dgn_comp.exe : $(TEMP)\dgn_comp.rsp
994 $(TEMP)\dgn_comp.rsp : $(DGNCOMPOBJS) $(TEMP)\$(DGNCDEF)
995 $(ECHO) $(SYSOBJ) $(DOBJ01) +> $@
996 $(ECHO) $(DOBJ02)>> $@
997 $(ECHO) $(TEMP)\dgn_comp.exe>> $@
999 $(ECHO) $(RLIBS)>> $@
1000 $(ECHO) $(DGNCMD) $(LFLAGS);>> $@
1002 $(OBJ)\dgn_yacc.o : $(UTIL)\$(CB) $(CONFIG_H) $(INCL)\date.h $(INCL)\dgn_file.h
1004 $(OBJ)\dgn_lex.o : $(UTIL)\$(CB) $(CONFIG_H) $(INCL)\dgn_comp.h $(INCL)\dgn_file.h
1006 $(OBJ)\dgn_main.o : $(UTIL)\$(CB) $(CONFIG_H)
1009 $(UTIL)\dgn_yacc.c : $(UTIL)\dgn_comp.y
1010 $(MAKEB) YY=dgn do_yacc
1012 $(UTIL)\dgn_lex.c : $(UTIL)\dgn_comp.l
1013 $(MAKEB) YY=dgn do_lex
1016 # For both lev_comp and dgn_comp.
1019 $(OBJ)\panic.o : $(UTIL)\$(CB) $(CONFIG_H)
1023 # Yacc and Lex targets.
1027 $(CP) $(SSYS)\$(YY)_yacc.c $(UTIL)
1028 $(CP) $(SSYS)\$(YY)_comp.h $(INCL)
1029 $(MAKEB) TT=$(UTIL)\$(YY)_yacc.c do_touch
1030 $(MAKEB) TT=$(INCL)\$(YY)_comp.h do_touch
1033 $(ECHO) $(YY)_comp.y has changed. To update $(YY)_yacc.c and $(YY)_comp.h run $(YACC).
1036 $(YACC) -d $(UTIL)\$(YY)_comp.y
1037 $(CP) $(YTABC) $(UTIL)\$(YY)_yacc.c
1038 $(CP) $(YTABH) $(INCL)\$(YY)_comp.h
1043 $(CP) $(SSYS)\$(YY)_lex.c $(UTIL)
1044 $(MAKEB) TT=$(UTIL)\$(YY)_lex.c do_touch
1047 $(ECHO) $(YY)_comp.l has changed. To update $(YY)_lex.c run $(LEX).
1050 $(LEX) $(UTIL)\$(YY)_comp.l
1051 $(CP) $(LEXYYC) $(UTIL)\$(YY)_lex.c
1055 # Why must this be so kludgy?
1062 $(BEG) $(CAT) $(TT) > $(TEMP)\foo.bar $(SEP) $(CP) $(TEMP)\foo.bar $(TT) $(SEP) $(RM) $(TEMP)\foo.bar $(END)
1065 # Targets for the recovery utility.
1068 recover : $(GAMEDIR)\recover.exe
1069 $(GAMEDIR)\recover.exe : $(TEMP)\recover.rsp
1072 $(TEMP)\recover.rsp : $(RECOVOBJS) $(TEMP)\$(RCVRDEF)
1073 $(ECHO) $(SYSOBJ) $(RECOVOBJS)> $@
1074 $(ECHO) $(GAMEDIR)\recover.exe>> $@
1076 $(ECHO) $(PLIBS)>> $@
1077 $(ECHO) $(TEMP)\$(RCVRDEF) $(LFLAGS);>> $@
1079 $(OBJ)\recover.o : $(UTIL)\$(CB) $(CONFIG_H)
1083 # Targets for the dlb.
1086 dlb : $(TEMP)\dlb.exe
1087 $(TEMP)\dlb.exe : $(TEMP)\dlb.rsp
1090 $(TEMP)\dlb.rsp : $(DLBOBJS) $(TEMP)\$(DLBDEF)
1091 $(ECHO) $(SYSOBJ) $(DLBOBJS)> $@
1092 $(ECHO) $(TEMP)\dlb.exe>> $@
1094 $(ECHO) $(PLIBS)>> $@
1095 $(ECHO) $(TEMP)\$(DLBDEF) $(LFLAGS);>> $@
1097 $(OBJ)\dlb_main.o : $(UTIL)\$(CB) $(CONFIG_H) $(INCL)\dlb.h
1100 $(GAMEDIR)\anhdat : $(WINX11VARDAT)
1104 $(TEMP)\dlb cCf $(GAMEDIR) $(GAMEDIR)\anhdat $(DATDLB)
1105 -$(RM) $(GAMEDIR)\help
1106 -$(RM) $(GAMEDIR)\hh
1107 -$(RM) $(GAMEDIR)\cmdhelp
1108 -$(RM) $(GAMEDIR)\history
1109 -$(RM) $(GAMEDIR)\opthelp
1110 -$(RM) $(GAMEDIR)\wizhelp
1111 -$(RM) $(GAMEDIR)\asmodeus.lev
1112 -$(RM) $(GAMEDIR)\baalz.lev
1113 -$(RM) $(GAMEDIR)\bigrm-?.lev
1114 -$(RM) $(GAMEDIR)\castle.lev
1115 -$(RM) $(GAMEDIR)\fakewiz?.lev
1116 -$(RM) $(GAMEDIR)\juiblex.lev
1117 -$(RM) $(GAMEDIR)\knox.lev
1118 -$(RM) $(GAMEDIR)\medusa-?.lev
1119 -$(RM) $(GAMEDIR)\minend-?.lev
1120 -$(RM) $(GAMEDIR)\minefill.lev
1121 -$(RM) $(GAMEDIR)\minetn-?.lev
1122 -$(RM) $(GAMEDIR)\oracle.lev
1123 -$(RM) $(GAMEDIR)\orcus.lev
1124 -$(RM) $(GAMEDIR)\sanctum.lev
1125 -$(RM) $(GAMEDIR)\tower?.lev
1126 -$(RM) $(GAMEDIR)\valley.lev
1127 -$(RM) $(GAMEDIR)\wizard?.lev
1128 -$(RM) $(GAMEDIR)\astral.lev
1129 -$(RM) $(GAMEDIR)\air.lev
1130 -$(RM) $(GAMEDIR)\earth.lev
1131 -$(RM) $(GAMEDIR)\fire.lev
1132 -$(RM) $(GAMEDIR)\water.lev
1133 -$(RM) $(GAMEDIR)\???-goal.lev
1134 -$(RM) $(GAMEDIR)\???-fil?.lev
1135 -$(RM) $(GAMEDIR)\???-loca.lev
1136 -$(RM) $(GAMEDIR)\???-strt.lev
1137 -$(RM) $(GAMEDIR)\data
1138 -$(RM) $(GAMEDIR)\oracles
1139 -$(RM) $(GAMEDIR)\options
1140 -$(RM) $(GAMEDIR)\quest.dat
1141 -$(RM) $(GAMEDIR)\rumors
1142 -$(RM) $(GAMEDIR)\dungeon
1143 -$(RM) $(GAMEDIR)\soko?-?.lev
1144 # -$(RM) $(GAMEDIR)\pet_mark.xbm
1145 # -$(RM) $(GAMEDIR)\rip.xpm
1148 $(ECHO) DLB not requested.
1151 # The following files depend on makedefs to be created.
1153 # date.h should be remade every time any of the source or include
1154 # files is modified.
1157 $(INCL)\date.h : $(VOBJ) $(TEMP)\makedefs.exe
1159 $(CP) $(DAT)\options $(GAMEDIR)
1160 $(RM) $(DAT)\options
1162 $(INCL)\onames.h : $(TEMP)\makedefs.exe
1165 $(INCL)\pm.h : $(TEMP)\makedefs.exe
1168 monstr.c : $(TEMP)\makedefs.exe
1171 $(OBJ)\monstr.o : $(CB)
1174 $(GAMEDIR)\data : $(DAT)\$(DATABASE) $(TEMP)\makedefs.exe
1176 $(CP) $(DAT)\data $(GAMEDIR)
1179 $(GAMEDIR)\rumors : $(DAT)\rumors.tru $(DAT)\rumors.fal $(TEMP)\makedefs.exe
1181 $(CP) $(DAT)\rumors $(GAMEDIR)
1184 $(GAMEDIR)\oracles : $(DAT)\oracles.txt $(TEMP)\makedefs.exe
1186 $(CP) $(DAT)\oracles $(GAMEDIR)
1187 $(RM) $(DAT)\oracles
1189 $(GAMEDIR)\quest.dat : $(DAT)\quest.txt $(TEMP)\makedefs.exe
1191 $(CP) $(DAT)\quest.dat $(GAMEDIR)
1192 $(RM) $(DAT)\quest.dat
1195 # Vision tables for algorithm D.
1198 vis_tab.c : $(INCL)\vis_tab.h
1199 $(INCL)\vis_tab.h : $(TEMP)\makedefs.exe
1202 $(OBJ)\vis_tab.o : $(CB)
1206 # The following programs vary depending on what OS you are using.
1209 $(OBJ)\main.o : $(SSYS)\pc$(CB) $(HACK_H) $(INCL)\dlb.h
1211 $(OBJ)\tty.o : $(SSYS)\pc$(CB) $(HACK_H) $(INCL)\func_tab.h
1213 $(OBJ)\unix.o : $(SSYS)\pc$(CB) $(HACK_H)
1217 # Other system specific modules.
1220 $(OBJ)\os2.o : $(SYS)\$(CB) $(HACK_H) $(INCL)\tcap.h $(INCL)\def_os2.h
1222 $(OBJ)\pcsys.o : $(SSYS)\$(CB) $(HACK_H)
1226 # Berkeley random(3) routines.
1229 $(OBJ)\random.o : $(SSYS)\$(CB)
1236 $(OBJ)\getline.o : $(WIN)\$(CB) $(HACK_H) $(INCL)\func_tab.h
1238 $(OBJ)\termcap.o : $(WIN)\$(CB) $(HACK_H) $(INCL)\tcap.h
1240 $(OBJ)\topl.o : $(WIN)\$(CB) $(HACK_H) $(INCL)\tcap.h
1242 $(OBJ)\wintty.o : $(WIN)\$(CB) $(HACK_H) $(INCL)\tcap.h $(INCL)\date.h
1246 # Secondary targets.
1249 dat : spec_lev help_fil $(GAMEDIR)\dungeon $(GAMEDIR)\data $(GAMEDIR)\rumors \
1250 $(GAMEDIR)\oracles $(GAMEDIR)\quest.dat $(GAMEDIR)\$(GAME).ico \
1251 $(GAMEDIR)\$(GAME).cmd $(GAMEDIR)\anethack.cnf $(GAMEDIR)\anhdat \
1254 help_fil : $(GAMEDIR)\cmdhelp $(GAMEDIR)\help $(GAMEDIR)\hh $(GAMEDIR)\history \
1255 $(GAMEDIR)\license $(GAMEDIR)\opthelp $(GAMEDIR)\wizhelp
1257 $(GAMEDIR)\cmdhelp : $(DAT)\cmdhelp
1258 $(CP) $(DAT)\cmdhelp $(GAMEDIR)
1259 $(GAMEDIR)\help : $(DAT)\help
1260 $(CP) $(DAT)\help $(GAMEDIR)
1261 $(GAMEDIR)\hh : $(DAT)\hh
1262 $(CP) $(DAT)\hh $(GAMEDIR)
1263 $(GAMEDIR)\history : $(DAT)\history
1264 $(CP) $(DAT)\history $(GAMEDIR)
1265 $(GAMEDIR)\license : $(DAT)\license
1266 $(CP) $(DAT)\license $(GAMEDIR)
1267 $(GAMEDIR)\opthelp : $(DAT)\opthelp
1268 $(CP) $(DAT)\opthelp $(GAMEDIR)
1269 $(GAMEDIR)\wizhelp : $(DAT)\wizhelp
1270 $(CP) $(DAT)\wizhelp $(GAMEDIR)
1272 $(GAMEDIR)\dungeon : $(DAT)\dungeon.def $(TEMP)\makedefs.exe $(TEMP)\dgn_comp.exe
1274 $(TEMP)\dgn_comp $(DAT)\dungeon.pdf
1275 $(CP) $(DAT)\dungeon $(GAMEDIR)
1276 $(RM) $(DAT)\dungeon.pdf
1277 $(RM) $(DAT)\dungeon
1279 AFILES = $(GAMEDIR)\Arc-goal.lev
1280 BFILES = $(GAMEDIR)\Bar-goal.lev
1281 CFILES = $(GAMEDIR)\Cav-goal.lev
1282 HFILES = $(GAMEDIR)\Hea-goal.lev
1283 KFILES = $(GAMEDIR)\Kni-goal.lev
1284 MFILES = $(GAMEDIR)\Mon-goal.lev
1285 PFILES = $(GAMEDIR)\Pri-goal.lev
1286 RANFILES = $(GAMEDIR)\Ran-goal.lev
1287 RFILES = $(GAMEDIR)\Rog-goal.lev
1288 SFILES = $(GAMEDIR)\Sam-goal.lev
1289 TFILES = $(GAMEDIR)\Tou-goal.lev
1290 VFILES = $(GAMEDIR)\Val-goal.lev
1291 WFILES = $(GAMEDIR)\Wiz-goal.lev
1293 XFILES = $(AFILES) $(BFILES) $(CFILES) $(HFILES) $(KFILES) $(MFILES) \
1294 $(PFILES) $(RANFILES) $(RFILES) $(SFILES) $(TFILES) $(VFILES) $(WFILES)
1296 spec_lev : $(GAMEDIR)\astral.lev $(GAMEDIR)\bigrm-1.lev $(GAMEDIR)\castle.lev \
1297 $(GAMEDIR)\knox.lev $(GAMEDIR)\medusa-1.lev $(GAMEDIR)\minefill.lev \
1298 $(GAMEDIR)\oracle.lev $(GAMEDIR)\tower1.lev $(GAMEDIR)\valley.lev \
1299 $(GAMEDIR)\wizard1.lev $(GAMEDIR)\soko1-1.lev $(XFILES)
1301 # Single special level files
1303 $(GAMEDIR)\castle.lev : $(DAT)\castle.des $(TEMP)\lev_comp.exe
1304 $(MAKEB) LF=castle do_slev
1305 $(GAMEDIR)\knox.lev : $(DAT)\knox.des $(TEMP)\lev_comp.exe
1306 $(MAKEB) LF=knox do_slev
1307 $(GAMEDIR)\oracle.lev : $(DAT)\oracle.des $(TEMP)\lev_comp.exe
1308 $(MAKEB) LF=oracle do_slev
1311 $(TEMP)\lev_comp $(DAT)\$(LF).des
1312 $(CP) $(LF).lev $(GAMEDIR)
1315 # Multiple special level files
1317 $(GAMEDIR)\astral.lev : $(DAT)\endgame.des $(TEMP)\lev_comp.exe
1318 $(TEMP)\lev_comp $(DAT)\endgame.des
1319 $(CP) air.lev $(GAMEDIR)
1320 $(CP) astral.lev $(GAMEDIR)
1321 $(CP) earth.lev $(GAMEDIR)
1322 $(CP) fire.lev $(GAMEDIR)
1323 $(CP) water.lev $(GAMEDIR)
1330 $(GAMEDIR)\bigrm-1.lev : $(DAT)\bigroom.des $(TEMP)\lev_comp.exe
1331 $(TEMP)\lev_comp $(DAT)\bigroom.des
1332 $(CP) bigrm-?.lev $(GAMEDIR)
1335 $(GAMEDIR)\medusa-1.lev : $(DAT)\medusa.des $(TEMP)\lev_comp.exe
1336 $(TEMP)\lev_comp $(DAT)\medusa.des
1337 $(CP) medusa-?.lev $(GAMEDIR)
1340 $(GAMEDIR)\minefill.lev : $(DAT)\mines.des $(TEMP)\lev_comp.exe
1341 $(TEMP)\lev_comp $(DAT)\mines.des
1342 $(CP) minend-?.lev $(GAMEDIR)
1343 $(CP) minefill.lev $(GAMEDIR)
1344 $(CP) minetn-?.lev $(GAMEDIR)
1349 $(GAMEDIR)\tower1.lev : $(DAT)\tower.des $(TEMP)\lev_comp.exe
1350 $(TEMP)\lev_comp $(DAT)\tower.des
1351 $(CP) tower?.lev $(GAMEDIR)
1354 $(GAMEDIR)\valley.lev : $(DAT)\gehennom.des $(TEMP)\lev_comp.exe
1355 $(TEMP)\lev_comp $(DAT)\gehennom.des
1356 $(CP) asmodeus.lev $(GAMEDIR)
1357 $(CP) baalz.lev $(GAMEDIR)
1358 $(CP) juiblex.lev $(GAMEDIR)
1359 $(CP) orcus.lev $(GAMEDIR)
1360 $(CP) sanctum.lev $(GAMEDIR)
1361 $(CP) valley.lev $(GAMEDIR)
1369 $(GAMEDIR)\wizard1.lev : $(DAT)\yendor.des $(TEMP)\lev_comp.exe
1370 $(TEMP)\lev_comp $(DAT)\yendor.des
1371 $(CP) wizard?.lev $(GAMEDIR)
1372 $(CP) fakewiz?.lev $(GAMEDIR)
1376 $(GAMEDIR)\soko1-1.lev : $(DAT)\sokoban.des $(TEMP)\lev_comp.exe
1377 $(TEMP)\lev_comp $(DAT)\sokoban.des
1378 $(CP) soko?-?.lev $(GAMEDIR)
1384 $(AFILES) : $(DAT)\Arch.des $(TEMP)\lev_comp.exe
1385 $(MAKEB) QQ=Arc QF=Arch do_quest
1386 $(BFILES) : $(DAT)\Barb.des $(TEMP)\lev_comp.exe
1387 $(MAKEB) QQ=Bar QF=Barb do_quest
1388 $(CFILES) : $(DAT)\Caveman.des $(TEMP)\lev_comp.exe
1389 $(MAKEB) QQ=Cav QF=Caveman do_quest
1390 $(HFILES) : $(DAT)\Healer.des $(TEMP)\lev_comp.exe
1391 $(MAKEB) QQ=Hea QF=Healer do_quest
1392 $(KFILES) : $(DAT)\Knight.des $(TEMP)\lev_comp.exe
1393 $(MAKEB) QQ=Kni QF=Knight do_quest
1394 $(MFILES) : $(DAT)\Monk.des $(TEMP)\lev_comp.exe
1395 $(MAKEB) QQ=Mon QF=Monk do_quest
1396 $(PFILES) : $(DAT)\Priest.des $(TEMP)\lev_comp.exe
1397 $(MAKEB) QQ=Pri QF=Priest do_quest
1398 $(RANFILES) : $(DAT)\Ranger.des $(TEMP)\lev_comp.exe
1399 $(MAKEB) QQ=Ran QF=Ranger do_quest
1400 $(RFILES) : $(DAT)\Rogue.des $(TEMP)\lev_comp.exe
1401 $(MAKEB) QQ=Rog QF=Rogue do_quest
1402 $(SFILES) : $(DAT)\Samurai.des $(TEMP)\lev_comp.exe
1403 $(MAKEB) QQ=Sam QF=Samurai do_quest
1404 $(TFILES) : $(DAT)\Tourist.des $(TEMP)\lev_comp.exe
1405 $(MAKEB) QQ=Tou QF=Tourist do_quest
1406 $(VFILES) : $(DAT)\Valkyrie.des $(TEMP)\lev_comp.exe
1407 $(MAKEB) QQ=Val QF=Valkyrie do_quest
1408 $(WFILES) : $(DAT)\Wizard.des $(TEMP)\lev_comp.exe
1409 $(MAKEB) QQ=Wiz QF=Wizard do_quest
1412 $(TEMP)\lev_comp $(DAT)\$(QF).des
1413 $(CP) $(QQ)-fil?.lev $(GAMEDIR)
1414 $(CP) $(QQ)-goal.lev $(GAMEDIR)
1415 $(CP) $(QQ)-loca.lev $(GAMEDIR)
1416 $(CP) $(QQ)-strt.lev $(GAMEDIR)
1417 $(RM) $(QQ)-fil?.lev
1418 $(RM) $(QQ)-goal.lev
1419 $(RM) $(QQ)-loca.lev
1420 $(RM) $(QQ)-strt.lev
1423 # aNetHack icon for Presentation Manager.
1426 $(GAMEDIR)\$(GAME).ico : $(SYS)\nhpmico.uu
1430 $(ECHO) Icon file not extracted. Extract manually if required.
1433 $(UUDECODE) $(SYS)\nhpmico.uu
1434 $(CP) anethack.ico $(GAMEDIR)\$(GAME).ico
1438 # aNetHack command file to use with Presentation Manager.
1441 $(GAMEDIR)\$(GAME).cmd :
1442 $(MAKEB) CMDF=$@ do_cmd
1445 $(ECHO) Command file not created. Create manually if required.
1448 $(ECHO) @echo off> $(CMDF)
1449 $(ECHO) REM Command file for starting anethack.exe from PM/WPS Desktop>> $(CMDF)
1450 $(ECHO) $(GAME).exe $(P)1 $(P)2 $(P)3 $(P)4 $(P)5 $(P)6 $(P)7>> $(CMDF)
1451 $(ECHO) pause>> $(CMDF)
1454 # aNetHack configuration file. Will not overwrite an existing file.
1457 $(GAMEDIR)\anethack.cnf :
1458 $(CP) $(SSYS)\anethack.cnf $(GAMEDIR)
1463 # LaTeX needs to be run twice.
1464 # The second pass uses the $(GUIDEBOO).aux file made by the first.
1467 $(TEMP)\$(GUIDEBOO).dvi : $(DOC)\$(GUIDEBOO).tex
1468 $(LATEX) $(DOC)\$(GUIDEBOO).tex
1469 $(LATEX) $(DOC)\$(GUIDEBOO).tex
1470 $(CP) $(GUIDEBOO).dvi $(TEMP)
1471 $(CP) $(GUIDEBOO).aux $(TEMP)
1472 $(CP) $(GUIDEBOO).log $(TEMP)
1473 $(RM) $(GUIDEBOO).dvi
1474 $(RM) $(GUIDEBOO).aux
1475 $(RM) $(GUIDEBOO).log
1485 -$(RM) $(INCL)\date.h
1486 -$(RM) $(INCL)\onames.h
1488 -$(RM) $(INCL)\vis_tab.h
1493 -$(RM) $(TEMP)\makedefs.exe
1494 -$(RM) $(TEMP)\lev_comp.exe
1495 -$(RM) $(TEMP)\dgn_comp.exe
1496 -$(RM) $(TEMP)\*.rsp
1497 -$(RM) $(TEMP)\*.def
1498 -$(RM) $(TEMP)\*.map
1499 -$(RM) $(TEMP)\$(GUIDEBOO).dvi
1500 -$(RM) $(TEMP)\$(GUIDEBOO).aux
1501 -$(RM) $(TEMP)\$(GUIDEBOO).log
1506 # Default rules are sooo difficult for so many make
1507 # programs that we do this the most straightforward way.
1510 $(OBJ)\allmain.o : $(SRC)\$(CB) $(HACK_H)
1512 $(OBJ)\alloc.o : $(SRC)\$(CB) $(CONFIG_H)
1514 $(OBJ)\apply.o : $(SRC)\$(CB) $(HACK_H)
1516 $(OBJ)\artifact.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\artifact.h $(INCL)\artilist.h
1518 $(OBJ)\attrib.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\artifact.h
1520 $(OBJ)\ball.o : $(SRC)\$(CB) $(HACK_H)
1522 $(OBJ)\bones.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\lev.h
1524 $(OBJ)\botl.o : $(SRC)\$(CB) $(HACK_H)
1526 $(OBJ)\cmd.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\func_tab.h
1528 $(OBJ)\dbridge.o : $(SRC)\$(CB) $(HACK_H)
1530 $(OBJ)\decl.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\quest.h
1532 $(OBJ)\detect.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\artifact.h
1534 $(OBJ)\dig.o : $(SRC)\$(CB) $(HACK_H)
1536 $(OBJ)\display.o : $(SRC)\$(CB) $(HACK_H)
1538 $(OBJ)\dlb.o : $(SRC)\$(CB) $(CONFIG_H) $(INCL)\dlb.h
1540 $(OBJ)\do.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\lev.h
1542 $(OBJ)\do_name.o : $(SRC)\$(CB) $(HACK_H)
1544 $(OBJ)\do_wear.o : $(SRC)\$(CB) $(HACK_H)
1546 $(OBJ)\dog.o : $(SRC)\$(CB) $(HACK_H)
1548 $(OBJ)\dogmove.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\mfndpos.h
1550 $(OBJ)\dokick.o : $(SRC)\$(CB) $(HACK_H)
1552 $(OBJ)\dothrow.o : $(SRC)\$(CB) $(HACK_H)
1554 $(OBJ)\drawing.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\tcap.h
1556 $(OBJ)\dungeon.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\dgn_file.h
1558 $(OBJ)\eat.o : $(SRC)\$(CB) $(HACK_H)
1560 $(OBJ)\end.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\lev.h
1562 $(OBJ)\engrave.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\lev.h
1564 $(OBJ)\exper.o : $(SRC)\$(CB) $(HACK_H)
1566 $(OBJ)\explode.o : $(SRC)\$(CB) $(HACK_H)
1568 $(OBJ)\extralev.o : $(SRC)\$(CB) $(HACK_H)
1570 $(OBJ)\files.o : $(SRC)\$(CB) $(HACK_H)
1572 $(OBJ)\fountain.o : $(SRC)\$(CB) $(HACK_H)
1574 $(OBJ)\hack.o : $(SRC)\$(CB) $(HACK_H)
1576 $(OBJ)\hacklib.o : $(SRC)\$(CB) $(HACK_H)
1578 $(OBJ)\invent.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\artifact.h
1580 $(OBJ)\light.o : $(SRC)\$(CB) $(HACK_H)
1582 $(OBJ)\lock.o : $(SRC)\$(CB) $(HACK_H)
1584 $(OBJ)\mail.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\mail.h
1586 $(OBJ)\makemon.o : $(SRC)\$(CB) $(HACK_H)
1588 $(OBJ)\mapglyph.o : $(SRC)\$(CB) $(HACK_H)
1590 $(OBJ)\mcastu.o : $(SRC)\$(CB) $(HACK_H)
1592 $(OBJ)\mhitm.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\artifact.h
1594 $(OBJ)\mhitu.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\artifact.h
1596 $(OBJ)\minion.o : $(SRC)\$(CB) $(HACK_H)
1598 $(OBJ)\mklev.o : $(SRC)\$(CB) $(HACK_H)
1600 $(OBJ)\mkmap.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\sp_lev.h
1602 $(OBJ)\mkmaze.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\sp_lev.h
1604 $(OBJ)\mkobj.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\artifact.h
1606 $(OBJ)\mkroom.o : $(SRC)\$(CB) $(HACK_H)
1608 $(OBJ)\mon.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\mfndpos.h
1610 $(OBJ)\mondata.o : $(SRC)\$(CB) $(HACK_H)
1612 $(OBJ)\monmove.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\mfndpos.h $(INCL)\artifact.h
1614 $(OBJ)\monst.o : $(SRC)\$(CB) $(CONFIG_H) $(PERMONST_H) $(INCL)\monsym.h $(INCL)\color.h
1616 $(OBJ)\mplayer.o : $(SRC)\$(CB) $(HACK_H)
1618 $(OBJ)\mthrowu.o : $(SRC)\$(CB) $(HACK_H)
1620 $(OBJ)\muse.o : $(SRC)\$(CB) $(HACK_H)
1622 $(OBJ)\music.o : $(SRC)\$(CB) $(HACK_H)
1624 $(OBJ)\o_init.o : $(SRC)\$(CB) $(HACK_H)
1626 $(OBJ)\objects.o : $(SRC)\$(CB) $(CONFIG_H) $(INCL)\obj.h $(INCL)\objclass.h $(INCL)\prop.h $(INCL)\color.h
1628 $(OBJ)\objnam.o : $(SRC)\$(CB) $(HACK_H)
1630 $(OBJ)\options.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\tcap.h
1632 $(OBJ)\pager.o : $(SRC)\$(CB) $(HACK_H)
1634 $(OBJ)\pickup.o : $(SRC)\$(CB) $(HACK_H)
1636 $(OBJ)\pline.o : $(SRC)\$(CB) $(HACK_H)
1638 $(OBJ)\polyself.o : $(SRC)\$(CB) $(HACK_H)
1640 $(OBJ)\potion.o : $(SRC)\$(CB) $(HACK_H)
1642 $(OBJ)\pray.o : $(SRC)\$(CB) $(HACK_H)
1644 $(OBJ)\priest.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\mfndpos.h
1646 $(OBJ)\quest.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\quest.h $(INCL)\qtext.h
1648 $(OBJ)\questpgr.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\qtext.h
1650 $(OBJ)\read.o : $(SRC)\$(CB) $(HACK_H)
1652 $(OBJ)\region.o : $(SRC)\$(CB) $(HACK_H)
1654 $(OBJ)\rect.o : $(SRC)\$(CB) $(HACK_H)
1656 $(OBJ)\restore.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\lev.h $(INCL)\tcap.h $(INCL)\quest.h
1658 $(OBJ)\rip.o : $(SRC)\$(CB) $(HACK_H)
1660 $(OBJ)\rnd.o : $(SRC)\$(CB) $(HACK_H)
1662 $(OBJ)\role.o : $(SRC)\$(CB) $(HACK_H)
1664 $(OBJ)\rumors.o : $(SRC)\$(CB) $(HACK_H)
1666 $(OBJ)\save.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\lev.h $(INCL)\quest.h
1668 $(OBJ)\shk.o : $(SRC)\$(CB) $(HACK_H)
1670 $(OBJ)\shknam.o : $(SRC)\$(CB) $(HACK_H)
1672 $(OBJ)\sit.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\artifact.h
1674 $(OBJ)\sounds.o : $(SRC)\$(CB) $(HACK_H)
1676 $(OBJ)\sp_lev.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\sp_lev.h $(INCL)\rect.h
1678 $(OBJ)\spell.o : $(SRC)\$(CB) $(HACK_H)
1680 $(OBJ)\steal.o : $(SRC)\$(CB) $(HACK_H)
1682 $(OBJ)\steed.o : $(SRC)\$(CB) $(HACK_H)
1684 $(OBJ)\sys.o : $(SRC)\$(CB) $(HACK_H)
1686 $(OBJ)\teleport.o : $(SRC)\$(CB) $(HACK_H)
1688 $(OBJ)\timeout.o : $(SRC)\$(CB) $(HACK_H)
1690 $(OBJ)\topten.o : $(SRC)\$(CB) $(HACK_H)
1692 $(OBJ)\track.o : $(SRC)\$(CB) $(HACK_H)
1694 $(OBJ)\trap.o : $(SRC)\$(CB) $(HACK_H)
1696 $(OBJ)\u_init.o : $(SRC)\$(CB) $(HACK_H)
1698 $(OBJ)\uhitm.o : $(SRC)\$(CB) $(HACK_H)
1700 $(OBJ)\vault.o : $(SRC)\$(CB) $(HACK_H)
1702 $(OBJ)\version.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\date.h $(INCL)\$(PATCHLEV).h
1704 $(OBJ)\vision.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\vis_tab.h
1706 $(OBJ)\weapon.o : $(SRC)\$(CB) $(HACK_H)
1708 $(OBJ)\were.o : $(SRC)\$(CB) $(HACK_H)
1710 $(OBJ)\wield.o : $(SRC)\$(CB) $(HACK_H)
1712 $(OBJ)\windows.o : $(SRC)\$(CB) $(HACK_H)
1714 $(OBJ)\wizard.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\qtext.h
1716 $(OBJ)\worm.o : $(SRC)\$(CB) $(HACK_H) $(INCL)\lev.h
1718 $(OBJ)\worn.o : $(SRC)\$(CB) $(HACK_H)
1720 $(OBJ)\write.o : $(SRC)\$(CB) $(HACK_H)
1722 $(OBJ)\zap.o : $(SRC)\$(CB) $(HACK_H)
1725 $(OBJ)/Window.o: $(WINX11)\Window.c $(INCL)\xwindowp.h $(INCL)\xwindow.h \
1727 $(CC) -o$(OBJ)\Window.o $(CFLAGS) -c $(WINX11)\Window.c
1728 $(OBJ)/dialogs.o: $(WINX11)\dialogs.c $(CONFIG_H)
1729 $(CC) -o$(OBJ)\dialogs.o $(CFLAGS) -c $(WINX11)\dialogs.c
1730 $(OBJ)/winX.o: $(WINX11)\winX.c $(HACK_H) $(INCL)\winX.h $(INCL)\dlb.h \
1731 $(INCL)\patchlevel.h $(WINX11)\nh72icon \
1732 $(WINX11)\nh56icon $(WINX11)\nh32icon
1733 $(CC) $(CFLAGS) -c $(WINX11)\winX.c -o$(OBJ)\winX.o
1734 $(OBJ)/winmap.o: $(WINX11)\winmap.c $(INCL)\xwindow.h $(HACK_H) $(INCL)\dlb.h \
1735 $(INCL)\winX.h $(INCL)\tile2x11.h
1736 $(CC) $(CFLAGS) -c $(WINX11)\winmap.c -o $(OBJ)\winmap.o
1737 $(OBJ)/winmenu.o: $(WINX11)\winmenu.c $(HACK_H) $(INCL)\winX.h
1738 $(CC) $(CFLAGS) -c $(WINX11)\winmenu.c -o $(OBJ)\winmenu.o
1739 $(OBJ)/winmesg.o: $(WINX11)\winmesg.c $(INCL)\xwindow.h $(HACK_H) $(INCL)\winX.h
1740 $(CC) $(CFLAGS) -c $(WINX11)\winmesg.c -o$(OBJ)\winmesg.o
1741 $(OBJ)/winmisc.o: $(WINX11)\winmisc.c $(HACK_H) $(INCL)\func_tab.h \
1743 $(CC) $(CFLAGS) -c $(WINX11)\winmisc.c -o$(OBJ)\winmisc.o
1744 $(OBJ)/winstat.o: $(WINX11)\winstat.c $(HACK_H) $(INCL)\winX.h
1745 $(CC) $(CFLAGS) -c $(WINX11)\winstat.c -o$(OBJ)\winstat.o
1746 $(OBJ)/wintext.o: $(WINX11)\wintext.c $(HACK_H) $(INCL)\winX.h $(INCL)\xwindow.h
1747 $(CC) $(CFLAGS) -c $(WINX11)\wintext.c -o$(OBJ)\wintext.o
1748 $(OBJ)/winval.o: $(WINX11)\winval.c $(HACK_H) $(INCL)\winX.h
1749 $(CC) $(CFLAGS) -c $(WINX11)\winval.c -o$(OBJ)\winval.o
1751 $(OBJ)/tile.o: $(NHSRC)\src\tile.c $(HACK_H)
1752 $(CC) $(CFLAGS) -c $(NHSRC)\src\tile.c -o$(OBJ)\tile.o
1754 $(TEMP)\tilemap.exe: ..\win\share\tilemap.c $(HACK_H)
1755 $(CC) $(GCCO) $(WARN) -I$(INCL) $(CDFLAGS) $(STDC) $(WINX11CFLAGS) $(LFLAGS) -o $(TEMP)\tilemap.exe ..\win\share\tilemap.c $(LIBS)
1756 $(NHSRC)\src\tile.c: $(TEMP)\tilemap.exe
1759 x11tiles: $(TEMP)\tile2x11.exe $(WINSHARE)\monsters.txt \
1760 $(WINSHARE)\objects.txt \
1761 $(WINSHARE)\other.txt
1762 $(TEMP)\tile2x11.exe $(WINSHARE)\monsters.txt $(WINSHARE)\objects.txt \
1763 $(WINSHARE)\other.txt
1764 $(CP) x11tiles $(GAMEDIR)\x11tiles
1766 TEXT_IO = $(OBJ)\tiletext.o \
1773 $(OBJ)\tiletext.o: ../win/share/tiletext.c $(CONFIG_H) $(WINSHARE)\tile.h
1774 $(CC) $(CFLAGS) -c $(WINSHARE)\tiletext.c -o$(OBJ)\tiletext.o
1775 $(OBJ)\tiletxt.o: $(WINSHARE)\tilemap.c $(HACK_H)
1776 $(CC) $(CFLAGS) -c -DTILETEXT $(WINSHARE)\tilemap.c -o$(OBJ)\tiletxt.o
1778 $(TEMP)\tile2x11.exe: $(OBJ)\tile2x11.o $(TEXT_IO)
1779 $(CC) $(LFLAGS) -o $(TEMP)\tile2x11.exe $(OBJ)\tile2x11.o $(TEXT_IO) $(LIBS)
1781 pet_mark.xbm: $(WINX11)\pet_mark.xbm
1782 $(CP) $(WINX11)\pet_mark.xbm $(GAMEDIR)\pet_mark.xbm
1784 rip.xpm: $(WINX11)\rip.xpm
1785 $(CP) $(WINX11)\rip.xpm $(GAMEDIR)\rip.xpm
1787 $(OBJ)\tile2x11.o : $(WINX11)\tile2x11.c $(INCL)\tile2x11.h
1788 $(CC) $(CFLAGS) -o$(OBJ)\tile2x11.o -c $(WINX11)\tile2x11.c \