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