1 # NetHack Makefile (VMS) - for building nethack itself.
2 # NetHack 3.6 Makefile.src $NHDT-Date: 1524689428 2018/04/25 20:50:28 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.29 $
3 # Copyright (c) 2011 by Robert Patrick Rankin
4 # NetHack may be freely redistributed. See license for details.
6 # Copy this file to [.src]Makefile. and then edit it as needed.
7 # The default configuration is for building with DEC C (aka Compaq C).
8 # If you change CC or CFLAGS, make similar changes in [.util]Makefile.
10 # Note: modifying this Makefile will cause crtl.opt to be rebuilt,
11 # which will trigger an update of makedefs, which will in turn
12 # result in a full build of just about _everything_.
16 ECHO = write sys$output
19 TOUCH = append/New _NLA0: # only one file per $(TOUCH)
20 # source tree, relative to 'src' and 'util'
22 SYSSHR = [-.sys.share]
27 WINSHR = [-.win.share]
30 MAKEFILE= $(SRC)Makefile.
32 # if you are using gcc as your compiler:
33 # uncomment the CC definition below if it's not in your environment
36 # set option flags for C compiler and linker
38 CFLAGS = /Prefix=All/Incl=$(INC)/noList # DECC in native mode
39 #CFLAGS = /Include=$(INC)/noList # VAXC or GNUC
40 #LFLAGS = /Debug/Map/Cross_Ref # for development
41 #LFLAGS = /noTraceback/noMap # for installing w/ privs
45 # DEC C (decc$shr linked by default)
48 # VAX C or GNU C, using shareable image run-time library
49 # (leave MORELIBS blank for VAX C)
50 #LIBS = sys$share:vaxcrtl.exe/Shareable
51 #MORELIBS = gnu_cc:[000000]gcclib.olb/Library
52 # VAX C or GNU C, using object library run-time library
53 # (leave LIBS blank for VAX C)
54 #LIBS = gnu_cc:[000000]gcclib.olb/Library
55 #MORELIBS = sys$library:vaxcrtl.olb/Library
57 # Specific VMS object files
58 SYSSRC = $(VMS)vmsmain.c,$(VMS)vmstty.c,$(VMS)vmsunix.c,\
59 $(VMS)vmsmisc.c,$(VMS)vmsfiles.c,$(VMS)vmsmail.c
60 SYSOBJ = vmsmain.obj,vmstty.obj,vmsunix.obj,vmsmail.obj #,vmsmisc.obj,vmsfiles.obj
61 LIBOPT = $(SRC)crtl.opt;
62 ID_OPT = $(SRC)ident.opt;
66 TERMCAPOBJ = ,tclib.obj
68 # Set WINSRC and WINOBJ lines corresponding to your desired combination
69 # of windowing systems. Also set windowing systems in config.h.
71 # a straight tty port using no native windowing system
72 WINTTYSRC = $(TTY)getline.c $(TTY)termcap.c $(TTY)topl.c $(TTY)wintty.c \
74 WINTTYOBJ = getline.obj,termcap.obj,topl.obj,wintty.obj $(TERMCAPOBJ)
76 # an X11 port (not supported under DECwindows)
77 WINX11SRC = $(X11)Window.c $(X11)dialogs.c $(X11)winX.c $(X11)winmap.c \
78 $(X11)winmenu.c $(X11)winmesg.c $(X11)winmisc.c $(X11)winstat.c \
79 $(X11)wintext.c $(X11)winval.c $(SRC)tile.c
80 WINX11OBJ = Window.obj,dialogs.obj,winX.obj,winmap.obj,winmenu.obj,\
81 winmesg.obj,winmisc.obj,winstat.obj,wintext.obj,winval.obj,tile.obj
87 # make NetHack for VMS
88 SYSTEM = SysVMS.timestamp;
89 GAME = $(SRC)nethack.exe;
91 # RANDOM is defined in vmsconf.h
95 # ----------------------------------------
97 # Nothing below this line should have to be changed.
99 # Other things that have to be reconfigured are in vmsconf.h,
104 MAKEDEFS = $(UTL)makedefs.exe;
106 # timestamp files to reduce `make' overhead and shorten .obj dependency lists
107 CONFIG_H = $(SRC)config.h-t
108 HACK_H = $(SRC)hack.h-t
110 # all .c that are part of the main NetHack program and are not operating- or
111 # windowing-system specific
112 HACKCSRC = allmain.c alloc.c apply.c artifact.c attrib.c ball.c bones.c \
113 botl.c cmd.c dbridge.c decl.c detect.c dig.c display.c dlb.c do.c \
114 do_name.c do_wear.c dog.c dogmove.c dokick.c dothrow.c drawing.c \
115 dungeon.c eat.c end.c engrave.c exper.c explode.c extralev.c \
116 files.c fountain.c hack.c hacklib.c invent.c light.c lock.c mail.c \
117 makemon.c mapglyph.c mcastu.c mhitm.c mhitu.c minion.c mklev.c mkmap.c \
118 mkmaze.c mkobj.c mkroom.c mon.c mondata.c monmove.c monst.c \
119 mplayer.c mthrowu.c muse.c music.c o_init.c objects.c objnam.c \
120 options.c pager.c pickup.c pline.c polyself.c potion.c pray.c \
121 priest.c quest.c questpgr.c read.c rect.c region.c restore.c rip.c rnd.c \
122 role.c rumors.c save.c shk.c shknam.c sit.c sounds.c sp_lev.c spell.c \
123 steal.c steed.c sys.c teleport.c timeout.c topten.c track.c trap.c \
124 u_init.c uhitm.c vault.c version.c vision.c weapon.c were.c wield.c \
125 windows.c wizard.c worm.c worn.c write.c zap.c
127 # generated source files (tile.c is handled separately via WINxxxSRC)
128 GENCSRC = monstr.c vis_tab.c #tile.c
130 # .c files for this version (for date.h)
131 VERSOURCES = $(HACKCSRC) $(SYSSRC) $(WINSRC) $(RANDSRC) $(GENCSRC)
133 # all .h files except date.h, onames.h, pm.h, and vis_tab.h which would
134 # cause dependency loops if run through "make depend"
135 # and dgn_comp.h, dgn_file.h, lev_comp.h, special level & dungeon files.
137 HACKINCL = align.h amiconf.h artifact.h artilist.h attrib.h beconf.h color.h \
138 config.h config1.h context.h coord.h decl.h def_os2.h display.h \
139 dlb.h dungeon.h engrave.h extern.h flag.h func_tab.h global.h \
140 hack.h lev.h macconf.h mextra.h mfndpos.h micro.h \
141 mkroom.h monattk.h mondata.h monflag.h monst.h monsym.h obj.h \
142 objclass.h os2conf.h patchlevel.h pcconf.h permonst.h prop.h rect.h \
143 region.h rm.h sp_lev.h spell.h sys.h system.h tcap.h timeout.h \
144 tosconf.h tradstdc.h trampoli.h trap.h unixconf.h vision.h \
145 vmsconf.h wintty.h winX.h winprocs.h wintype.h you.h youprop.h
147 #HSOURCES = $(HACKINCL) date.h onames.h pm.h vis_tab.h\
148 # lev_comp.h dgn_comp.h dgn_file.h
150 # the following .obj's should be made before any others (for makedefs)
151 FIRSTOBJ = vmsmisc.obj,vmsfiles.obj,monst.obj,objects.obj
153 # split up long list so that we can write pieces of it into nethack.opt
154 HOBJ1 = allmain.obj,alloc.obj,apply.obj,artifact.obj,attrib.obj, \
155 ball.obj,bones.obj,botl.obj,cmd.obj,dbridge.obj,decl.obj, \
156 detect.obj,dig.obj,display.obj,dlb.obj,do.obj,do_name.obj,do_wear.obj
157 HOBJ2 = dog.obj,dogmove.obj,dokick.obj,dothrow.obj,drawing.obj, \
158 dungeon.obj,eat.obj,end.obj,engrave.obj,exper.obj,explode.obj, \
159 extralev.obj,files.obj,fountain.obj,hack.obj,hacklib.obj,invent.obj
160 HOBJ3 = light.obj,lock.obj,mail.obj,makemon.obj,mapglyph.obj,mcastu.obj, \
161 mhitm.obj,mhitu.obj,minion.obj,mklev.obj,mkmap.obj,mkmaze.obj, \
162 mkobj.obj,mkroom.obj,mon.obj,mondata.obj,monmove.obj,monstr.obj
163 HOBJ4 = mplayer.obj,mthrowu.obj,muse.obj,music.obj,o_init.obj,objnam.obj, \
164 options.obj,pager.obj,pickup.obj,pline.obj,polyself.obj, \
165 potion.obj,pray.obj,priest.obj,quest.obj,questpgr.obj,read.obj
166 HOBJ5 = rect.obj,region.obj,restore.obj,rip.obj,rnd.obj,role.obj, \
167 rumors.obj,save.obj,shk.obj,shknam.obj,sit.obj,sounds.obj,sp_lev.obj, \
168 spell.obj,steal.obj,steed.obj,sys.obj,teleport.obj,timeout.obj, \
169 topten.obj, track.obj,trap.obj
170 HOBJ6 = u_init.obj,uhitm.obj,vault.obj,vision.obj,vis_tab.obj,weapon.obj, \
171 were.obj,wield.obj,windows.obj,wizard.obj,worm.obj,worn.obj, \
172 write.obj,zap.obj,version.obj
173 HOBJ = $(FIRSTOBJ) $(SYSOBJ) $(WINOBJ) $(RANDOBJ) \
174 $(HOBJ1) $(HOBJ2) $(HOBJ3) $(HOBJ4) $(HOBJ5) $(HOBJ6)
176 # simpler target name
178 @ $(ECHO) "nethack is up to date."
183 $(SYSTEM) : $(LIBOPT) $(ID_OPT) $(HOBJ) nethack.opt
184 @ $(ECHO) "Linking ..."
185 $(LINK)/Exe=$(GAME) $(LFLAGS) nethack.opt/Opt,$(LIBOPT)/Opt,$(ID_OPT)/Opt
189 @ $(ECHO) "nethack is up to date."
191 # linker options file for nethack's object modules
192 nethack.opt : $(MAKEFILE) # this file
193 open/Write f nethack.opt
194 write f "! nethack.opt"
195 @ write f f$edit("$(SYSOBJ)","COLLAPSE")
196 @ write f f$edit("$(WINOBJ)","COLLAPSE")
197 @ write f f$edit("$(RANDOBJ)","COLLAPSE")
198 @ write f f$edit("$(FIRSTOBJ)","COLLAPSE")
199 @ write f f$edit("$(HOBJ1)","COLLAPSE")
200 @ write f f$edit("$(HOBJ2)","COLLAPSE")
201 @ write f f$edit("$(HOBJ3)","COLLAPSE")
202 @ write f f$edit("$(HOBJ4)","COLLAPSE")
203 @ write f f$edit("$(HOBJ5)","COLLAPSE")
204 @ write f f$edit("$(HOBJ6)","COLLAPSE")
205 @ write f "sys$library:starlet.olb/Include=(lib$initialize)
207 "psect_attr=lib$initialize, Con,Usr,noPic,Rel,Gbl,noShr,noExe,Rd,noWrt,Long"
208 @ write f "iosegment=128"
211 # linker options file for run-time libraries, also used by $(UTL)Makefile
212 $(LIBOPT) : $(MAKEFILE) # this file
213 open/Write f $(LIBOPT)
216 write f "$(MORELIBS)"
218 # simplified target name, for interactive convenience
222 # linker options file for version number, also used by $(UTL)Makefile
223 $(ID_OPT) : $(MAKEFILE) # this file
224 open/Write f $(ID_OPT)
225 write f "! ident.opt"
226 write f "identification=""$(VERSION)"""
228 # simplified target name, for interactive convenience
229 ident.opt : $(ID_OPT)
232 # dependencies for makedefs and its outputs, which the util
233 # Makefile is responsible for keeping up to date
236 # special rules, to force update of makedefs, real dependencies should be
237 # below in the 'make depend' output.
239 $(CC) $(CFLAGS) monst.c
240 @- if f$search("$(MAKEDEFS)").nes."" then delete $(MAKEDEFS)
243 $(CC) $(CFLAGS) objects.c
244 @- if f$search("$(MAKEDEFS)").nes."" then delete $(MAKEDEFS)
246 $(MAKEDEFS) : $(FIRSTOBJ) $(UTL)makedefs.c \
247 $(CONFIG_H) $(INC)permonst.h $(INC)objclass.h \
248 $(INC)monsym.h $(INC)artilist.h $(INC)dungeon.h \
249 $(INC)obj.h $(INC)monst.h $(INC)you.h $(INC)flag.h \
250 $(INC)dlb.h $(INC)patchlevel.h $(INC)qtext.h \
253 $(MAKE)$(MAKEFLAGS) $(MAKEDEFS)
255 $(INC)onames.h : $(MAKEDEFS)
257 $(MAKE)$(MAKEFLAGS) $(INC)onames.h
259 $(INC)pm.h : $(MAKEDEFS)
261 $(MAKE)$(MAKEFLAGS) $(INC)pm.h
263 monstr.c : $(MAKEDEFS)
265 $(MAKE)$(MAKEFLAGS) $(SRC)monstr.c
267 # both vis_tab.h and vis_tab.c are made at the same time by makedefs
268 $(INC)vis_tab.h : vis_tab.c
269 $(TOUCH) $(INC)vis_tab.h
270 vis_tab.c : $(MAKEDEFS)
272 $(MAKE)$(MAKEFLAGS) $(SRC)vis_tab.c
274 $(SRC)tile.c : $(WINSHR)tilemap.c $(HACK_H)
276 $(MAKE)$(MAKEFLAGS) $(SRC)tile.c
279 # date.h should be remade any time any of the source or include code
280 # is modified. Unfortunately, this would make the contents of this
281 # file far more complex. Since "hack.h" depends on most of the include
282 # files, we kludge around this by making date.h dependent on hack.h,
283 # even though it doesn't include this file.
285 # hack.h depends on makedefs' output, so we know makedefs will be
286 # up to date before being executed; kill old date.h to force update
287 $(INC)date.h : $(VERSOURCES) $(HACK_H)
288 @- if f$search("$(INC)date.h").nes."" then delete $(INC)date.h;*
290 $(MAKE)$(MAKEFLAGS) $(INC)date.h
295 - if f$search("*.*;-2").nes."" then purge/Keep=2
296 - if f$search("$(INC)*.*;-2").nes."" then purge/Keep=2 $(INC) /Exclude=*conf*.h
297 - if f$search("*.obj").nes."" then delete *.obj;*
298 - if f$search("*.h-t").nes."" then delete *.h-t;* !$(HACK_H),$(CONFIG_H)
301 - if f$search("*.*;-1).nes."" then purge
302 - if f$search("$(INC)*.*;-1").nes."" then purge $(INC)
303 - if f$search("$(SYSTEM)").nes."" then delete $(SYSTEM)
304 - if f$search("$(GAME)").nes."" then delete $(GAME)
305 - delete monstr.c;,vis_tab.c;,$(INC)vis_tab.h;,\
306 $(INC)pm.h;,$(INC)onames.h;,$(INC)date.h;
307 - if f$search("tile.c").nes."" then delete tile.c;
308 - if f$search("tclib.c").nes."" then delete tclib.c;
309 - if f$search("random.c").nes."" then delete random.c;
310 - if f$search("nethack.olb").nes."" then delete nethack.olb;
311 - if f$search("*.opt").nes."" then delete *.opt; !nethack.opt,$(LIBOPT),$(ID_OPT)
313 # dependencies (mostly cloned from sys/unix/Makefile.src)
315 $(CONFIG_H) : $(INC)config.h $(INC)config1.h $(INC)tradstdc.h $(INC)global.h \
316 $(INC)coord.h $(INC)vmsconf.h $(INC)system.h \
317 $(INC)unixconf.h $(INC)os2conf.h $(INC)micro.h \
318 $(INC)pcconf.h $(INC)tosconf.h $(INC)amiconf.h \
319 $(INC)macconf.h $(INC)beconf.h $(INC)wceconf.h \
323 $(HACK_H) : $(INC)hack.h $(CONFIG_H) $(INC)align.h \
324 $(INC)dungeon.h $(INC)monsym.h $(INC)mkroom.h \
325 $(INC)objclass.h $(INC)youprop.h $(INC)prop.h \
326 $(INC)permonst.h $(INC)monattk.h \
327 $(INC)monflag.h $(INC)mondata.h $(INC)pm.h \
328 $(INC)wintype.h $(INC)context.h $(INC)decl.h $(INC)quest.h \
329 $(INC)spell.h $(INC)color.h $(INC)obj.h \
330 $(INC)you.h $(INC)attrib.h $(INC)monst.h \
331 $(INC)mextra.h $(INC)skills.h \
332 $(INC)onames.h $(INC)timeout.h $(INC)trap.h \
333 $(INC)flag.h $(INC)rm.h $(INC)vision.h \
334 $(INC)display.h $(INC)engrave.h $(INC)rect.h $(INC)region.h \
335 $(INC)winprocs.h $(INC)wintty.h $(INC)trampoli.h $(INC)sys.h
338 vmsmain.obj : $(VMS)vmsmain.c $(HACK_H) $(INC)dlb.h
339 vmstty.obj : $(VMS)vmstty.c $(HACK_H) $(INC)wintty.h $(INC)tcap.h
340 vmsunix.obj : $(VMS)vmsunix.c $(HACK_H)
341 vmsmisc.obj : $(VMS)vmsmisc.c $(VMS)oldcrtl.c $(CONFIG_H)
342 vmsfiles.obj : $(VMS)vmsfiles.c $(CONFIG_H)
343 vmsmail.obj : $(VMS)vmsmail.c $(CONFIG_H) $(INC)mail.h \
344 $(INC)wintype.h $(INC)winprocs.h
345 # conditionally used code -- VMS always wants these
346 random.obj : random.c $(HACK_H)
347 random.c : $(SYSSHR)random.c
348 copy $(SYSSHR)random.c random.c
349 tclib.obj : tclib.c $(CONFIG_H)
350 tclib.c : $(SYSSHR)tclib.c
351 copy $(SYSSHR)tclib.c tclib.c
352 # user interface code -- VMS uses tty (1st 4) only
353 getline.obj : $(TTY)getline.c $(HACK_H) $(INC)func_tab.h
354 termcap.obj : $(TTY)termcap.c $(HACK_H) $(INC)tcap.h
355 topl.obj : $(TTY)topl.c $(HACK_H) $(INC)tcap.h
356 wintty.obj : $(TTY)wintty.c $(HACK_H) $(INC)dlb.h \
357 $(INC)date.h $(INC)patchlevel.h $(INC)tcap.h
358 Window.obj : $(X11)Window.c $(INC)xwindowp.h $(INC)xwindow.h $(CONFIG_H)
359 dialogs.obj : $(X11)dialogs.c $(CONFIG_H)
360 winX.obj : $(X11)winX.c $(HACK_H) $(INC)winX.h $(INC)dlb.h \
361 $(INC)patchlevel.h $(X11)nh72icon $(X11)nh56icon $(X11)nh32icon
362 winmap.obj : $(X11)winmap.c $(INC)xwindow.h $(HACK_H) $(INC)dlb.h \
363 $(INC)winX.h $(INC)tile2x11.h
364 winmenu.obj : $(X11)winmenu.c $(HACK_H) $(INC)winX.h
365 winmesg.obj : $(X11)winmesg.c $(INC)xwindow.h $(HACK_H) $(INC)winX.h
366 winmisc.obj : $(X11)winmisc.c $(HACK_H) $(INC)func_tab.h $(INC)winX.h
367 winstat.obj : $(X11)winstat.c $(HACK_H) $(INC)winX.h
368 wintext.obj : $(X11)wintext.c $(HACK_H) $(INC)winX.h $(INC)xwindow.h
369 winval.obj : $(X11)winval.c $(HACK_H) $(INC)winX.h
370 tile.obj : $(SRC)tile.c $(HACK_H)
371 monstr.obj : monstr.c $(CONFIG_H)
372 vis_tab.obj : vis_tab.c $(CONFIG_H) $(INC)vis_tab.h
374 allmain.obj : allmain.c $(HACK_H)
375 alloc.obj : alloc.c $(CONFIG_H)
376 apply.obj : apply.c $(HACK_H)
377 artifact.obj : artifact.c $(HACK_H) $(INC)artifact.h $(INC)artilist.h
378 attrib.obj : attrib.c $(HACK_H)
379 ball.obj : ball.c $(HACK_H)
380 bones.obj : bones.c $(HACK_H) $(INC)lev.h
381 botl.obj : botl.c $(HACK_H)
382 cmd.obj : cmd.c $(HACK_H) $(INC)func_tab.h
383 dbridge.obj : dbridge.c $(HACK_H)
384 decl.obj : decl.c $(HACK_H)
385 detect.obj : detect.c $(HACK_H) $(INC)artifact.h
386 dig.obj : dig.c $(HACK_H)
387 display.obj : display.c $(HACK_H)
388 dlb.obj : dlb.c $(CONFIG_H) $(INC)dlb.h
389 do.obj : do.c $(HACK_H) $(INC)lev.h
390 do_name.obj : do_name.c $(HACK_H)
391 do_wear.obj : do_wear.c $(HACK_H)
392 dog.obj : dog.c $(HACK_H)
393 dogmove.obj : dogmove.c $(HACK_H) $(INC)mfndpos.h
394 dokick.obj : dokick.c $(HACK_H)
395 dothrow.obj : dothrow.c $(HACK_H)
396 drawing.obj : drawing.c $(HACK_H) $(INC)tcap.h
397 dungeon.obj : dungeon.c $(HACK_H) $(INC)dgn_file.h $(INC)dlb.h $(INC)lev.h
398 eat.obj : eat.c $(HACK_H)
399 end.obj : end.c $(HACK_H) $(INC)lev.h $(INC)dlb.h
400 engrave.obj : engrave.c $(HACK_H) $(INC)lev.h
401 exper.obj : exper.c $(HACK_H)
402 explode.obj : explode.c $(HACK_H)
403 extralev.obj : extralev.c $(HACK_H)
404 files.obj : files.c $(HACK_H) $(INC)dlb.h $(INC)wintty.h #zlib.h
405 fountain.obj : fountain.c $(HACK_H)
406 hack.obj : hack.c $(HACK_H)
407 hacklib.obj : hacklib.c $(HACK_H)
408 invent.obj : invent.c $(HACK_H)
409 light.obj : light.c $(HACK_H) $(INC)lev.h
410 lock.obj : lock.c $(HACK_H)
411 mail.obj : mail.c $(HACK_H) $(INC)mail.h
412 makemon.obj : makemon.c $(HACK_H)
413 mapglyph.obj : mapglyph.c $(HACK_H) $(INC)wintty.h $(INC)color.h
414 mcastu.obj : mcastu.c $(HACK_H)
415 mhitm.obj : mhitm.c $(HACK_H) $(INC)artifact.h
416 mhitu.obj : mhitu.c $(HACK_H) $(INC)artifact.h
417 minion.obj : minion.c $(HACK_H)
418 mklev.obj : mklev.c $(HACK_H)
419 mkmap.obj : mkmap.c $(HACK_H) $(INC)sp_lev.h
420 mkmaze.obj : mkmaze.c $(HACK_H) $(INC)sp_lev.h $(INC)lev.h
421 mkobj.obj : mkobj.c $(HACK_H)
422 mkroom.obj : mkroom.c $(HACK_H)
423 mon.obj : mon.c $(HACK_H) $(INC)mfndpos.h
424 mondata.obj : mondata.c $(HACK_H)
425 monmove.obj : monmove.c $(HACK_H) $(INC)mfndpos.h $(INC)artifact.h
426 monst.obj : monst.c $(CONFIG_H) $(INC)permonst.h $(INC)align.h \
427 $(INC)monattk.h $(INC)monflag.h $(INC)monsym.h \
429 mplayer.obj : mplayer.c $(HACK_H)
430 mthrowu.obj : mthrowu.c $(HACK_H)
431 muse.obj : muse.c $(HACK_H)
432 music.obj : music.c $(HACK_H) #interp.c
433 o_init.obj : o_init.c $(HACK_H) $(INC)lev.h
434 objects.obj : objects.c $(CONFIG_H) $(INC)obj.h $(INC)objclass.h \
435 $(INC)prop.h $(INC)skills.h $(INC)color.h
436 objnam.obj : objnam.c $(HACK_H)
437 options.obj : options.c $(CONFIG_H) $(INC)objclass.h $(INC)flag.h \
438 $(HACK_H) $(INC)tcap.h
439 pager.obj : pager.c $(HACK_H) $(INC)dlb.h
440 pickup.obj : pickup.c $(HACK_H)
441 pline.obj : pline.c $(HACK_H)
442 polyself.obj : polyself.c $(HACK_H)
443 potion.obj : potion.c $(HACK_H)
444 pray.obj : pray.c $(HACK_H)
445 priest.obj : priest.c $(HACK_H) $(INC)mfndpos.h
446 quest.obj : quest.c $(HACK_H) $(INC)qtext.h
447 questpgr.obj : questpgr.c $(HACK_H) $(INC)dlb.h $(INC)qtext.h
448 read.obj : read.c $(HACK_H)
449 rect.obj : rect.c $(HACK_H)
450 region.obj : region.c $(HACK_H) $(INC)lev.h
451 restore.obj : restore.c $(HACK_H) $(INC)lev.h $(INC)tcap.h
452 rip.obj : rip.c $(HACK_H)
453 rnd.obj : rnd.c $(HACK_H)
454 role.obj : role.c $(HACK_H)
455 rumors.obj : rumors.c $(HACK_H) $(INC)lev.h $(INC)dlb.h
456 save.obj : save.c $(HACK_H) $(INC)lev.h
457 shk.obj : shk.c $(HACK_H)
458 shknam.obj : shknam.c $(HACK_H)
459 sit.obj : sit.c $(HACK_H) $(INC)artifact.h
460 sounds.obj : sounds.c $(HACK_H)
461 sp_lev.obj : sp_lev.c $(HACK_H) $(INC)dlb.h $(INC)sp_lev.h
462 spell.obj : spell.c $(HACK_H)
463 steal.obj : steal.c $(HACK_H)
464 steed.obj : steed.c $(HACK_H)
465 sys.obj : sys.c $(HACK_H)
466 teleport.obj : teleport.c $(HACK_H)
467 timeout.obj : timeout.c $(HACK_H) $(INC)lev.h
468 topten.obj : topten.c $(HACK_H) $(INC)dlb.h $(INC)patchlevel.h
469 track.obj : track.c $(HACK_H)
470 trap.obj : trap.c $(HACK_H)
471 u_init.obj : u_init.c $(HACK_H)
472 uhitm.obj : uhitm.c $(HACK_H)
473 vault.obj : vault.c $(HACK_H)
474 version.obj : version.c $(HACK_H) $(INC)dlb.h $(INC)date.h $(INC)patchlevel.h
475 vision.obj : vision.c $(HACK_H) $(INC)vis_tab.h
476 weapon.obj : weapon.c $(HACK_H)
477 were.obj : were.c $(HACK_H)
478 wield.obj : wield.c $(HACK_H)
479 windows.obj : windows.c $(HACK_H) $(INC)wingem.h $(INC)winGnome.h
480 wizard.obj : wizard.c $(HACK_H) $(INC)qtext.h
481 worm.obj : worm.c $(HACK_H) $(INC)lev.h
482 worn.obj : worn.c $(HACK_H)
483 write.obj : write.c $(HACK_H)
484 zap.obj : zap.c $(HACK_H)