2 # SCCS Id: @(#)Makefile.agc 3.2 2000/01/12
3 # Copyright (c) Kenneth Lorber, Bethesda, Maryland, 1991,1992,1993,1996.
4 # NetHack may be freely redistributed. See license for details.
7 ### modified for gcc by Teemu Suikki (zu@iki.fi)
9 ### note: you need to use smake.. sorry
13 ### DIRECTORY STRUCTURE
20 NETHACK = $(NH)NetHack/
21 HACKEXE = $(NH)HackExe/
26 SHARE = $(NH)sys/share/
29 WSHARE = $(NH)win/share/
33 # NB: O and OO MUST be different directories
41 # Startup makefile with:
43 # $(MAKE) -f $(AMI)Makefile.amigcc
44 # $(MAKE) -f $(AMI)Makefile.amigcc install
46 # You may use following targets on $(MAKE) command lines:
47 # all do it all (default)
48 # link just create binary from object files
49 # obj just create common object files
50 # obja just create amiga object files
51 # objs just create shared object files
52 # clean deletes the object files
53 # spotless deletes the object files, main binary, and more
55 # Note: We do not build the Guidebook here since it needs tbl
56 # (See the file sys/unix/Makefile.doc for more information)
59 # If we were to use the precompiled header file feature in a newer version
60 # of SAS/C, we would comment out these following two lines.
61 # If we don't use precompiled header files, we uncomment it as well.
66 #Pathname for uudecode program:
69 # Flex/Bison command assignments -- Useful only if you have flex/bison
72 # FBFIL and FBLIB may be used, if required by your version of flex or bison,
73 # to specify additional files or libraries to be linked with
75 FBLIB = #lib lib:compat.lib
77 # If you're compiling this on a 1.3 system, you'll have to uncomment the
78 # following (for use with the ifchange script below). Also useful instead of
79 # "protect ifchange +s"
82 # Headers we depend on
83 AMDEP = $(AMI)winproto.h $(AMI)winext.h $(AMI)windefs.h $(I)winami.h
85 # Pathname for the C compiler being used.
90 # Compilation flags for selected C Compiler:
91 # $(CFLAGS) should appear before filename arguments of $(CC) command line.
95 # Components of various link command lines:
96 # $(LINK) should be the pathname of the linker being used (with any options
97 # that should appear at the beginning of the command line). The name of the
98 # output file should appear immediately after $(LNSPEC). $(LIN) should
99 # appear before the list of object files in each link command. $(LLINK)
100 # should appear as the list of object files in the link command line that
101 # creates the NetHack executable. $(LLIB) should appear at the end of each
104 LINK = gcc -noixemul -O3
112 CCLINK = gcc -noixemul
122 # A more reasonable random number generator (recommended for the Amiga):
124 RANDOBJ = $(O)random.o
126 .PRECIOUS: $(I)config.h $(I)decl.h $(I)hack.h $(I)permonst.h $(I)you.h
128 # Almost nothing below this line should have to be changed.
129 # (Exceptions are marked by [SAS6], [MANX], etc.)
131 # Other things that have to be reconfigured are in config.h,
132 # (amiconf.h, pcconf.h), and possibly system.h, tradstdc.h.
134 # Object files for makedefs:
137 $(OO)makedefs.o $(O)monst.o $(O)objects.o
139 # Object files for special levels compiler:
142 $(OO)lev_yacc.o $(OO)lev_lex.o $(OO)lev_main.o \
143 $(O)decl.o $(O)drawing.o $(O)monst.o \
144 $(O)objects.o $(OO)panic.o
146 # Object files for dungeon compiler
149 $(OO)dgn_yacc.o $(OO)dgn_lex.o $(OO)dgn_main.o $(O)alloc.o $(OO)panic.o
151 # Object files for NetHack:
154 $(O)allmain.o $(O)alloc.o $(O)apply.o $(O)artifact.o \
155 $(O)attrib.o $(O)ball.o $(O)bones.o $(O)botl.o \
156 $(O)cmd.o $(O)dbridge.o $(O)decl.o $(O)detect.o \
157 $(O)dig.o $(O)display.o $(O)dlb.o $(O)do.o \
158 $(O)do_name.o $(O)do_wear.o $(O)dog.o $(O)dogmove.o \
159 $(O)dokick.o $(O)dothrow.o $(O)drawing.o $(O)dungeon.o \
160 $(O)eat.o $(O)end.o $(O)engrave.o $(O)exper.o \
161 $(O)explode.o $(O)extralev.o $(O)files.o $(O)fountain.o \
162 $(O)hack.o $(O)hacklib.o $(O)invent.o $(O)light.o \
163 $(O)lock.o $(O)mail.o $(O)makemon.o $(O)mapglyph.o \
164 $(O)mcastu.o $(O)mhitm.o $(O)mhitu.o $(O)minion.o \
165 $(O)mklev.o $(O)mkmap.o $(O)mkmaze.o $(O)mkobj.o \
166 $(O)mkroom.o $(O)mon.o $(O)mondata.o $(O)monmove.o \
167 $(O)monst.o $(O)mplayer.o $(O)mthrowu.o $(O)muse.o \
168 $(O)music.o $(O)o_init.o $(O)objects.o $(O)objnam.o \
169 $(O)options.o $(O)pager.o $(O)pickup.o $(O)pline.o \
170 $(O)polyself.o $(O)potion.o $(O)pray.o $(O)priest.o \
171 $(O)quest.o $(O)questpgr.o $(O)read.o $(O)rect.o \
172 $(O)region.o $(O)restore.o $(O)rnd.o $(O)role.o \
173 $(O)rumors.o $(O)save.o $(O)shk.o $(O)shknam.o \
174 $(O)sit.o $(O)sounds.o $(O)sp_lev.o $(O)spell.o \
175 $(O)steal.o $(O)steed.o $(O)teleport.o $(O)timeout.o \
176 $(O)topten.o $(O)track.o $(O)trap.o $(O)u_init.o \
177 $(O)uhitm.o $(O)vault.o $(O)version.o $(O)vision.o \
178 $(O)weapon.o $(O)were.o $(O)wield.o $(O)windows.o \
179 $(O)wizard.o $(O)worm.o $(O)worn.o $(O)write.o \
186 $(O)amidos.o $(O)amirip.o $(O)amisnd.o $(O)amistack.o \
187 $(O)amiwind.o $(O)winami.o $(O)winchar.o $(O)winfuncs.o \
188 $(O)winkey.o $(O)winmenu.o $(O)winreq.o $(O)winstr.o
190 # Objects from assembly sources (because DMake can't handle default rules)
195 $(O)pcmain.o $(RANDOBJ)
198 $(O)getline.o $(O)termcap.o $(O)topl.o $(O)wintty.o $(O)amitty.o \
201 # Yuck yuck yuck. Have to tell DMake where these are, since they're not
202 # all in the same place.
204 $(TTY)getline.c $(TTY)termcap.c $(TTY)topl.c $(TTY)wintty.c \
205 $(AMI)amitty.c $(NHS)rip.c
207 # All the object files for NetHack:
209 HOBJ = $(COMMOBJ) $(AMIGAOBJ) $(AMIGAOBJ2) $(SHAREOBJ) $(MAKEDEFOBJ) $(TTYOBJ)
216 ADFILES1= $(SLIB)Arc-fila.lev $(SLIB)Arc-filb.lev $(SLIB)Arc-loca.lev \
218 ADFILES= $(SLIB)Arc-goal.lev $(ADFILES1)
220 BDFILES1= $(SLIB)Bar-fila.lev $(SLIB)Bar-filb.lev $(SLIB)Bar-loca.lev \
222 BDFILES= $(SLIB)Bar-goal.lev $(BDFILES1)
224 CDFILES1= $(SLIB)Cav-fila.lev $(SLIB)Cav-filb.lev $(SLIB)Cav-loca.lev \
226 CDFILES= $(SLIB)Cav-goal.lev $(CDFILES1)
228 HDFILES1= $(SLIB)Hea-fila.lev $(SLIB)Hea-filb.lev $(SLIB)Hea-loca.lev \
230 HDFILES= $(SLIB)Hea-goal.lev $(HDFILES1)
232 KDFILES1= $(SLIB)Kni-fila.lev $(SLIB)Kni-filb.lev $(SLIB)Kni-loca.lev \
234 KDFILES= $(SLIB)Kni-goal.lev $(KDFILES1)
236 MDFILES1= $(SLIB)Mon-fila.lev $(SLIB)Mon-filb.lev $(SLIB)Mon-loca.lev \
238 MDFILES= $(SLIB)Mon-goal.lev $(MDFILES1)
240 PDFILES1= $(SLIB)Pri-fila.lev $(SLIB)Pri-filb.lev $(SLIB)Pri-loca.lev \
242 PDFILES= $(SLIB)Pri-goal.lev $(PDFILES1)
244 RDFILES1= $(SLIB)Rog-fila.lev $(SLIB)Rog-filb.lev $(SLIB)Rog-loca.lev \
246 RDFILES= $(SLIB)Rog-goal.lev $(RDFILES1)
248 RANFILES1= $(SLIB)Ran-fila.lev $(SLIB)Ran-filb.lev $(SLIB)Ran-loca.lev \
250 RANFILES= $(SLIB)Ran-goal.lev $(RANFILES1)
252 SDFILES1= $(SLIB)Sam-fila.lev $(SLIB)Sam-filb.lev $(SLIB)Sam-loca.lev \
254 SDFILES= $(SLIB)Sam-goal.lev $(SDFILES1)
256 TDFILES1= $(SLIB)Tou-fila.lev $(SLIB)Tou-filb.lev $(SLIB)Tou-loca.lev \
258 TDFILES= $(SLIB)Tou-goal.lev $(TDFILES1)
260 VDFILES1= $(SLIB)Val-fila.lev $(SLIB)Val-filb.lev $(SLIB)Val-loca.lev \
262 VDFILES= $(SLIB)Val-goal.lev $(VDFILES1)
264 WDFILES1= $(SLIB)Wiz-fila.lev $(SLIB)Wiz-filb.lev $(SLIB)Wiz-loca.lev \
266 WDFILES= $(SLIB)Wiz-goal.lev $(WDFILES1)
268 XDFILES= $(ADFILES) $(BDFILES) $(CDFILES) $(HDFILES) $(KDFILES) \
269 $(MDFILES) $(PDFILES) $(RDFILES) $(RANFILES) $(SDFILES) $(TDFILES) \
270 $(VDFILES) $(WDFILES)
275 $(SLIB)sounds/Bell $(SLIB)sounds/Bugle \
276 $(SLIB)sounds/Drum_Of_Earthquake \
277 $(SLIB)sounds/Fire_Horn $(SLIB)sounds/Frost_Horn \
278 $(SLIB)sounds/Leather_Drum $(SLIB)sounds/Magic_Flute \
279 $(SLIB)sounds/Magic_Harp $(SLIB)sounds/Tooled_Horn \
280 $(SLIB)sounds/Wooden_Flute $(SLIB)sounds/Wooden_Harp
285 $(NETHACK)tiles/objects.iff \
286 $(NETHACK)tiles/monsters.iff \
287 $(NETHACK)tiles/other.iff
290 $(SLIB)air.lev $(SLIB)asmodeus.lev $(SLIB)astral.lev \
291 $(SLIB)baalz.lev $(SLIB)bigrm-1.lev $(SLIB)bigrm-2.lev \
292 $(SLIB)bigrm-3.lev $(SLIB)bigrm-4.lev $(SLIB)bigrm-5.lev \
293 $(SLIB)castle.lev $(SLIB)dungeon $(SLIB)earth.lev \
294 $(SLIB)fakewiz1.lev $(SLIB)fakewiz2.lev $(SLIB)fire.lev \
295 $(SLIB)juiblex.lev $(SLIB)knox.lev $(SLIB)medusa-1.lev \
296 $(SLIB)medusa-2.lev $(SLIB)minend-1.lev $(SLIB)minend-2.lev \
297 $(SLIB)minetn-1.lev $(SLIB)minetn-2.lev $(SLIB)minefill.lev \
298 $(SLIB)options $(SLIB)oracle.lev $(SLIB)orcus.lev \
299 $(SLIB)sanctum.lev $(SLIB)soko1-1.lev $(SLIB)soko1-2.lev \
300 $(SLIB)soko2-1.lev $(SLIB)soko2-2.lev $(SLIB)soko3-1.lev \
301 $(SLIB)soko3-2.lev $(SLIB)soko4-1.lev $(SLIB)soko4-2.lev \
302 $(SLIB)tower1.lev $(SLIB)tower2.lev $(SLIB)tower3.lev \
303 $(SLIB)valley.lev $(SLIB)water.lev $(SLIB)wizard1.lev \
304 $(SLIB)wizard2.lev $(SLIB)wizard3.lev \
307 INSTDUNGEONFILES= $(NETHACK)NetHack.cnf $(INSTDUNGEONFILES1)
311 $(NETHACK)license $(NETHACK)logfile $(NETHACK)record \
312 $(NETHACK)tomb.iff $(NETHACK)amii.hlp $(NETHACK)Recover.txt \
313 $(NETHACK)GuideBook.txt $(NETHACK)NetHack.txt $(NETHACK)Install.ami \
314 # $(NETHACK)HackWB.hlp $(NETHACK)WBDefaults.def
317 $(INSTDUNGEONFILES1) \
318 $(SLIB)cmdhelp $(SLIB)data $(SLIB)dungeon \
319 $(SLIB)help $(SLIB)hh $(SLIB)history \
320 $(SLIB)opthelp $(SLIB)oracles $(SLIB)rumors \
321 $(SLIB)quest.dat $(SLIB)wizhelp
324 ### Getting down to business:
327 all: $(COMPACT_HEADERS) $(SBIN)lev_comp $(SBIN)dgn_comp $(SBIN)NetHack \
328 $(SBIN)dlb $(NETHACK)recover #$(NETHACK)HackCli $(SBIN)splitter \
331 install: inst-data inst-dungeon inst-fonts inst-sounds inst-tiles \
332 $(NETHACK)recover $(NETHACK)NetHack $(NETHACK)nhdat
333 #$(NETHACK)NetHack.dir inst-icons
337 $(NETHACK)NetHack: $(SBIN)NetHack
338 copy $(SBIN)NetHack $(NETHACK)NetHack
340 ## uuh this is messy.. smake has weird command line length limit
342 list to t:link lformat="$(O)%s" $(O)\#?.o QUICK NOHEAD
344 echo "$(LINK) $(LNSPEC) $(SBIN)NetHack $(LIN) $(LLIB) $(LLINK) " >>t:cc noline
345 fmt -u -w 2500 t:link >>t:cc
351 $(OO)dlb_main.o: $(UTIL)dlb_main.c $(HDEP) $(I)dlb.h $(I)date.h
352 $(CC) $(CFLAGS) $(OBJSPEC)$(OO)dlb_main.o $(UTIL)dlb_main.c
354 $(SBIN)dlb: $(OO)dlb_main.o $(O)dlb.o $(O)alloc.o $(OO)panic.o
355 $(LINK) $(PNSPEC) $(SBIN)dlb $(LIN) $(OO)dlb_main.o $(O)dlb.o \
356 $(O)alloc.o $(OO)panic.o $(LLIB)
369 # The default method for creating object files:
373 $(CC) $(CFLAGS) $(CSYM) $(OBJSPEC)$@ $<
376 -delete $(O)\#?.o $(OO)\#?.o
379 -delete $(SBIN)NetHack $(SBIN)lev_comp $(SBIN)makedefs $(SBIN)dgn_comp
380 -delete $(SBIN)cvtsnd $(SBIN)dlb $(SBIN)txt2iff $(SBIN)splitter
381 -delete $(SBIN)tilemap
382 -delete $(SLIB)data $(SLIB)rumors
383 -delete $(SLIB)\#?.lev
384 -delete $(SLIB)dungeon
385 -delete $(SLIB)cmdhelp $(SLIB)help $(SLIB)hh $(SLIB)history
386 -delete $(SLIB)opthelp $(SLIB)options $(SLIB)oracles
387 -delete $(SLIB)quest.dat $(SLIB)wizhelp
388 # -delete $(SLIB)earth.lev $(SLIB)air.lev $(SLIB)fire.lev
389 # -delete $(SLIB)water.lev $(SLIB)astral.lev
390 # -delete $(SLIB)tower1.lev $(SLIB)tower2.lev $(SLIB)tower3.lev
391 # -delete $(SLIB)fakewiz1.lev $(SLIB)fakewiz2.lev
392 # -delete $(SLIB)medusa-1.lev $(SLIB)medusa-2.lev
393 # -delete $(SLIB)oracle.lev $(SLIB)wizard1.lev $(SLIB)wizard2.lev
394 # -delete $(SLIB)wizard3.lev $(DAT)dungeon.pdf $(SLIB)valley.lev
395 # -delete $(SLIB)minefill.lev
396 # -delete $(SLIB)minetn-1 $(SLIB)minetn-2 $(SLIB)minend-1 $(SLIB)minend-2
397 # -delete $(SLIB)soko1-1.lev $(SLIB)soko1-2.lev $(SLIB)soko2-1.lev
398 # -delete $(SLIB)soko2-2.lev $(SLIB)soko3-1.lev $(SLIB)soko3-2.lev
399 # -delete $(SLIB)soko4-1.lev $(SLIB)soko4-2.lev
408 # -delete $(RANFILES)
413 -delete $(I)onames.h $(I)pm.h $(I)date.h
414 -delete $(NHS)tile.c $(NHS)monstr.c
416 # -echo to $(I)onames.h "" noline
418 # -echo to $(I)pm.h "" noline
420 # -setdate $(UTIL)makedefs.c
423 # Creating precompiled version of $(I)hack.h to save disk I/O.
426 # Please note: The dependency lines for the modules here are
427 # deliberately incorrect. Including "hack.h" in
428 # the dependency list would cause a dependency
432 $(SBIN)makedefs: $(MAKEOBJS)
433 $(LINK) $(LNSPEC) $(SBIN)makedefs $(LIN) $(MAKEOBJS) $(LLIB)
435 $(OO)makedefs.o: $(UTIL)makedefs.c $(I)config.h $(I)permonst.h $(I)monsym.h \
436 $(I)objclass.h $(I)patchlevel.h $(I)qtext.h $(I)artilist.h
437 $(CC) $(DEFSPEC)MAKEDEFS_C $(CFLAGS) $(OBJSPEC)$@ $(UTIL)makedefs.c
439 $(SBIN)lev_comp: $(SPLEVOBJS)
440 $(LINK) $(LNSPEC) $(SBIN)lev_comp $(LIN) $(SPLEVOBJS) $(FBFIL) $(FLLIB)
442 $(SBIN)dgn_comp: $(DGNCOMPOBJS)
443 $(LINK) $(LNSPEC) $(SBIN)dgn_comp $(LIN) $(DGNCOMPOBJS) $(FBFIL) $(FLLIB)
445 $(OO)lev_yacc.o: $(UTIL)lev_yacc.c $(HDEP) $(I)sp_lev.h $(I)pm.h $(I)onames.h
446 # setdate $(UTIL)lev_yacc.c
447 $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)PREFIX="NH:slib/" $(CFLAGS) \
448 $(DEFSPEC)alloca=malloc $(OBJSPEC)$@ $(UTIL)lev_yacc.c
450 $(OO)lev_lex.o: $(UTIL)lev_lex.c $(HDEP) $(I)lev_comp.h $(I)sp_lev.h
451 $(CC) $(DEFSPEC)LEV_LEX_C $(CFLAGS) $(OBJSPEC)$@ $(UTIL)lev_lex.c
453 $(OO)lev_main.o: $(UTIL)lev_main.c $(HDEP) $(I)pm.h $(I)onames.h $(I)date.h
454 $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)AMIGA $(CFLAGS) $(OBJSPEC)$@ \
457 $(OO)dgn_yacc.o: $(UTIL)dgn_yacc.c $(HDEP) $(I)dgn_file.h $(I)patchlevel.h
458 $(CC) $(DEFSPEC)LEV_LEX_C $(CFLAGS) $(DEFSPEC)alloca=malloc \
459 $(OBJSPEC)$@ $(UTIL)dgn_yacc.c
461 $(OO)dgn_lex.o: $(UTIL)dgn_lex.c $(I)config.h $(I)dgn_comp.h $(I)dgn_file.h
462 $(CC) $(DEFSPEC)LEV_LEX_C $(CFLAGS) $(OBJSPEC)$@ $(UTIL)dgn_lex.c
464 $(OO)dgn_main.o: $(UTIL)dgn_main.c $(I)config.h $(I)date.h
465 $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)AMIGA $(CFLAGS) $(OBJSPEC)$@ \
468 $(OO)panic.o: $(UTIL)panic.c $(HDEP)
470 $(OO)recover.o: $(UTIL)recover.c $(I)config.h $(I)date.h
471 $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)AMIGA $(CFLAGS) $(OBJSPEC)$@ \
474 $(NETHACK)recover: $(OO)recover.o
475 $(LINK) $(LNSPEC) $(NETHACK)recover $(LIN) $(OO)recover.o $(LLIB)
477 # [OPTION] -- If you have flex/bison, leave these uncommented. Otherwise,
478 # comment them out and be careful! (You're not guaranteed to have the most
479 # up to date *_comp.c, *_comp.h and *_lex.c)
481 $(I)lev_comp.h: $(UTIL)lev_yacc.c $(I)patchlevel.h
483 $(UTIL)lev_yacc.c: $(UTIL)lev_comp.y $(I)patchlevel.h
484 $(BISON) -d $(UTIL)lev_comp.y
485 # copy y.tab.c $(UTIL)lev_yacc.c
486 # copy y.tab.h $(I)lev_comp.h
487 copy $(UTIL)lev_comp.tab.c $(UTIL)lev_yacc.c
488 copy $(UTIL)lev_comp.tab.h $(I)lev_comp.h
491 delete $(UTIL)lev_comp.tab.c
492 delete $(UTIL)lev_comp.tab.h
494 $(UTIL)lev_lex.c: $(UTIL)lev_comp.l $(I)patchlevel.h
495 $(FLEX) $(UTIL)lev_comp.l
496 copy lex.yy.c $(UTIL)lev_lex.c
499 $(I)dgn_comp.h: $(UTIL)dgn_yacc.c $(I)patchlevel.h
501 $(UTIL)dgn_yacc.c: $(UTIL)dgn_comp.y $(I)patchlevel.h
502 $(BISON) -d $(UTIL)dgn_comp.y
503 # copy y.tab.c $(UTIL)dgn_yacc.c
504 # copy y.tab.h $(I)dgn_comp.h
505 copy $(UTIL)dgn_comp.tab.c $(UTIL)dgn_yacc.c
506 copy $(UTIL)dgn_comp.tab.h $(I)dgn_comp.h
509 delete $(UTIL)dgn_comp.tab.c
510 delete $(UTIL)dgn_comp.tab.h
512 $(UTIL)dgn_lex.c: $(UTIL)dgn_comp.l $(I)patchlevel.h
513 $(FLEX) $(UTIL)dgn_comp.l
514 copy lex.yy.c $(UTIL)dgn_lex.c
518 # The following include files depend on makedefs to be created.
519 # As a result, they are not defined in HACKINCL, instead, their
520 # dependencies are explicitly outlined here.
524 # date.h should be remade any time any of the source or include code
525 # is modified. Unfortunately, this would make the contents of this
526 # file far more complex. Since "hack.h" depends on most of the include
527 # files, we kludge around this by making date.h dependent on hack.h,
528 # even though it doesn't include this file.
531 $(I)date.h $(DAT)options: $(HDEP) $(SBIN)makedefs $(AMIGAOBJ) $(I)patchlevel.h
533 $(EXECUTE) ifchange MOVE $(I)t.date.h $(I)date.h
536 $(I)onames.h: $(SBIN)makedefs
538 $(EXECUTE) ifchange TOUCH $(I)t.onames.h $(I)onames.h $(I)decl.h
539 $(EXECUTE) ifchange MOVE $(I)t.onames.h $(I)onames.h
542 $(I)pm.h: $(SBIN)makedefs
544 $(EXECUTE) ifchange TOUCH $(I)t.pm.h $(I)pm.h $(I)decl.h $(I)youprop.h
545 $(EXECUTE) ifchange MOVE $(I)t.pm.h $(I)pm.h
548 $(SLIB)quest.dat: $(DAT)quest.txt $(SBIN)makedefs
551 $(NHS)monstr.c: $(HDEP) $(SBIN)makedefs
555 $(SLIB)oracles: $(DAT)oracles.txt $(SBIN)makedefs
560 # The following programs vary depending on what OS you are using.
561 # As a result, they are not defined in HACKSRC and their dependencies
562 # are explicitly outlined here.
565 $(O)amidos.o: $(AMI)amidos.c $(HDEP)
567 $(O)amirip.o: $(AMI)amirip.c $(HDEP)
569 $(O)aglue.o: $(AMI)aglue.a
570 $(ASM) $(AFLAGS) $(AOBJSPEC)$(O)aglue.o $(AMI)aglue.a
572 $(O)amisnd.o: $(AMI)amisnd.c $(HDEP)
574 $(O)winchar.o: $(AMI)winchar.c $(NHS)tile.c $(HDEP)
576 $(NHS)tile.c: $(WSHARE)tilemap.c
577 $(CCLINK) $(CFLAGS) $(PNSPEC) $(SBIN)tilemap $(WSHARE)tilemap.c
580 $(O)winstr.o: $(AMI)winstr.c $(HDEP) $(AMDEP)
582 $(O)winreq.o: $(AMI)winreq.c $(HDEP) $(AMDEP) $(AMI)colorwin.c $(AMI)clipwin.c
584 $(O)winfuncs.o: $(AMI)winfuncs.c $(HDEP) $(AMDEP) $(I)patchlevel.h
586 $(O)winkey.o: $(AMI)winkey.c $(HDEP) $(AMDEP)
588 $(O)winmenu.o: $(AMI)winmenu.c $(HDEP) $(AMDEP)
590 $(O)winami.o: $(AMI)winami.c $(HDEP) $(AMDEP) #$(AMI)char.c $(AMI)randwin.c
592 #$(O)amilib.o: $(AMI)amilib.c $(HDEP) $(AMDEP)
594 $(O)amiwind.o: $(AMI)amiwind.c $(AMI)amimenu.c $(HDEP) $(AMDEP)
596 $(O)amiwbench.o: $(AMI)amiwbench.c $(HDEP)
598 $(O)random.o: $(SHARE)random.c
600 $(O)pcmain.o: $(SHARE)pcmain.c $(HDEP) $(I)dlb.h
602 $(O)dispmap.o: $(AMI)dispmap.s
603 $(ASM) $(AFLAGS) $(AOBJSPEC)$@ $<
605 # Stuff to build the front ends
606 $(NETHACK)HackWB: $(OO)wb.o $(OO)wbx.o $(OO)loader.o $(OO)multi.o
607 $(LINK) $(LNSPEC) $(NETHACK)HackWB $(LIN) $(OO)wb.o $(OO)wbx.o \
608 $(OO)loader.o $(OO)multi.o $(LLIB)
610 $(NETHACK)HackCli: $(OO)cli.o $(OO)loader.o $(OO)multi.o
611 $(LINK) $(LNSPEC) $(NETHACK)HackCli $(LIN) $(OO)cli.o $(OO)loader.o \
614 # This needs to exist to eliminate the HackWB startup message
615 $(NETHACK)WBDefaults.def:
616 echo to $(NETHACK)WBDefaults.def
618 WBH = $(AMI)wbdefs.h $(AMI)wbstruct.h $(AMI)wbprotos.h
620 $(OO)wb.o: $(WBH) $(AMI)wb.c $(AMI)wbwin.c $(AMI)wbdata.c $(AMI)wbgads.c \
622 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)wb.o $(AMI)wb.c
624 $(OO)wbx.o: $(WBH) $(AMI)wbcli.c $(AMI)wbwin.c $(AMI)wbdata.c \
625 $(I)patchlevel.h $(I)date.h
626 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)wbx.o $(AMI)wbcli.c
628 $(OO)loader.o: $(ASP)/loader.c $(ASP)/split.h $(ASP)/amiout.h $(ASP)/multi.h
629 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)loader.o $(ASP)/loader.c
631 $(OO)multi.o: $(ASP)/multi.c $(ASP)/multi.h
632 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)multi.o $(ASP)/multi.c
634 $(OO)cli.o: $(WBH) $(AMI)wbcli.c $(I)patchlevel.h $(I)date.h
635 $(CC) $(WBCFLAGS) $(WBC2FLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)cli.o \
640 $(SBIN)splitter: $(OO)splitter.o $(OO)arg.o
641 $(LINK) $(LNSPEC) $(SBIN)splitter $(LIN) $(OO)splitter.o $(OO)arg.o \
644 $(NETHACK)NetHack.dir: $(SBIN)splitter $(SBIN)NetHack
645 $(SBIN)splitter $(SBIN)NetHack
647 $(OO)splitter.o: $(ASP)/splitter.c $(ASP)/split.h $(ASP)/amiout.h $(ASP)/arg.h
648 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)splitter.o \
651 $(OO)arg.o: $(ASP)/arg.c $(ASP)/arg.h
652 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)arg.o $(ASP)/arg.c
654 # Create/copy other stuff into NetHack: directory:
656 $(NETHACK)tomb.iff: $(SBIN)xpm2iff $(AMI)grave16.xpm
657 $(SBIN)xpm2iff $(AMI)grave16.xpm $(NETHACK)tomb.iff
659 $(OO)xpm2iff.o: $(AMI)xpm2iff.c
660 $(CC) $(CFLAGS) $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ $(AMI)xpm2iff.c
662 $(SBIN)xpm2iff: $(OO)xpm2iff.o
663 $(LINK) $(LNSPEC) $@ $(LIN) $(OO)xpm2iff.o $(FLLIB)
665 # Tile installation for the tile version of the game
666 inst-tiles: $(TILEFILES)
669 -makedir $(NETHACK)tiles
671 $(OO)txt2iff.o: $(AMI)txt2iff.c
672 $(CC) $(CFLAGS) $(CSYM) $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ \
675 $(OO)ppmwrite.o: $(WSHARE)ppmwrite.c
676 $(CC) $(CFLAGS) $(CSYM) $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ $(WSHARE)ppmwrite.c
678 $(OO)tiletext.o: $(WSHARE)tiletext.c $(I)config.h $(WSHARE)tile.h
679 $(CC) $(CFLAGS) $(CSYM) $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ $(WSHARE)tiletext.c
681 $(OO)tiletxt.o: $(WSHARE)tilemap.c $(I)hack.h
682 $(CC) $(CFLAGS) $(CSYM) $(DEFSPEC)TILETEXT $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ $(WSHARE)tilemap.c
684 NAMEOBJS = $(O)drawing.o $(O)decl.o $(O)monst.o $(O)objects.o
686 $(SBIN)txt2ppm: $(OO)ppmwrite.o $(NAMEOBJS) $(O)alloc.o $(OO)panic.o $(OO)tiletext.o $(OO)tiletxt.o
687 $(LINK) $(LNSPEC) $@ $(LIN) $(OO)ppmwrite.o $(NAMEOBJS) $(OO)tiletext.o $(OO)tiletxt.o $(O)alloc.o $(OO)panic.o $(FLLIB)
689 $(SBIN)txt2iff: $(OO)txt2iff.o $(NAMEOBJS) $(OO)tiletext.o $(OO)tiletxt.o
690 $(LINK) $(LNSPEC) $@ $(LIN) $(OO)txt2iff.o $(NAMEOBJS) $(OO)tiletext.o \
691 $(OO)tiletxt.o $(FLLIB)
693 $(NETHACK)tiles/objects.iff: $(WSHARE)objects.txt $(SBIN)txt2iff
694 $(SBIN)txt2iff $(WSHARE)objects.txt $(NETHACK)tiles/objects.iff
696 $(NETHACK)tiles/monsters.iff: $(WSHARE)monsters.txt $(SBIN)txt2iff
697 $(SBIN)txt2iff $(WSHARE)monsters.txt $(NETHACK)tiles/monsters.iff
699 $(NETHACK)tiles/other.iff: $(WSHARE)other.txt $(SBIN)txt2iff
700 $(SBIN)txt2iff $(WSHARE)other.txt $(NETHACK)tiles/other.iff
702 # Sound installation rules.
703 inst-sounds: $(SOUNDFILES)
704 list to T:nhsdat.lst $(SLIB)sounds QUICK NOHEAD
705 echo >T:make-nhsdat $(SBIN)dlb cCfI $(SLIB)sounds $(NETHACK)nhsdat T:nhsdat.lst
706 echo >>T:make-nhsdat if not exists $(NETHACK)nhsdat
707 echo >>T:make-nhsdat copy $(SLIB)sounds/\#? $(NETHACK)sounds
708 echo >>T:make-nhsdat endif
709 execute T:make-nhsdat
710 -delete T:make-nhsdat
713 -makedir $(SLIB)sounds
715 $(SBIN)cvtsnd: $(OO)cvtsnd.o
716 $(LINK) $(LNSPEC) $@ $(LIN) $(OO)cvtsnd.o $(FLLIB)
718 $(OO)cvtsnd.o: $(AMI)cvtsnd.c
720 $(SLIB)sounds/Bell: $(SHARE)sounds/bell.uu
721 $(UUDEC) $(SHARE)sounds/bell.uu
722 $(SBIN)cvtsnd Bell $(SLIB)sounds/Bell
725 $(SLIB)sounds/Bugle: $(SHARE)sounds/bugle.uu
726 $(UUDEC) $(SHARE)sounds/bugle.uu
727 $(SBIN)cvtsnd Bugle $(SLIB)sounds/Bugle
730 $(SLIB)sounds/Drum_Of_Earthquake: $(SHARE)sounds/erthdrum.uu
731 $(UUDEC) $(SHARE)sounds/erthdrum.uu
732 $(SBIN)cvtsnd Drum_Of_Earthquake $(SLIB)sounds/Drum_Of_Earthquake
733 -delete Drum_Of_Earthquake
735 $(SLIB)sounds/Fire_Horn: $(SHARE)sounds/firehorn.uu
736 $(UUDEC) $(SHARE)sounds/firehorn.uu
737 $(SBIN)cvtsnd Fire_Horn $(SLIB)sounds/Fire_Horn
740 $(SLIB)sounds/Frost_Horn: $(SHARE)sounds/frsthorn.uu
741 $(UUDEC) $(SHARE)sounds/frsthorn.uu
742 $(SBIN)cvtsnd Frost_Horn $(SLIB)sounds/Frost_Horn
745 $(SLIB)sounds/Leather_Drum: $(SHARE)sounds/lethdrum.uu
746 $(UUDEC) $(SHARE)sounds/lethdrum.uu
747 $(SBIN)cvtsnd Leather_Drum $(SLIB)sounds/Leather_Drum
750 $(SLIB)sounds/Magic_Flute: $(SHARE)sounds/mgcflute.uu
751 $(UUDEC) $(SHARE)sounds/mgcflute.uu
752 $(SBIN)cvtsnd Magic_Flute $(SLIB)sounds/Magic_Flute
755 $(SLIB)sounds/Magic_Harp: $(SHARE)sounds/mgcharp.uu
756 $(UUDEC) $(SHARE)sounds/mgcharp.uu
757 $(SBIN)cvtsnd Magic_Harp $(SLIB)sounds/Magic_Harp
760 $(SLIB)sounds/Tooled_Horn: $(SHARE)sounds/toolhorn.uu
761 $(UUDEC) $(SHARE)sounds/toolhorn.uu
762 $(SBIN)cvtsnd Tooled_Horn $(SLIB)sounds/Tooled_Horn
765 $(SLIB)sounds/Wooden_Flute: $(SHARE)sounds/wdnflute.uu
766 $(UUDEC) $(SHARE)sounds/wdnflute.uu
767 $(SBIN)cvtsnd Wooden_Flute $(SLIB)sounds/Wooden_Flute
770 $(SLIB)sounds/Wooden_Harp: $(SHARE)sounds/wdnharp.uu
771 $(UUDEC) $(SHARE)sounds/wdnharp.uu
772 $(SBIN)cvtsnd Wooden_Harp $(SLIB)sounds/Wooden_Harp
775 inst-dungeon: $(INSTDUNGEONFILES)
777 $(NETHACK)options : $(DAT)options
778 copy $(DAT)options $@
780 # Create compiled dungeon files
781 BGM= $(SLIB)bigrm-2.lev $(SLIB)bigrm-3.lev $(SLIB)bigrm-4.lev $(SLIB)bigrm-5.lev
782 $(BGM): $(SLIB)bigrm-1.lev
784 $(SLIB)bigrm-1.lev: $(DAT)bigroom.des $(SBIN)lev_comp
786 $(SLIB)castle.lev: $(DAT)castle.des $(SBIN)lev_comp
788 ENDGAME1= $(SLIB)air.lev $(SLIB)earth.lev $(SLIB)fire.lev $(SLIB)water.lev
789 $(ENDGAME1): $(SLIB)astral.lev
791 $(SLIB)astral.lev: $(DAT)endgame.des $(SBIN)lev_comp
793 GEHENNOM1= $(SLIB)asmodeus.lev $(SLIB)baalz.lev $(SLIB)juiblex.lev \
794 $(SLIB)orcus.lev $(SLIB)sanctum.lev
795 $(GEHENNOM1): $(SLIB)valley.lev
797 $(SLIB)valley.lev: $(DAT)gehennom.des $(SBIN)lev_comp
799 $(SLIB)knox.lev: $(DAT)knox.des $(SBIN)lev_comp
801 MINES1= $(SLIB)minend-1.lev $(SLIB)minend-2.lev $(SLIB)minetn-1.lev $(SLIB)minetn-2.lev
802 $(MINES1): $(SLIB)minefill.lev
804 $(SLIB)minefill.lev: $(DAT)mines.des $(SBIN)lev_comp
806 $(SLIB)oracle.lev: $(DAT)oracle.des $(SBIN)lev_comp
808 TOWER1= $(SLIB)tower1.lev $(SLIB)tower2.lev
809 $(TOWER1): $(SLIB)tower3.lev
811 $(SLIB)tower3.lev: $(DAT)tower.des $(SBIN)lev_comp
813 WIZARD1= $(SLIB)wizard1.lev $(SLIB)wizard2.lev $(SLIB)wizard3.lev \
815 $(WIZARD1): $(SLIB)fakewiz2.lev
817 $(SLIB)fakewiz2.lev: $(DAT)yendor.des $(SBIN)lev_comp
819 MEDUSA1= $(SLIB)medusa-1.lev
820 $(MEDUSA1): $(SLIB)medusa-2.lev
822 $(SLIB)medusa-2.lev: $(DAT)medusa.des $(SBIN)lev_comp
824 SOKOBAN1= $(SLIB)soko1-1.lev $(SLIB)soko1-2.lev $(SLIB)soko2-1.lev \
825 $(SLIB)soko2-2.lev $(SLIB)soko3-1.lev $(SLIB)soko3-2.lev \
827 $(SOKOBAN1): $(SLIB)soko4-2.lev
829 $(SLIB)soko4-2.lev: $(DAT)sokoban.des $(SBIN)lev_comp
831 $(ADFILES1): $(SLIB)Arc-goal.lev
833 $(SLIB)Arc-goal.lev: $(DAT)Arch.des $(SBIN)lev_comp
835 $(BDFILES1): $(SLIB)Bar-goal.lev
837 $(SLIB)Bar-goal.lev: $(DAT)Barb.des $(SBIN)lev_comp
839 $(CDFILES1): $(SLIB)Cav-goal.lev
841 $(SLIB)Cav-goal.lev: $(DAT)Caveman.des $(SBIN)lev_comp
843 $(HDFILES1): $(SLIB)Hea-goal.lev
845 $(SLIB)Hea-goal.lev: $(DAT)Healer.des $(SBIN)lev_comp
847 $(KDFILES1): $(SLIB)Kni-goal.lev
849 $(SLIB)Kni-goal.lev: $(DAT)Knight.des $(SBIN)lev_comp
851 $(MDFILES1): $(SLIB)Mon-goal.lev
853 $(SLIB)Mon-goal.lev: $(DAT)Monk.des $(SBIN)lev_comp
855 $(PDFILES1): $(SLIB)Pri-goal.lev
857 $(SLIB)Pri-goal.lev: $(DAT)Priest.des $(SBIN)lev_comp
859 $(RDFILES1): $(SLIB)Rog-goal.lev
861 $(SLIB)Rog-goal.lev: $(DAT)Rogue.des $(SBIN)lev_comp
863 $(RANFILES1): $(SLIB)Ran-goal.lev
865 $(SLIB)Ran-goal.lev: $(DAT)Ranger.des $(SBIN)lev_comp
867 $(SDFILES1): $(SLIB)Sam-goal.lev
869 $(SLIB)Sam-goal.lev: $(DAT)Samurai.des $(SBIN)lev_comp
871 $(TDFILES1): $(SLIB)Tou-goal.lev
873 $(SLIB)Tou-goal.lev: $(DAT)Tourist.des $(SBIN)lev_comp
875 $(VDFILES1): $(SLIB)Val-goal.lev
877 $(SLIB)Val-goal.lev: $(DAT)Valkyrie.des $(SBIN)lev_comp
879 $(WDFILES1): $(SLIB)Wiz-goal.lev
881 $(SLIB)Wiz-goal.lev: $(DAT)Wizard.des $(SBIN)lev_comp
883 $(SLIB)dungeon: $(DAT)dungeon.def $(SBIN)makedefs $(SBIN)dgn_comp
885 $(SBIN)dgn_comp $(DAT)dungeon.pdf
886 copy $(DAT)dungeon $(SLIB)dungeon
889 inst-data: $(INSTDATAFILES)
891 $(NETHACK)amii.hlp: $(AMI)amii.hlp
892 copy $(AMI)amii.hlp $@
894 #$(NETHACK)data: $(DAT)data
897 $(SLIB)data: $(DAT)data.base $(I)config.h $(SBIN)makedefs
900 #$(NETHACK)rumors: $(DAT)rumors
901 # copy $(DAT)rumors $@
903 $(SLIB)rumors: $(DAT)rumors.tru $(DAT)rumors.fal $(SBIN)makedefs
906 $(SLIB)cmdhelp: $(DAT)cmdhelp
907 copy $(DAT)cmdhelp $@
909 $(SLIB)help: $(DAT)help
915 $(NETHACK)HackWB.hlp: $(AMI)HackWB.hlp
916 copy $(AMI)HackWB.hlp $@
918 $(SLIB)history: $(DAT)history
919 copy $(DAT)history $@
921 $(NETHACK)license: $(DAT)license
922 copy $(DAT)license $@
924 $(SLIB)opthelp: $(DAT)opthelp
925 copy $(DAT)opthelp $@
927 $(NETHACK)Recover.txt: $(DOC)Recover.txt
928 copy $(DOC)Recover.txt $@
930 $(NETHACK)GuideBook.txt: $(DOC)GuideBook.txt
931 copy $(DOC)GuideBook.txt $@
933 $(NETHACK)NetHack.txt: $(DOC)NetHack.txt
934 copy $(DOC)NetHack.txt $@
936 $(NETHACK)Install.ami: $(AMI)Install.ami
937 copy $(AMI)Install.ami $@
945 $(SLIB)wizhelp: $(DAT)wizhelp
946 copy $(DAT)wizhelp $@
948 # Create the directories here because NetHack.cnf puts them there by default
949 $(NETHACK)NetHack.cnf: $(AMI)NetHack.cnf
950 copy $(AMI)NetHack.cnf $@
951 -makedir $(NETHACK)save
952 -makedir $(NETHACK)levels
954 # Unpack and install fonts
956 INSTFONTFILES= $(NETHACK)hack.font $(NETHACK)hack $(NETHACK)hack/8
958 inst-fonts: $(INSTFONTFILES)
960 $(NETHACK)hack/8: $(AMI)amifont8.uu $(NETHACK)hack
961 $(UUDEC) $(AMI)amifont8.uu
962 copy 8 $(NETHACK)hack/8
965 $(NETHACK)hack.font: $(AMI)amifont.uu
966 $(UUDEC) $(AMI)amifont.uu
967 copy hack.font $(NETHACK)hack.font
974 $(NETHACK)default.icon $(NETHACK)NetHack.info $(NETHACK)NewGame.info \
975 $(NETHACK)HackWB.info
977 inst-icons: $(INSTICONFILES)
979 # Unpack the icons into place
981 $(NETHACK)default.icon: $(AMI)dflticon.uu
982 $(UUDEC) $(AMI)dflticon.uu
983 # copy default.icon $(NETHACK)default.icon
984 # delete default.icon
986 $(NETHACK)NetHack.info: $(AMI)NHinfo.uu
987 $(UUDEC) $(AMI)NHinfo.uu
988 # copy NetHack.info $(NETHACK)NetHack.info
989 # delete NetHack.info
991 $(NETHACK)NewGame.info: $(AMI)NewGame.uu
992 $(UUDEC) $(AMI)NewGame.uu
993 # copy NewGame.info $(NETHACK)NewGame.info
994 # delete NewGame.info
996 $(NETHACK)HackWB.info: $(AMI)HackWB.uu
997 $(UUDEC) $(AMI)HackWB.uu
998 # copy HackWB.info $(NETHACK)HackWB.info
1001 # If DLB is defined, create the nhdat library file in the playground
1002 # directory. If not, move all the data files there.
1003 $(NETHACK)nhdat: $(LIBFILES)
1004 list to T:nhdat.lst $(SLIB) QUICK NOHEAD FILES
1005 echo >T:make-nhdat $(SBIN)dlb cCfI $(SLIB) $(NETHACK)nhdat T:nhdat.lst
1006 echo >>T:make-nhdat if not exists $(NETHACK)nhdat
1007 echo >>T:make-nhdat copy $(SLIB)\#? $(NETHACK)
1008 echo >>T:make-nhdat endif
1009 execute T:make-nhdat
1010 -delete T:make-nhdat
1012 # DO NOT DELETE THIS LINE
1014 $(O)allmain.o: $(NHS)allmain.c $(HDEP)
1016 $(O)alloc.o: $(NHS)alloc.c $(I)config.h
1018 $(O)apply.o: $(NHS)apply.c $(HDEP) $(I)edog.h
1019 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)apply.c
1021 $(O)artifact.o: $(NHS)artifact.c $(HDEP) $(I)artifact.h $(I)artilist.h
1023 $(O)attrib.o: $(NHS)attrib.c $(HDEP) $(I)artifact.h
1025 $(O)ball.o: $(NHS)ball.c $(HDEP)
1027 $(O)bones.o: $(NHS)bones.c $(HDEP) $(I)lev.h
1029 $(O)botl.o: $(NHS)botl.c $(HDEP)
1031 $(O)cmd.o: $(NHS)cmd.c $(HDEP) $(I)func_tab.h
1033 $(O)dbridge.o: $(NHS)dbridge.c $(HDEP)
1035 $(O)decl.o: $(NHS)decl.c $(HDEP) $(I)quest.h
1037 $(O)detect.o: $(NHS)detect.c $(HDEP) $(I)artifact.h
1039 $(O)dig.o: $(NHS)dig.c $(HDEP) $(I)edog.h
1041 $(O)display.o: $(NHS)display.c $(HDEP)
1043 $(O)dlb.o: $(NHS)dlb.c $(HDEP) $(I)dlb.h
1045 $(O)do.o: $(NHS)do.c $(HDEP) $(I)lev.h
1047 $(O)do_name.o: $(NHS)do_name.c $(HDEP)
1049 $(O)do_wear.o: $(NHS)do_wear.c $(HDEP)
1051 $(O)dog.o: $(NHS)dog.c $(HDEP) $(I)edog.h
1053 $(O)dogmove.o: $(NHS)dogmove.c $(HDEP) $(I)mfndpos.h $(I)edog.h
1055 $(O)dokick.o: $(NHS)dokick.c $(HDEP) $(I)eshk.h
1057 $(O)dothrow.o: $(NHS)dothrow.c $(HDEP)
1059 $(O)drawing.o: $(NHS)drawing.c $(HDEP) $(I)tcap.h
1060 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)drawing.c
1062 $(O)dungeon.o: $(NHS)dungeon.c $(HDEP) $(I)dgn_file.h $(I)dlb.h
1064 $(O)eat.o: $(NHS)eat.c $(HDEP)
1066 $(O)end.o: $(NHS)end.c $(HDEP) $(I)eshk.h $(I)dlb.h
1068 $(O)engrave.o: $(NHS)engrave.c $(HDEP) $(I)lev.h
1070 $(O)exper.o: $(NHS)exper.c $(HDEP)
1072 $(O)explode.o: $(NHS)explode.c $(HDEP)
1074 $(O)extralev.o: $(NHS)extralev.c $(HDEP)
1076 $(O)files.o: $(NHS)files.c $(HDEP) $(I)dlb.h $(I)date.h
1078 $(O)fountain.o: $(NHS)fountain.c $(HDEP)
1080 $(O)hack.o: $(NHS)hack.c $(HDEP)
1082 $(O)hacklib.o: $(NHS)hacklib.c $(HDEP)
1084 $(O)invent.o: $(NHS)invent.c $(HDEP) $(I)artifact.h
1086 $(O)light.o: $(NHS)light.c $(HDEP) $(I)lev.h
1088 $(O)lock.o: $(NHS)lock.c $(HDEP)
1090 $(O)mail.o: $(NHS)mail.c $(HDEP) $(I)mail.h
1092 $(O)makemon.o: $(NHS)makemon.c $(HDEP) $(I)epri.h $(I)emin.h $(I)edog.h
1094 $(O)mapglyph.o: $(NHS)mapglyph.c $(HDEP)
1096 $(O)mcastu.o: $(NHS)mcastu.c $(HDEP)
1098 $(O)mhitm.o: $(NHS)mhitm.c $(HDEP) $(I)artifact.h $(I)edog.h
1100 $(O)mhitu.o: $(NHS)mhitu.c $(HDEP) $(I)artifact.h $(I)edog.h
1101 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)mhitu.c
1103 $(O)minion.o: $(NHS)minion.c $(HDEP) $(I)emin.h $(I)epri.h
1105 $(O)mklev.o: $(NHS)mklev.c $(HDEP)
1107 $(O)mkmap.o: $(NHS)mkmap.c $(HDEP) $(I)sp_lev.h
1109 $(O)mkmaze.o: $(NHS)mkmaze.c $(HDEP) $(I)sp_lev.h $(I)lev.h
1111 $(O)mkobj.o: $(NHS)mkobj.c $(HDEP) $(I)artifact.h $(I)prop.h
1113 $(O)mkroom.o: $(NHS)mkroom.c $(HDEP)
1115 $(O)mon.o: $(NHS)mon.c $(HDEP) $(I)mfndpos.h $(I)edog.h
1117 $(O)mondata.o: $(NHS)mondata.c $(HDEP) $(I)eshk.h $(I)epri.h
1119 $(O)monmove.o: $(NHS)monmove.c $(HDEP) $(I)mfndpos.h $(I)artifact.h
1121 $(O)monst.o: $(NHS)monst.c $(I)config.h $(I)permonst.h $(I)monsym.h \
1122 $(I)eshk.h $(I)vault.h $(I)epri.h $(I)color.h
1124 $(O)monstr.o: $(NHS)monstr.c $(HDEP)
1126 $(O)mplayer.o: $(NHS)mplayer.c $(HDEP)
1128 $(O)mthrowu.o: $(NHS)mthrowu.c $(HDEP)
1130 $(O)muse.o: $(NHS)muse.c $(HDEP)
1131 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)muse.c
1133 $(O)music.o: $(NHS)music.c $(HDEP) #interp.c
1135 $(O)o_init.o: $(NHS)o_init.c $(HDEP) $(I)lev.h
1137 $(O)objects.o: $(NHS)objects.c $(I)config.h $(I)obj.h $(I)objclass.h \
1138 $(I)prop.h $(I)skills.h $(I)color.h
1139 $(CC) $(CFLAGS) $(INCLSPEC)$(NHS) $(OBJSPEC)$@ $(NHS)objects.c
1141 $(O)objnam.o: $(NHS)objnam.c $(HDEP)
1143 $(O)options.o: $(NHS)options.c $(HDEP) $(I)tcap.h $(I)config.h \
1144 $(I)objclass.h $(I)flag.h
1146 $(O)pager.o: $(NHS)pager.c $(HDEP) $(I)dlb.h
1148 $(O)pickup.o: $(NHS)pickup.c $(HDEP)
1150 $(O)pline.o: $(NHS)pline.c $(HDEP) $(I)epri.h
1152 $(O)polyself.o: $(NHS)polyself.c $(HDEP)
1154 $(O)potion.o: $(NHS)potion.c $(HDEP)
1156 $(O)pray.o: $(NHS)pray.c $(HDEP) $(I)epri.h
1158 $(O)priest.o: $(NHS)priest.c $(HDEP) $(I)mfndpos.h $(I)eshk.h $(I)epri.h \
1161 $(O)quest.o: $(NHS)quest.c $(HDEP) $(I)quest.h $(I)qtext.h
1163 $(O)questpgr.o: $(NHS)questpgr.c $(HDEP) $(I)qtext.h $(I)dlb.h
1165 $(O)read.o: $(NHS)read.c $(HDEP)
1167 $(O)rect.o: $(NHS)rect.c $(HDEP)
1169 $(O)region.o: $(NHS)region.c $(HDEP)
1171 $(O)restore.o: $(NHS)restore.c $(HDEP) $(I)lev.h $(I)tcap.h $(I)quest.h
1173 $(O)rnd.o: $(NHS)rnd.c $(HDEP)
1175 $(O)role.o: $(NHS)role.c $(HDEP)
1177 $(O)rumors.o: $(NHS)rumors.c $(HDEP) $(I)dlb.h
1179 $(O)save.o: $(NHS)save.c $(HDEP) $(I)lev.h $(I)quest.h
1181 $(O)shk.o: $(NHS)shk.c $(HDEP) $(I)eshk.h
1182 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)shk.c
1184 $(O)shknam.o: $(NHS)shknam.c $(HDEP) $(I)eshk.h
1186 $(O)sit.o: $(NHS)sit.c $(HDEP) $(I)artifact.h
1188 $(O)sounds.o: $(NHS)sounds.c $(HDEP) $(I)edog.h
1190 $(O)sp_lev.o: $(NHS)sp_lev.c $(HDEP) $(I)sp_lev.h $(I)rect.h $(I)dlb.h
1192 $(O)spell.o: $(NHS)spell.c $(HDEP)
1194 $(O)steal.o: $(NHS)steal.c $(HDEP)
1196 $(O)steed.o: $(NHS)steed.c $(HDEP)
1198 $(O)teleport.o: $(NHS)teleport.c $(HDEP)
1200 $(O)timeout.o: $(NHS)timeout.c $(HDEP) $(I)lev.h
1202 $(O)topten.o: $(NHS)topten.c $(HDEP) $(I)dlb.h
1204 $(O)track.o: $(NHS)track.c $(HDEP)
1206 $(O)trap.o: $(NHS)trap.c $(HDEP)
1207 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)trap.c
1209 $(O)u_init.o: $(NHS)u_init.c $(HDEP)
1211 $(O)uhitm.o: $(NHS)uhitm.c $(HDEP)
1212 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)uhitm.c
1214 $(O)vault.o: $(NHS)vault.c $(HDEP) $(I)vault.h
1216 $(O)version.o: $(NHS)version.c $(HDEP) $(I)date.h $(I)patchlevel.h
1218 $(O)vision.o: $(NHS)vision.c $(HDEP) #$(I)vis_tab.h
1220 $(O)weapon.o: $(NHS)weapon.c $(HDEP)
1222 $(O)were.o: $(NHS)were.c $(HDEP)
1224 $(O)wield.o: $(NHS)wield.c $(HDEP)
1226 $(O)windows.o: $(NHS)windows.c $(HDEP) $(I)wintty.h
1228 $(O)wizard.o: $(NHS)wizard.c $(HDEP) $(I)qtext.h
1230 $(O)worm.o: $(NHS)worm.c $(HDEP) $(I)lev.h
1232 $(O)worn.o: $(NHS)worn.c $(HDEP)
1234 $(O)write.o: $(NHS)write.c $(HDEP)
1236 $(O)zap.o: $(NHS)zap.c $(HDEP)
1237 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)zap.c
1239 $(O)getline.o: $(TTY)getline.c $(HDEP) $(I)wintty.h
1241 $(O)termcap.o: $(TTY)termcap.c $(HDEP) $(I)wintty.h $(I)tcap.h
1243 $(O)topl.o: $(TTY)topl.c $(HDEP) $(I)wintty.h $(I)tcap.h
1245 $(O)wintty.o: $(TTY)wintty.c $(HDEP) $(I)wintty.h $(I)tcap.h \
1248 $(O)amitty.o: $(AMI)amitty.c $(HDEP)
1250 $(O)amistack.o: $(AMI)amistack.c
1251 $(CC) $(CFLAGS3) $(CSYM) $(OBJSPEC)$@ $(AMI)amistack.c
1253 $(O)rip.o: $(NHS)rip.c $(HDEP)
1256 $(I)config.h: $(I)config1.h $(I)tradstdc.h $(I)global.h
1257 -setdate $(I)config.h
1260 # onames.h handled at onames.h target, pm.h
1262 $(I)decl.h: $(I)quest.h $(I)spell.h $(I)color.h $(I)obj.h $(I)you.h
1266 $(I)global.h: $(I)coord.h $(I)pcconf.h $(I)amiconf.h
1267 -setdate $(I)global.h
1270 $(I)hack.h: $(I)config.h $(I)trap.h $(I)decl.h $(I)dungeon.h $(I)monsym.h \
1271 $(I)mkroom.h $(I)objclass.h $(I)flag.h $(I)rm.h $(I)vision.h \
1272 $(I)display.h $(I)wintype.h $(I)engrave.h $(I)rect.h \
1273 $(I)region.h $(I)trampoli.h
1277 $(I)permonst.h: $(I)monattk.h $(I)monflag.h $(I)align.h
1278 -setdate $(I)permonst.h
1281 $(I)you.h: $(I)align.h $(I)attrib.h $(I)monst.h $(I)youprop.h $(I)skills.h
1285 # pm.h handled at target
1287 $(I)youprop.h: $(I)prop.h $(I)permonst.h $(I)mondata.h
1288 -setdate $(I)youprop.h
1291 $(I)display.h: $(I)vision.h $(I)mondata.h
1292 -setdate $(I)display.h
1295 $(I)dungeon.h: $(I)align.h
1296 -setdate $(I)dungeon.h
1299 $(I)emin.h: $(I)dungeon.h
1303 $(I)epri.h: $(I)dungeon.h $(I)align.h
1307 $(I)eshk.h: $(I)dungeon.h
1311 $(I)engrave.h: $(I)trampoli.h $(I)rect.h
1312 -setdate $(I)engrave.h
1315 $(I)mondata.h: $(I)align.h
1316 -setdate $(I)mondata.h
1319 $(I)monst.h: $(I)align.h
1320 -setdate $(I)monst.h
1323 $(I)pcconf.h: $(I)micro.h $(I)system.h
1324 -setdate $(I)pcconf.h
1327 $(I)rm.h: $(I)align.h
1331 $(I)vault.h: $(I)dungeon.h
1332 -setdate $(I)vault.h
1336 # install keeps doing re-install because it keeps rebuilding lev_comp???
1337 # fixed(?) - deleted setdate