1# NetHack 3.6	bootstrp.mak	$NHDT-Date: 1432512801 2015/05/25 00:13:21 $  $NHDT-Branch: master $:$NHDT-Revision: 1.13 $
2#       Copyright (c) Michael Allison
3#
4#       NetHack Windows CE bootstrap file for MS Visual C++ V6.x and
5#       above and MS NMAKE
6#
7#       This will:
8#         - build makedefs
9#         -
10#==============================================================================
11# Do not delete the following 3 lines.
12#
13TARGETOS=BOTH
14APPVER=4.0
15!include <win32.mak>
16
17#
18#  Source directories.    Makedefs hardcodes these, don't change them.
19#
20
21INCL  = ..\include   # NetHack include files
22DAT   = ..\dat       # NetHack data files
23DOC   = ..\doc       # NetHack documentation files
24UTIL  = ..\util      # Utility source
25SRC   = ..\src       # Main source
26SSYS  = ..\sys\share # Shared system files
27NTSYS = ..\sys\winnt # NT Win32 specific files
28TTY   = ..\win\tty   # window port files (tty)
29WIN32 = ..\win\win32 # window port files (WINCE)
30WSHR  = ..\win\share # Tile support files
31SWINCE= ..\wince 	   # wince files
32WINCE = ..\wince     # wince build area
33OBJ   = $(WINCE)\ceobj
34DLB = $(DAT)\nhdat
35
36#==========================================
37# Setting up the compiler and linker
38# macros. All builds include the base ones.
39#==========================================
40
41CFLAGSBASE  = -c $(cflags) $(cvarsmt) -I$(INCL) -nologo $(cdebug) $(WINPINC) -DDLB
42LFLAGSBASEC = $(linkdebug) /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:console,4.0 $(conlibsmt)
43LFLAGSBASEG = $(linkdebug) $(guiflags) $(guilibsmt) comctl32.lib
44
45#==========================================
46# Util builds
47#==========================================
48
49CFLAGSU = $(CFLAGSBASE) $(WINPFLAG)
50LFLAGSU	= $(LFLAGSBASEC)
51
52LEVCFLAGS= -c -nologo -DWINVER=0x0400 -DWIN32 -D_WIN32 \
53	   -D_MT -MT -I..\include -nologo -Z7 -Od -DDLB
54
55
56#==========================================
57#================ RULES ==================
58#==========================================
59
60.SUFFIXES: .exe .o .til .uu .c .y .l
61
62#==========================================
63# Rules for files in src
64#==========================================
65
66#.c{$(OBJ)}.o:
67#	$(cc) $(CFLAGSU)  -Fo$@ $<
68
69{$(SRC)}.c{$(OBJ)}.o:
70	$(CC) $(CFLAGSU)   -Fo$@  $<
71
72#==========================================
73# Rules for files in sys\share
74#==========================================
75
76{$(SSYS)}.c{$(OBJ)}.o:
77	$(CC) $(CFLAGSU)  -Fo$@  $<
78
79#==========================================
80# Rules for files in sys\winnt
81#==========================================
82
83{$(NTSYS)}.c{$(OBJ)}.o:
84	$(CC) $(CFLAGSU)  -Fo$@  $<
85
86{$(NTSYS)}.h{$(INCL)}.h:
87	copy $< $@
88
89#==========================================
90# Rules for files in util
91#==========================================
92
93{$(UTIL)}.c{$(OBJ)}.o:
94	$(CC) $(CFLAGSU) -Fo$@ $<
95
96#==========================================
97# Rules for files in win\share
98#==========================================
99
100{$(WSHR)}.c{$(OBJ)}.o:
101	$(CC) $(CFLAGSU)  -Fo$@ $<
102
103{$(WSHR)}.h{$(INCL)}.h:
104	copy $< $@
105
106#{$(WSHR)}.txt{$(DAT)}.txt:
107#	copy $< $@
108
109#==========================================
110# Rules for files in win\tty
111#==========================================
112
113{$(TTY)}.c{$(OBJ)}.o:
114	$(CC) $(CFLAGSU)  -Fo$@  $<
115
116
117#==========================================
118# Rules for files in win\win32
119#==========================================
120
121{$(WIN32)}.c{$(OBJ)}.o:
122	$(cc) $(CFLAGSU)  -Fo$@  $<
123
124#==========================================
125# Rules for files in sys\wince
126#==========================================
127
128{$(SWINCE)}.c{$(OBJ)}.o:
129	$(cc) $(CFLAGSU)  -Fo$@  $<
130
131#==========================================
132#================ MACROS ==================
133#==========================================
134
135#
136# Shorten up the location for some files
137#
138
139O  = $(OBJ)^\
140
141U  = $(UTIL)^\
142
143#
144# Utility Objects.
145#
146
147MAKESRC        = $(U)makedefs.c
148
149SPLEVSRC       = $(U)lev_yacc.c	$(U)lev_$(LEX).c $(U)lev_main.c  $(U)panic.c
150
151DGNCOMPSRC     = $(U)dgn_yacc.c	$(U)dgn_$(LEX).c $(U)dgn_main.c
152
153MAKEOBJS       = $(O)makedefs.o $(O)monst.o $(O)objects.o
154
155SPLEVOBJS      = $(O)lev_yacc.o	$(O)lev_$(LEX).o $(O)lev_main.o \
156		 $(O)alloc.o	$(O)decl.o	$(O)drawing.o \
157		 $(O)monst.o	$(O)objects.o	$(O)panic.o
158
159DGNCOMPOBJS    = $(O)dgn_yacc.o	$(O)dgn_$(LEX).o $(O)dgn_main.o \
160		 $(O)alloc.o	$(O)panic.o
161
162TILEFILES      = $(WSHR)\monsters.txt $(WSHR)\objects.txt $(WSHR)\other.txt
163
164#
165# These are not invoked during a normal game build in 3.5.0
166#
167TEXT_IO        = $(O)tiletext.o	$(O)tiletxt.o	$(O)drawing.o \
168		 $(O)decl.o	$(O)monst.o	$(O)objects.o
169
170TEXT_IO32      = $(O)tilete32.o $(O)tiletx32.o $(O)drawing.o \
171		 $(O)decl.o	$(O)monst.o	$(O)objects.o
172
173GIFREADERS     = $(O)gifread.o	$(O)alloc.o $(O)panic.o
174GIFREADERS32   = $(O)gifrd32.o $(O)alloc.o $(O)panic.o
175
176PPMWRITERS     = $(O)ppmwrite.o $(O)alloc.o $(O)panic.o
177
178DLBOBJ = $(O)dlb.o
179
180#==========================================
181# Header file macros
182#==========================================
183
184CONFIG_H = $(INCL)\config.h $(INCL)\config1.h $(INCL)\tradstdc.h \
185		$(INCL)\global.h $(INCL)\coord.h $(INCL)\vmsconf.h \
186		$(INCL)\system.h $(INCL)\unixconf.h $(INCL)\os2conf.h \
187		$(INCL)\micro.h $(INCL)\pcconf.h $(INCL)\tosconf.h \
188		$(INCL)\amiconf.h $(INCL)\macconf.h $(INCL)\beconf.h \
189		$(INCL)\ntconf.h $(INCL)\wceconf.h
190
191HACK_H = $(INCL)\hack.h $(CONFIG_H) $(INCL)\align.h \
192		$(INCL)\dungeon.h $(INCL)\monsym.h $(INCL)\mkroom.h \
193		$(INCL)\objclass.h $(INCL)\youprop.h $(INCL)\prop.h \
194		$(INCL)\permonst.h $(INCL)\mextra.h $(INCL)\monattk.h \
195		$(INCL)\monflag.h $(INCL)\mondata.h $(INCL)\pm.h \
196		$(INCL)\wintype.h $(INCL)\decl.h $(INCL)\quest.h \
197		$(INCL)\spell.h $(INCL)\color.h $(INCL)\obj.h \
198		$(INCL)\you.h $(INCL)\attrib.h $(INCL)\monst.h \
199		$(INCL)\skills.h $(INCL)\onames.h $(INCL)\timeout.h \
200		$(INCL)\trap.h $(INCL)\flag.h $(INCL)\rm.h \
201		$(INCL)\vision.h $(INCL)\display.h $(INCL)\engrave.h \
202		$(INCL)\rect.h $(INCL)\region.h $(INCL)\winprocs.h \
203		$(INCL)\wintty.h $(INCL)\trampoli.h
204
205LEV_H       = $(INCL)\lev.h
206DGN_FILE_H  = $(INCL)\dgn_file.h
207LEV_COMP_H  = $(INCL)\lev_comp.h
208SP_LEV_H    = $(INCL)\sp_lev.h
209TILE_H      = ..\win\share\tile.h
210
211#==========================================
212# Miscellaneous
213#==========================================
214
215DATABASE = $(DAT)\data.base
216
217#==========================================
218#=============== TARGETS ==================
219#==========================================
220
221#
222#  The default make target (so just typing 'nmake' is useful).
223#
224default : all
225
226#
227#  Everything
228#
229
230all :	$(INCL)\date.h	$(INCL)\onames.h $(INCL)\pm.h \
231	$(SRC)\monstr.c	$(SRC)\vis_tab.c $(U)lev_comp.exe $(INCL)\vis_tab.h \
232	$(U)dgn_comp.exe $(U)uudecode.exe \
233	$(DAT)\data	$(DAT)\rumors	 $(DAT)\dungeon \
234	$(DAT)\oracles	$(DAT)\quest.dat $(O)sp_lev.tag $(DLB) $(SRC)\tile.c \
235	$(SWINCE)\nethack.ico $(SWINCE)\tiles.bmp $(SWINCE)\mnsel.bmp \
236	$(SWINCE)\mnunsel.bmp $(SWINCE)\petmark.bmp $(SWINCE)\mnselcnt.bmp \
237	$(SWINCE)\keypad.bmp $(SWINCE)\menubar.bmp
238	@echo Done!
239
240$(O)sp_lev.tag:  $(DAT)\bigroom.des  $(DAT)\castle.des \
241	$(DAT)\endgame.des $(DAT)\gehennom.des $(DAT)\knox.des   \
242	$(DAT)\medusa.des  $(DAT)\oracle.des   $(DAT)\tower.des  \
243	$(DAT)\yendor.des  $(DAT)\arch.des     $(DAT)\barb.des   \
244	$(DAT)\caveman.des $(DAT)\healer.des   $(DAT)\knight.des \
245	$(DAT)\monk.des    $(DAT)\priest.des   $(DAT)\ranger.des \
246	$(DAT)\rogue.des   $(DAT)\samurai.des  $(DAT)\sokoban.des \
247	$(DAT)\tourist.des $(DAT)\valkyrie.des $(DAT)\wizard.des
248	cd $(DAT)
249	$(U)lev_comp bigroom.des
250	$(U)lev_comp castle.des
251	$(U)lev_comp endgame.des
252	$(U)lev_comp gehennom.des
253	$(U)lev_comp knox.des
254	$(U)lev_comp mines.des
255	$(U)lev_comp medusa.des
256	$(U)lev_comp oracle.des
257	$(U)lev_comp sokoban.des
258	$(U)lev_comp tower.des
259	$(U)lev_comp yendor.des
260	$(U)lev_comp arch.des
261	$(U)lev_comp barb.des
262	$(U)lev_comp caveman.des
263	$(U)lev_comp healer.des
264	$(U)lev_comp knight.des
265	$(U)lev_comp monk.des
266	$(U)lev_comp priest.des
267	$(U)lev_comp ranger.des
268	$(U)lev_comp rogue.des
269	$(U)lev_comp samurai.des
270	$(U)lev_comp tourist.des
271	$(U)lev_comp valkyrie.des
272	$(U)lev_comp wizard.des
273	cd $(WINCE)
274	echo sp_levs done > $(O)sp_lev.tag
275
276#$(NHRES): $(TILEBMP16) $(WINCE)\winhack.rc $(WINCE)\mnsel.bmp \
277#	$(WINCE)\mnselcnt.bmp $(WINCE)\mnunsel.bmp \
278#	$(WINCE)\petmark.bmp $(WINCE)\NetHack.ico $(WINCE)\rip.bmp \
279#	$(WINCE)\splash.bmp
280#	$(rc) -r -fo$@ -i$(WINCE) -dNDEBUG $(WINCE)\winhack.rc
281
282#
283#  Utility Targets.
284#
285
286#==========================================
287# Makedefs Stuff
288#==========================================
289
290$(U)makedefs.exe:	$(MAKEOBJS)
291	$(link) $(LFLAGSU) -out:$@ $(MAKEOBJS)
292
293$(O)makedefs.o: $(CONFIG_H)	$(INCL)\monattk.h $(INCL)\monflag.h   $(INCL)\objclass.h \
294		 $(INCL)\monsym.h    $(INCL)\qtext.h	$(INCL)\patchlevel.h \
295		 $(U)makedefs.c
296	if not exist $(OBJ)\*.* echo creating directory $(OBJ)
297	if not exist $(OBJ)\*.* mkdir $(OBJ)
298	$(CC) $(CFLAGSU) -Fo$@ $(U)makedefs.c
299
300#
301#  date.h should be remade every time any of the source or include
302#  files is modified.
303#
304
305$(INCL)\date.h $(OPTIONS_FILE) : $(U)makedefs.exe
306	$(U)makedefs -v
307
308$(INCL)\onames.h : $(U)makedefs.exe
309	$(U)makedefs -o
310
311$(INCL)\pm.h : $(U)makedefs.exe
312	$(U)makedefs -p
313
314#$(INCL)\trap.h : $(U)makedefs.exe
315#	$(U)makedefs -t
316
317$(SRC)\monstr.c: $(U)makedefs.exe
318	$(U)makedefs -m
319
320$(INCL)\vis_tab.h: $(U)makedefs.exe
321	$(U)makedefs -z
322
323$(SRC)\vis_tab.c: $(U)makedefs.exe
324	$(U)makedefs -z
325
326#==========================================
327# uudecode utility and uuencoded targets
328#==========================================
329
330$(U)uudecode.exe: $(O)uudecode.o
331	$(link) $(LFLAGSU) -out:$@ $(O)uudecode.o
332
333$(O)uudecode.o: $(SSYS)\uudecode.c
334
335$(SWINCE)\NetHack.ico : $(U)uudecode.exe $(SWINCE)\nhico.uu
336	chdir $(SWINCE)
337	..\util\uudecode.exe nhico.uu
338	chdir $(WINCE)
339
340$(SWINCE)\mnsel.bmp: $(U)uudecode.exe $(SWINCE)\mnsel.uu
341	chdir $(SWINCE)
342	..\util\uudecode.exe mnsel.uu
343	chdir $(WINCE)
344
345$(SWINCE)\mnselcnt.bmp: $(U)uudecode.exe $(SWINCE)\mnselcnt.uu
346	chdir $(SWINCE)
347	..\util\uudecode.exe mnselcnt.uu
348	chdir $(WINCE)
349
350$(SWINCE)\mnunsel.bmp: $(U)uudecode.exe $(SWINCE)\mnunsel.uu
351	chdir $(SWINCE)
352	..\util\uudecode.exe mnunsel.uu
353	chdir $(WINCE)
354
355$(SWINCE)\petmark.bmp: $(U)uudecode.exe $(SWINCE)\petmark.uu
356	chdir $(SWINCE)
357	..\util\uudecode.exe petmark.uu
358	chdir $(WINCE)
359
360$(SWINCE)\rip.bmp: $(U)uudecode.exe $(SWINCE)\rip.uu
361	chdir $(SWINCE)
362	..\util\uudecode.exe rip.uu
363	chdir $(WINCE)
364
365$(SWINCE)\splash.bmp: $(U)uudecode.exe $(SWINCE)\splash.uu
366	chdir $(SWINCE)
367	..\util\uudecode.exe splash.uu
368	chdir $(WINCE)
369
370$(SWINCE)\keypad.bmp: $(U)uudecode.exe $(SWINCE)\keypad.uu
371	chdir $(SWINCE)
372	..\util\uudecode.exe keypad.uu
373	chdir $(WINCE)
374
375$(SWINCE)\menubar.bmp: $(U)uudecode.exe $(SWINCE)\menubar.uu
376	chdir $(SWINCE)
377	..\util\uudecode.exe menubar.uu
378	chdir $(WINCE)
379
380#==========================================
381# Level Compiler Stuff
382#==========================================
383
384$(U)lev_comp.exe: $(SPLEVOBJS)
385	echo Linking $@...
386	$(link) $(LFLAGSU) -out:$@ @<<$(@B).lnk
387 		$(SPLEVOBJS:^	=^
388		)
389<<
390
391$(O)lev_yacc.o: $(HACK_H)   $(SP_LEV_H) $(INCL)\lev_comp.h $(U)lev_yacc.c
392	$(CC) $(LEVCFLAGS) -W0 -Fo$@ $(U)lev_yacc.c
393
394$(O)lev_$(LEX).o: $(HACK_H)   $(INCL)\lev_comp.h $(SP_LEV_H) \
395               $(U)lev_$(LEX).c
396	$(CC) $(LEVCFLAGS) -W0 -Fo$@ $(U)lev_$(LEX).c
397
398$(O)lev_main.o:	$(U)lev_main.c $(HACK_H)   $(SP_LEV_H)
399	$(CC) $(LEVCFLAGS) -W0 -Fo$@ $(U)lev_main.c
400
401
402$(U)lev_yacc.c $(INCL)\lev_comp.h : $(U)lev_comp.y
403	   @echo We will copy the prebuilt lev_yacc.c and
404	   @echo lev_comp.h from $(SSYS) into $(UTIL) and use them.
405	   @copy $(SSYS)\lev_yacc.c $(U)lev_yacc.c >nul
406	   @copy $(SSYS)\lev_comp.h $(INCL)\lev_comp.h >nul
407	   @echo /**/ >>$(U)lev_yacc.c
408	   @echo /**/ >>$(INCL)\lev_comp.h
409
410$(U)lev_$(LEX).c: $(U)lev_comp.l
411	   @echo We will copy the prebuilt lev_lex.c
412	   @echo from $(SSYS) into $(UTIL) and use it.
413	   @copy $(SSYS)\lev_lex.c $@ >nul
414	   @echo /**/ >>$@
415
416#==========================================
417# Dungeon Compiler Stuff
418#==========================================
419
420$(U)dgn_comp.exe: $(DGNCOMPOBJS)
421    @echo Linking $@...
422	$(link) $(LFLAGSU) -out:$@ @<<$(@B).lnk
423		$(DGNCOMPOBJS:^	=^
424		)
425<<
426
427$(O)dgn_yacc.o:	$(HACK_H)   $(DGN_FILE_H) $(INCL)\dgn_comp.h $(U)dgn_yacc.c
428	$(CC) $(LEVCFLAGS) -W0 -Fo$@ $(U)dgn_yacc.c
429
430$(O)dgn_$(LEX).o: $(HACK_H)   $(DGN_FILE_H)  $(INCL)\dgn_comp.h \
431	$(U)dgn_$(LEX).c
432	$(CC) $(LEVCFLAGS) -W0 -Fo$@ $(U)dgn_$(LEX).c
433
434$(O)dgn_main.o:	$(HACK_H) $(U)dgn_main.c
435	$(CC) $(LEVCFLAGS) -W0 -Fo$@ $(U)dgn_main.c
436
437$(U)dgn_yacc.c $(INCL)\dgn_comp.h : $(U)dgn_comp.y
438	   @echo We will copy the prebuilt $(U)dgn_yacc.c and
439	   @echo dgn_comp.h from $(SSYS) into $(UTIL) and use them.
440	   @copy $(SSYS)\dgn_yacc.c $(U)dgn_yacc.c >nul
441	   @copy $(SSYS)\dgn_comp.h $(INCL)\dgn_comp.h >nul
442	   @echo /**/ >>$(U)dgn_yacc.c
443	   @echo /**/ >>$(INCL)\dgn_comp.h
444
445$(U)dgn_$(LEX).c: $(U)dgn_comp.l
446	   @echo We will copy the prebuilt dgn_lex.c
447	   @echo from $(SSYS) into $(UTIL) and use it.
448	   @copy $(SSYS)\dgn_lex.c $@ >nul
449	   @echo /**/ >>$@
450
451#==========================================
452# Create directory for holding object files
453#==========================================
454
455$(O)obj.tag:
456	if not exist $(OBJ)\*.* echo creating directory $(OBJ)
457	if not exist $(OBJ)\*.* mkdir $(OBJ)
458	echo directory created >$@
459
460#==========================================
461# Notify of any CL environment variables
462# in effect since they change the compiler
463# options.
464#==========================================
465
466envchk:
467!	IF "$(CL)"!=""
468	   @echo Warning, the CL Environment variable is defined:
469	   @echo CL=$(CL)
470!	ENDIF
471	   @echo ----
472	   @echo NOTE: This build will include tile support.
473	   @echo ----
474
475#==========================================
476#=========== SECONDARY TARGETS ============
477#==========================================
478
479#===========================================
480# Header files NOT distributed in ..\include
481#===========================================
482
483$(INCL)\win32api.h: $(NTSYS)\win32api.h
484	copy $(NTSYS)\win32api.h $@
485
486
487#==========================================
488# DLB utility and nhdat file creation
489#==========================================
490
491$(U)dlb_main.exe: $(DLBOBJ) $(O)dlb.o
492	$(link) $(LFLAGSU) -out:$@ @<<$(@B).lnk
493		$(O)dlb_main.o
494		$(O)dlb.o
495		$(O)alloc.o
496		$(O)panic.o
497<<
498
499$(O)dlb.o:	$(O)dlb_main.o $(O)alloc.o $(O)panic.o $(INCL)\dlb.h
500	$(CC) $(CFLAGSU) /Fo$@ $(SRC)\dlb.c
501
502$(O)dlb_main.o: $(UTIL)\dlb_main.c $(INCL)\config.h $(INCL)\dlb.h
503	$(CC) $(CFLAGSU) /Fo$@ $(UTIL)\dlb_main.c
504
505#$(DAT)\porthelp: $(NTSYS)\porthelp
506#	copy $(NTSYS)\porthelp $@ >nul
507
508$(DAT)\nhdat:	$(U)dlb_main.exe $(DAT)\data $(DAT)\oracles $(OPTIONS_FILE) \
509	$(DAT)\quest.dat $(DAT)\rumors $(DAT)\help $(DAT)\hh $(DAT)\cmdhelp \
510	$(DAT)\history $(DAT)\opthelp $(DAT)\wizhelp $(DAT)\dungeon  \
511	$(DAT)\license $(O)sp_lev.tag
512	cd $(DAT)
513	echo data >dlb.lst
514	echo oracles >>dlb.lst
515	if exist options echo options >>dlb.lst
516	if exist ttyoptions echo ttyoptions >>dlb.lst
517	if exist guioptions echo guioptions >>dlb.lst
518	if exist porthelp echo porthelp >>dlb.lst
519	echo quest.dat >>dlb.lst
520	echo rumors >>dlb.lst
521	echo help >>dlb.lst
522	echo hh >>dlb.lst
523	echo cmdhelp >>dlb.lst
524	echo history >>dlb.lst
525	echo opthelp >>dlb.lst
526	echo wizhelp >>dlb.lst
527	echo dungeon >>dlb.lst
528	echo license >>dlb.lst
529	for %%N in (*.lev) do echo %%N >>dlb.lst
530	$(U)dlb_main cIf dlb.lst nhdat
531	cd $(WINCE)
532
533#==========================================
534#  Tile Mapping
535#==========================================
536
537$(SRC)\tile.c: $(U)tilemap.exe
538	echo A new $@ has been created
539	$(U)tilemap
540
541$(U)tilemap.exe: $(O)tilemap.o
542	$(link) $(LFLAGSU) -out:$@ $(O)tilemap.o
543
544$(O)tilemap.o: $(WSHR)\tilemap.c $(HACK_H)
545	$(CC) $(CFLAGSU) -Fo$@ $(WSHR)\tilemap.c
546
547$(O)tiletx32.o: $(WSHR)\tilemap.c $(HACK_H)
548	$(CC) $(CFLAGSU) /DTILETEXT /DTILE_X=32 /DTILE_Y=32 -Fo$@ $(WSHR)\tilemap.c
549
550$(O)tiletxt.o: $(WSHR)\tilemap.c $(HACK_H)
551	$(CC) $(CFLAGSU) /DTILETEXT -Fo$@ $(WSHR)\tilemap.c
552
553$(O)gifread.o: $(WSHR)\gifread.c  $(CONFIG_H) $(TILE_H)
554	$(CC) $(CFLAGSU) -I$(WSHR) -Fo$@ $(WSHR)\gifread.c
555
556$(O)gifrd32.o: $(WSHR)\gifread.c  $(CONFIG_H) $(TILE_H)
557	$(CC) $(CFLAGSU) -I$(WSHR) /DTILE_X=32 /DTILE_Y=32 -Fo$@ $(WSHR)\gifread.c
558
559$(O)ppmwrite.o: $(WSHR)\ppmwrite.c $(CONFIG_H) $(TILE_H)
560	$(CC) $(CFLAGSU) -I$(WSHR) -Fo$@ $(WSHR)\ppmwrite.c
561
562$(O)tiletext.o: $(WSHR)\tiletext.c  $(CONFIG_H) $(TILE_H)
563	$(CC) $(CFLAGSU) -I$(WSHR) -Fo$@ $(WSHR)\tiletext.c
564
565$(O)tilete32.o: $(WSHR)\tiletext.c  $(CONFIG_H) $(TILE_H)
566	$(CC) $(CFLAGSU) -I$(WSHR) /DTILE_X=32 /DTILE_Y=32 -Fo$@ $(WSHR)\tiletext.c
567
568$(SWINCE)\tiles.bmp: $(U)tile2bmp.exe $(TILEFILES)
569	echo Creating 16x16 binary tile files (this may take some time)
570	$(U)tile2bmp $@
571
572#$(TILEBMP32): $(TILEUTIL32) $(TILEFILES32)
573#	echo Creating 32x32 binary tile files (this may take some time)
574#	$(U)til2bm32 $(TILEBMP32)
575
576
577$(U)tile2bmp.exe: $(O)tile2bmp.o $(TEXT_IO)
578    @echo Linking $@...
579	$(link) $(LFLAGSU) -out:$@ @<<$(@B).lnk
580		$(O)tile2bmp.o
581		$(TEXT_IO:^  =^
582		)
583<<
584
585$(U)til2bm32.exe: $(O)til2bm32.o $(TEXT_IO32)
586    @echo Linking $@...
587	$(link) $(LFLAGSU) -out:$@ @<<$(@B).lnk
588		$(O)til2bm32.o
589		$(TEXT_IO32:^  =^
590		)
591<<
592
593$(O)tile2bmp.o: $(WSHR)\tile2bmp.c $(HACK_H) $(TILE_H) $(INCL)\win32api.h
594	$(CC) $(CFLAGSU) -I$(WSHR) /DPACKED_FILE /Fo$@ $(WSHR)\tile2bmp.c
595
596$(O)til2bm32.o: $(WSHR)\tile2bmp.c $(HACK_H) $(TILE_H) $(INCL)\win32api.h
597	$(CC) $(CFLAGSU) -I$(WSHR) /DPACKED_FILE /DTILE_X=32 /DTILE_Y=32 /Fo$@ $(WSHR)\tile2bmp.c
598
599#===================================================================
600# OTHER DEPENDENCIES
601#===================================================================
602
603#
604# dat dependencies
605#
606
607$(DAT)\data: $(UTIL)\makedefs.exe
608	$(U)makedefs -d
609
610$(DAT)\rumors: $(UTIL)\makedefs.exe    $(DAT)\rumors.tru   $(DAT)\rumors.fal
611	$(U)makedefs -r
612
613$(DAT)\quest.dat: $(UTIL)\makedefs.exe  $(DAT)\quest.txt
614	$(U)makedefs -q
615
616$(DAT)\oracles: $(UTIL)\makedefs.exe    $(DAT)\oracles.txt
617	$(U)makedefs -h
618
619$(DAT)\dungeon: $(UTIL)\makedefs.exe  $(DAT)\dungeon.def
620	$(U)makedefs -e
621	cd $(DAT)
622	$(U)dgn_comp dungeon.pdf
623	cd $(WINCE)
624
625#
626# NT dependencies
627#
628#
629#$(O)nttty.o:   $(HACK_H) $(TILE_H) $(INCL)\win32api.h $(NTSYS)\nttty.c
630#	$(CC) $(CFLAGSU) -I$(WSHR) -Fo$@  $(NTSYS)\nttty.c
631#$(O)winnt.o: $(HACK_H) $(INCL)\win32api.h $(NTSYS)\winnt.c
632#	$(CC) $(CFLAGSU) -Fo$@  $(NTSYS)\winnt.c
633#$(O)ntsound.o: $(HACK_H) $(NTSYS)\ntsound.c
634#	$(CC) $(CFLAGSU)  -Fo$@ $(NTSYS)\ntsound.c
635
636#
637# util dependencies
638#
639
640$(O)panic.o:  $(U)panic.c $(CONFIG_H)
641	$(CC) $(CFLAGSU) -Fo$@ $(U)panic.c
642
643#
644# The rest are stolen from sys/unix/Makefile.src,
645# with slashes changed to back-slashes
646# and -c (which is included in CFLAGSU) substituted
647# with -Fo$@ , but otherwise untouched. That
648# means that there is some irrelevant stuff
649# in here, but maintenance should be easier.
650#
651$(O)tos.o: ..\sys\atari\tos.c $(HACK_H) $(INCL)\tcap.h
652	$(CC) $(CFLAGSU) -Fo$@ ..\sys\atari\tos.c
653$(O)pcmain.o: ..\sys\share\pcmain.c $(HACK_H) $(INCL)\dlb.h \
654		$(INCL)\win32api.h
655	$(CC) $(CFLAGSU) -Fo$@ ..\sys\share\pcmain.c
656$(O)pcsys.o: ..\sys\share\pcsys.c $(HACK_H)
657	$(CC) $(CFLAGSU) -Fo$@ ..\sys\share\pcsys.c
658$(O)pctty.o: ..\sys\share\pctty.c $(HACK_H)
659	$(CC) $(CFLAGSU) -Fo$@ ..\sys\share\pctty.c
660$(O)pcunix.o: ..\sys\share\pcunix.c $(HACK_H)
661	$(CC) $(CFLAGSU) -Fo$@ ..\sys\share\pcunix.c
662$(O)random.o: ..\sys\share\random.c $(HACK_H)
663	$(CC) $(CFLAGSU) -Fo$@ ..\sys\share\random.c
664$(O)ioctl.o: ..\sys\share\ioctl.c $(HACK_H) $(INCL)\tcap.h
665	$(CC) $(CFLAGSU) -Fo$@ ..\sys\share\ioctl.c
666$(O)unixtty.o: ..\sys\share\unixtty.c $(HACK_H)
667	$(CC) $(CFLAGSU) -Fo$@ ..\sys\share\unixtty.c
668$(O)unixmain.o: ..\sys\unix\unixmain.c $(HACK_H) $(INCL)\dlb.h
669	$(CC) $(CFLAGSU) -Fo$@ ..\sys\unix\unixmain.c
670$(O)unixunix.o: ..\sys\unix\unixunix.c $(HACK_H)
671	$(CC) $(CFLAGSU) -Fo$@ ..\sys\unix\unixunix.c
672$(O)bemain.o: ..\sys\be\bemain.c $(HACK_H) $(INCL)\dlb.h
673	$(CC) $(CFLAGSU) -Fo$@ ..\sys\be\bemain.c
674$(O)getline.o: ..\win\tty\getline.c $(HACK_H) $(INCL)\func_tab.h
675	$(CC) $(CFLAGSU) -Fo$@ ..\win\tty\getline.c
676$(O)termcap.o: ..\win\tty\termcap.c $(HACK_H) $(INCL)\tcap.h
677	$(CC) $(CFLAGSU) -Fo$@ ..\win\tty\termcap.c
678$(O)topl.o: ..\win\tty\topl.c $(HACK_H) $(INCL)\tcap.h
679	$(CC) $(CFLAGSU) -Fo$@ ..\win\tty\topl.c
680$(O)wintty.o: ..\win\tty\wintty.c $(HACK_H) $(INCL)\dlb.h \
681		$(INCL)\date.h $(INCL)\patchlevel.h $(INCL)\tcap.h
682	$(CC) $(CFLAGSU) -Fo$@ ..\win\tty\wintty.c
683$(O)Window.o: ..\win\X11\Window.c $(INCL)\xwindowp.h $(INCL)\xwindow.h \
684		$(CONFIG_H)
685	$(CC) $(CFLAGSU) -Fo$@ ..\win\X11\Window.c
686$(O)dialogs.o: ..\win\X11\dialogs.c $(CONFIG_H)
687	$(CC) $(CFLAGSU) -Fo$@ ..\win\X11\dialogs.c
688$(O)winX.o: ..\win\X11\winX.c $(HACK_H) $(INCL)\winX.h $(INCL)\dlb.h \
689		$(INCL)\patchlevel.h ..\win\X11\nh72icon \
690		..\win\X11\nh56icon ..\win\X11\nh32icon
691	$(CC) $(CFLAGSU) -Fo$@ ..\win\X11\winX.c
692$(O)winmap.o: ..\win\X11\winmap.c $(INCL)\xwindow.h $(HACK_H) $(INCL)\dlb.h \
693		$(INCL)\winX.h $(INCL)\tile2x11.h
694	$(CC) $(CFLAGSU) -Fo$@ ..\win\X11\winmap.c
695$(O)winmenu.o: ..\win\X11\winmenu.c $(HACK_H) $(INCL)\winX.h
696	$(CC) $(CFLAGSU) -Fo$@ ..\win\X11\winmenu.c
697$(O)winmesg.o: ..\win\X11\winmesg.c $(INCL)\xwindow.h $(HACK_H) $(INCL)\winX.h
698	$(CC) $(CFLAGSU) -Fo$@ ..\win\X11\winmesg.c
699$(O)winmisc.o: ..\win\X11\winmisc.c $(HACK_H) $(INCL)\func_tab.h \
700		$(INCL)\winX.h
701	$(CC) $(CFLAGSU) -Fo$@ ..\win\X11\winmisc.c
702$(O)winstat.o: ..\win\X11\winstat.c $(HACK_H) $(INCL)\winX.h
703	$(CC) $(CFLAGSU) -Fo$@ ..\win\X11\winstat.c
704$(O)wintext.o: ..\win\X11\wintext.c $(HACK_H) $(INCL)\winX.h $(INCL)\xwindow.h
705	$(CC) $(CFLAGSU) -Fo$@ ..\win\X11\wintext.c
706$(O)winval.o: ..\win\X11\winval.c $(HACK_H) $(INCL)\winX.h
707	$(CC) $(CFLAGSU) -Fo$@ ..\win\X11\winval.c
708$(O)tile.o: $(SRC)\tile.c $(HACK_H)
709$(O)gnaskstr.o: ..\win\gnome\gnaskstr.c ..\win\gnome\gnaskstr.h \
710		..\win\gnome\gnmain.h
711	$(CC) $(CFLAGSU) $(GNOMEINC) -c ..\win\gnome\gnaskstr.c
712$(O)gnbind.o: ..\win\gnome\gnbind.c ..\win\gnome\gnbind.h ..\win\gnome\gnmain.h \
713		..\win\gnome\gnaskstr.h ..\win\gnome\gnyesno.h
714	$(CC) $(CFLAGSU) $(GNOMEINC) -c ..\win\gnome\gnbind.c
715$(O)gnglyph.o: ..\win\gnome\gnglyph.c ..\win\gnome\gnglyph.h
716	$(CC) $(CFLAGSU) $(GNOMEINC) -c ..\win\gnome\gnglyph.c
717$(O)gnmain.o: ..\win\gnome\gnmain.c ..\win\gnome\gnmain.h ..\win\gnome\gnsignal.h \
718		..\win\gnome\gnbind.h ..\win\gnome\gnopts.h $(HACK_H) \
719		$(INCL)\date.h
720	$(CC) $(CFLAGSU) $(GNOMEINC) -c ..\win\gnome\gnmain.c
721$(O)gnmap.o: ..\win\gnome\gnmap.c ..\win\gnome\gnmap.h ..\win\gnome\gnglyph.h \
722		..\win\gnome\gnsignal.h $(HACK_H)
723	$(CC) $(CFLAGSU) $(GNOMEINC) -c ..\win\gnome\gnmap.c
724$(O)gnmenu.o: ..\win\gnome\gnmenu.c ..\win\gnome\gnmenu.h ..\win\gnome\gnmain.h \
725		..\win\gnome\gnbind.h
726	$(CC) $(CFLAGSU) $(GNOMEINC) -c ..\win\gnome\gnmenu.c
727$(O)gnmesg.o: ..\win\gnome\gnmesg.c ..\win\gnome\gnmesg.h ..\win\gnome\gnsignal.h
728	$(CC) $(CFLAGSU) $(GNOMEINC) -c ..\win\gnome\gnmesg.c
729$(O)gnopts.o: ..\win\gnome\gnopts.c ..\win\gnome\gnopts.h ..\win\gnome\gnglyph.h \
730		..\win\gnome\gnmain.h ..\win\gnome\gnmap.h $(HACK_H)
731	$(CC) $(CFLAGSU) $(GNOMEINC) -c ..\win\gnome\gnopts.c
732$(O)gnplayer.o: ..\win\gnome\gnplayer.c ..\win\gnome\gnplayer.h \
733		..\win\gnome\gnmain.h $(HACK_H)
734	$(CC) $(CFLAGSU) $(GNOMEINC) -c ..\win\gnome\gnplayer.c
735$(O)gnsignal.o: ..\win\gnome\gnsignal.c ..\win\gnome\gnsignal.h \
736		..\win\gnome\gnmain.h
737	$(CC) $(CFLAGSU) $(GNOMEINC) -c ..\win\gnome\gnsignal.c
738$(O)gnstatus.o: ..\win\gnome\gnstatus.c ..\win\gnome\gnstatus.h \
739		..\win\gnome\gnsignal.h ..\win\gnome\gn_xpms.h \
740		..\win\gnome\gnomeprv.h
741	$(CC) $(CFLAGSU) $(GNOMEINC) -c ..\win\gnome\gnstatus.c
742$(O)gntext.o: ..\win\gnome\gntext.c ..\win\gnome\gntext.h ..\win\gnome\gnmain.h \
743		..\win\gnome\gn_rip.h
744	$(CC) $(CFLAGSU) $(GNOMEINC) -c ..\win\gnome\gntext.c
745$(O)gnyesno.o: ..\win\gnome\gnyesno.c ..\win\gnome\gnbind.h ..\win\gnome\gnyesno.h
746	$(CC) $(CFLAGSU) $(GNOMEINC) -c ..\win\gnome\gnyesno.c
747$(O)wingem.o: ..\win\gem\wingem.c $(HACK_H) $(INCL)\func_tab.h $(INCL)\dlb.h \
748		$(INCL)\patchlevel.h $(INCL)\wingem.h
749	$(CC) $(CFLAGSU) -Fo$@ ..\win\gem\wingem.c
750$(O)wingem1.o: ..\win\gem\wingem1.c $(INCL)\gem_rsc.h $(INCL)\load_img.h \
751		$(INCL)\wintype.h $(INCL)\wingem.h
752	$(CC) $(CFLAGSU) -Fo$@ ..\win\gem\wingem1.c
753$(O)load_img.o: ..\win\gem\load_img.c $(INCL)\load_img.h
754	$(CC) $(CFLAGSU) -Fo$@ ..\win\gem\load_img.c
755$(O)tile.o: $(SRC)\tile.c $(HACK_H)
756$(O)qt_win.o: ..\win\Qt\qt_win.cpp $(HACK_H) $(INCL)\func_tab.h \
757		$(INCL)\dlb.h $(INCL)\patchlevel.h $(INCL)\qt_win.h \
758		$(INCL)\qt_clust.h $(INCL)\qt_kde0.h \
759		$(INCL)\qt_xpms.h qt_win.moc qt_kde0.moc
760	$(CXX) $(CXXFLAGS) -c ..\win\Qt\qt_win.cpp
761$(O)qt_clust.o: ..\win\Qt\qt_clust.cpp $(INCL)\qt_clust.h
762	$(CXX) $(CXXFLAGS) -c ..\win\Qt\qt_clust.cpp
763$(O)monstr.o: $(SRC)\monstr.c $(CONFIG_H)
764$(O)vis_tab.o: $(SRC)\vis_tab.c $(CONFIG_H) $(INCL)\vis_tab.h
765$(O)allmain.o: $(SRC)\allmain.c $(HACK_H)
766$(O)alloc.o: $(SRC)\alloc.c $(CONFIG_H)
767$(O)apply.o: $(SRC)\apply.c $(HACK_H)
768$(O)artifact.o: $(SRC)\artifact.c $(HACK_H) $(INCL)\artifact.h $(INCL)\artilist.h
769$(O)attrib.o: $(SRC)\attrib.c $(HACK_H) $(INCL)\artifact.h
770$(O)ball.o: $(SRC)\ball.c $(HACK_H)
771$(O)bones.o: $(SRC)\bones.c $(HACK_H) $(INCL)\lev.h
772$(O)botl.o: $(SRC)\botl.c $(HACK_H)
773$(O)cmd.o: $(SRC)\cmd.c $(HACK_H) $(INCL)\func_tab.h
774$(O)dbridge.o: $(SRC)\dbridge.c $(HACK_H)
775$(O)decl.o: $(SRC)\decl.c $(HACK_H)
776$(O)detect.o: $(SRC)\detect.c $(HACK_H) $(INCL)\artifact.h
777$(O)dig.o: $(SRC)\dig.c $(HACK_H)
778$(O)display.o: $(SRC)\display.c $(HACK_H)
779$(O)dlb.o: $(SRC)\dlb.c $(CONFIG_H) $(INCL)\dlb.h
780$(O)do.o: $(SRC)\do.c $(HACK_H) $(INCL)\lev.h
781$(O)do_name.o: $(SRC)\do_name.c $(HACK_H)
782$(O)do_wear.o: $(SRC)\do_wear.c $(HACK_H)
783$(O)dog.o: $(SRC)\dog.c $(HACK_H)
784$(O)dogmove.o: $(SRC)\dogmove.c $(HACK_H) $(INCL)\mfndpos.h
785$(O)dokick.o: $(SRC)\dokick.c $(HACK_H)
786$(O)dothrow.o: $(SRC)\dothrow.c $(HACK_H)
787$(O)drawing.o: $(SRC)\drawing.c $(HACK_H) $(INCL)\tcap.h
788$(O)dungeon.o: $(SRC)\dungeon.c $(HACK_H) $(INCL)\dgn_file.h $(INCL)\dlb.h
789$(O)eat.o: $(SRC)\eat.c $(HACK_H)
790$(O)end.o: $(SRC)\end.c $(HACK_H) $(INCL)\lev.h $(INCL)\dlb.h
791$(O)engrave.o: $(SRC)\engrave.c $(HACK_H) $(INCL)\lev.h
792$(O)exper.o: $(SRC)\exper.c $(HACK_H)
793$(O)explode.o: $(SRC)\explode.c $(HACK_H)
794$(O)extralev.o: $(SRC)\extralev.c $(HACK_H)
795$(O)files.o: $(SRC)\files.c $(HACK_H) $(INCL)\dlb.h
796$(O)fountain.o: $(SRC)\fountain.c $(HACK_H)
797$(O)hack.o: $(SRC)\hack.c $(HACK_H)
798$(O)hacklib.o: $(SRC)\hacklib.c $(HACK_H)
799$(O)invent.o: $(SRC)\invent.c $(HACK_H) $(INCL)\artifact.h
800$(O)light.o: $(SRC)\light.c $(HACK_H) $(INCL)\lev.h
801$(O)lock.o: $(SRC)\lock.c $(HACK_H)
802$(O)mail.o: $(SRC)\mail.c $(HACK_H) $(INCL)\mail.h
803$(O)makemon.o: $(SRC)\makemon.c $(HACK_H)
804$(O)mapglyph.o: $(SRC)\mapglyph.c $(HACK_H)
805$(O)mcastu.o: $(SRC)\mcastu.c $(HACK_H)
806$(O)mhitm.o: $(SRC)\mhitm.c $(HACK_H) $(INCL)\artifact.h
807$(O)mhitu.o: $(SRC)\mhitu.c $(HACK_H) $(INCL)\artifact.h
808$(O)minion.o: $(SRC)\minion.c $(HACK_H)
809$(O)mklev.o: $(SRC)\mklev.c $(HACK_H)
810$(O)mkmap.o: $(SRC)\mkmap.c $(HACK_H) $(INCL)\sp_lev.h
811$(O)mkmaze.o: $(SRC)\mkmaze.c $(HACK_H) $(INCL)\sp_lev.h $(INCL)\lev.h
812$(O)mkobj.o: $(SRC)\mkobj.c $(HACK_H) $(INCL)\artifact.h
813$(O)mkroom.o: $(SRC)\mkroom.c $(HACK_H)
814$(O)mon.o: $(SRC)\mon.c $(HACK_H) $(INCL)\mfndpos.h
815$(O)mondata.o: $(SRC)\mondata.c $(HACK_H)
816$(O)monmove.o: $(SRC)\monmove.c $(HACK_H) $(INCL)\mfndpos.h $(INCL)\artifact.h
817$(O)monst.o: $(SRC)\monst.c $(CONFIG_H) $(INCL)\permonst.h $(INCL)\align.h \
818		$(INCL)\monattk.h $(INCL)\monflag.h $(INCL)\monsym.h \
819		$(INCL)\dungeon.h $(INCL)\color.h
820$(O)mplayer.o: $(SRC)\mplayer.c $(HACK_H)
821$(O)mthrowu.o: $(SRC)\mthrowu.c $(HACK_H)
822$(O)muse.o: $(SRC)\muse.c $(HACK_H)
823$(O)music.o: $(SRC)\music.c $(HACK_H) #interp.c
824$(O)o_init.o: $(SRC)\o_init.c $(HACK_H) $(INCL)\lev.h
825$(O)objects.o: $(SRC)\objects.c $(CONFIG_H) $(INCL)\obj.h $(INCL)\objclass.h \
826		$(INCL)\prop.h $(INCL)\skills.h $(INCL)\color.h
827$(O)objnam.o: $(SRC)\objnam.c $(HACK_H)
828$(O)options.o: $(SRC)\options.c $(CONFIG_H) $(INCL)\objclass.h $(INCL)\flag.h \
829		$(HACK_H) $(INCL)\tcap.h
830$(O)pager.o: $(SRC)\pager.c $(HACK_H) $(INCL)\dlb.h
831$(O)pickup.o: $(SRC)\pickup.c $(HACK_H)
832$(O)pline.o: $(SRC)\pline.c $(HACK_H)
833$(O)polyself.o: $(SRC)\polyself.c $(HACK_H)
834$(O)potion.o: $(SRC)\potion.c $(HACK_H)
835$(O)pray.o: $(SRC)\pray.c $(HACK_H)
836$(O)priest.o: $(SRC)\priest.c $(HACK_H) $(INCL)\mfndpos.h
837$(O)quest.o: $(SRC)\quest.c $(HACK_H) $(INCL)\qtext.h
838$(O)questpgr.o: $(SRC)\questpgr.c $(HACK_H) $(INCL)\dlb.h $(INCL)\qtext.h
839$(O)read.o: $(SRC)\read.c $(HACK_H)
840$(O)rect.o: $(SRC)\rect.c $(HACK_H)
841$(O)region.o: $(SRC)\region.c $(HACK_H) $(INCL)\lev.h
842$(O)restore.o: $(SRC)\restore.c $(HACK_H) $(INCL)\lev.h $(INCL)\tcap.h
843$(O)rip.o: $(SRC)\rip.c $(HACK_H)
844$(O)rnd.o: $(SRC)\rnd.c $(HACK_H)
845$(O)role.o: $(SRC)\role.c $(HACK_H)
846$(O)rumors.o: $(SRC)\rumors.c $(HACK_H) $(INCL)\lev.h $(INCL)\dlb.h
847$(O)save.o: $(SRC)\save.c $(HACK_H) $(INCL)\lev.h
848$(O)shk.o: $(SRC)\shk.c $(HACK_H)
849$(O)shknam.o: $(SRC)\shknam.c $(HACK_H)
850$(O)sit.o: $(SRC)\sit.c $(HACK_H) $(INCL)\artifact.h
851$(O)sounds.o: $(SRC)\sounds.c $(HACK_H)
852$(O)sp_lev.o: $(SRC)\sp_lev.c $(HACK_H) $(INCL)\dlb.h $(INCL)\sp_lev.h
853$(O)spell.o: $(SRC)\spell.c $(HACK_H)
854$(O)steal.o: $(SRC)\steal.c $(HACK_H)
855$(O)steed.o: $(SRC)\steed.c $(HACK_H)
856$(O)teleport.o: $(SRC)\teleport.c $(HACK_H)
857$(O)timeout.o: $(SRC)\timeout.c $(HACK_H) $(INCL)\lev.h
858$(O)topten.o: $(SRC)\topten.c $(HACK_H) $(INCL)\dlb.h $(INCL)\patchlevel.h
859$(O)track.o: $(SRC)\track.c $(HACK_H)
860$(O)trap.o: $(SRC)\trap.c $(HACK_H)
861$(O)u_init.o: $(SRC)\u_init.c $(HACK_H)
862$(O)uhitm.o: $(SRC)\uhitm.c $(HACK_H)
863$(O)vault.o: $(SRC)\vault.c $(HACK_H)
864$(O)version.o: $(SRC)\version.c $(HACK_H) $(INCL)\date.h $(INCL)\patchlevel.h
865$(O)vision.o: $(SRC)\vision.c $(HACK_H) $(INCL)\vis_tab.h
866$(O)weapon.o: $(SRC)\weapon.c $(HACK_H)
867$(O)were.o: $(SRC)\were.c $(HACK_H)
868$(O)wield.o: $(SRC)\wield.c $(HACK_H)
869$(O)windows.o: $(SRC)\windows.c $(HACK_H) $(INCL)\wingem.h $(INCL)\winGnome.h
870$(O)wizard.o: $(SRC)\wizard.c $(HACK_H) $(INCL)\qtext.h
871$(O)worm.o: $(SRC)\worm.c $(HACK_H) $(INCL)\lev.h
872$(O)worn.o: $(SRC)\worn.c $(HACK_H)
873$(O)write.o: $(SRC)\write.c $(HACK_H)
874$(O)zap.o: $(SRC)\zap.c $(HACK_H)
875
876# end of file
877
878