2 # Copyright (c) Kenneth Lorber, Bethesda, Maryland, 1991,1992,1993,1996.
3 # aNetHack may be freely redistributed. See license for details.
6 ### modified for gcc by Teemu Suikki (zu@iki.fi)
8 ### note: you need to use smake.. sorry
12 ### DIRECTORY STRUCTURE
19 ANETHACK = $(NH)aNetHack/
20 HACKEXE = $(NH)HackExe/
25 SHARE = $(NH)sys/share/
28 WSHARE = $(NH)win/share/
32 # NB: O and OO MUST be different directories
40 # Startup makefile with:
42 # $(MAKE) -f $(AMI)Makefile.amigcc
43 # $(MAKE) -f $(AMI)Makefile.amigcc install
45 # You may use following targets on $(MAKE) command lines:
46 # all do it all (default)
47 # link just create binary from object files
48 # obj just create common object files
49 # obja just create amiga object files
50 # objs just create shared object files
51 # clean deletes the object files
52 # spotless deletes the object files, main binary, and more
54 # Note: We do not build the Guidebook here since it needs tbl
55 # (See the file sys/unix/Makefile.doc for more information)
58 # If we were to use the precompiled header file feature in a newer version
59 # of SAS/C, we would comment out these following two lines.
60 # If we don't use precompiled header files, we uncomment it as well.
65 #Pathname for uudecode program:
68 # Flex/Bison command assignments -- Useful only if you have flex/bison
71 # FBFIL and FBLIB may be used, if required by your version of flex or bison,
72 # to specify additional files or libraries to be linked with
74 FBLIB = #lib lib:compat.lib
76 # If you're compiling this on a 1.3 system, you'll have to uncomment the
77 # following (for use with the ifchange script below). Also useful instead of
78 # "protect ifchange +s"
81 # Headers we depend on
82 AMDEP = $(AMI)winproto.h $(AMI)winext.h $(AMI)windefs.h $(I)winami.h
84 # Pathname for the C compiler being used.
89 # Compilation flags for selected C Compiler:
90 # $(CFLAGS) should appear before filename arguments of $(CC) command line.
94 # Components of various link command lines:
95 # $(LINK) should be the pathname of the linker being used (with any options
96 # that should appear at the beginning of the command line). The name of the
97 # output file should appear immediately after $(LNSPEC). $(LIN) should
98 # appear before the list of object files in each link command. $(LLINK)
99 # should appear as the list of object files in the link command line that
100 # creates the aNetHack executable. $(LLIB) should appear at the end of each
103 LINK = gcc -noixemul -O3
111 CCLINK = gcc -noixemul
121 # A more reasonable random number generator (recommended for the Amiga):
123 RANDOBJ = $(O)random.o
125 .PRECIOUS: $(I)config.h $(I)decl.h $(I)hack.h $(I)permonst.h $(I)you.h
127 # Almost nothing below this line should have to be changed.
128 # (Exceptions are marked by [SAS6], [MANX], etc.)
130 # Other things that have to be reconfigured are in config.h,
131 # (amiconf.h, pcconf.h), and possibly system.h, tradstdc.h.
133 # Object files for makedefs:
136 $(OO)makedefs.o $(O)monst.o $(O)objects.o
138 # Object files for special levels compiler:
141 $(OO)lev_yacc.o $(OO)lev_lex.o $(OO)lev_main.o \
142 $(O)decl.o $(O)drawing.o $(O)monst.o \
143 $(O)objects.o $(OO)panic.o
145 # Object files for dungeon compiler
148 $(OO)dgn_yacc.o $(OO)dgn_lex.o $(OO)dgn_main.o $(O)alloc.o $(OO)panic.o
150 # Object files for aNetHack:
153 $(O)allmain.o $(O)alloc.o $(O)apply.o $(O)artifact.o \
154 $(O)attrib.o $(O)ball.o $(O)bones.o $(O)botl.o \
155 $(O)cmd.o $(O)dbridge.o $(O)decl.o $(O)detect.o \
156 $(O)dig.o $(O)display.o $(O)dlb.o $(O)do.o \
157 $(O)do_name.o $(O)do_wear.o $(O)dog.o $(O)dogmove.o \
158 $(O)dokick.o $(O)dothrow.o $(O)drawing.o $(O)dungeon.o \
159 $(O)eat.o $(O)end.o $(O)engrave.o $(O)exper.o \
160 $(O)explode.o $(O)extralev.o $(O)files.o $(O)fountain.o \
161 $(O)hack.o $(O)hacklib.o $(O)invent.o $(O)light.o \
162 $(O)lock.o $(O)mail.o $(O)makemon.o $(O)mapglyph.o \
163 $(O)mcastu.o $(O)mhitm.o $(O)mhitu.o $(O)minion.o \
164 $(O)mklev.o $(O)mkmap.o $(O)mkmaze.o $(O)mkobj.o \
165 $(O)mkroom.o $(O)mon.o $(O)mondata.o $(O)monmove.o \
166 $(O)monst.o $(O)mplayer.o $(O)mthrowu.o $(O)muse.o \
167 $(O)music.o $(O)o_init.o $(O)objects.o $(O)objnam.o \
168 $(O)options.o $(O)pager.o $(O)pickup.o $(O)pline.o \
169 $(O)polyself.o $(O)potion.o $(O)pray.o $(O)priest.o \
170 $(O)quest.o $(O)questpgr.o $(O)read.o $(O)rect.o \
171 $(O)region.o $(O)restore.o $(O)rnd.o $(O)role.o \
172 $(O)rumors.o $(O)save.o $(O)shk.o $(O)shknam.o \
173 $(O)sit.o $(O)sounds.o $(O)sp_lev.o $(O)spell.o \
174 $(O)steal.o $(O)steed.o $(O)sys.o $(O)teleport.o \
175 $(O)timeout.o $(O)topten.o $(O)track.o $(O)trap.o \
176 $(O)u_init.o $(O)uhitm.o $(O)vault.o $(O)version.o \
177 $(O)vision.o $(O)weapon.o $(O)were.o $(O)wield.o \
178 $(O)windows.o $(O)wizard.o $(O)worm.o $(O)worn.o \
179 $(O)write.o $(O)zap.o
185 $(O)amidos.o $(O)amirip.o $(O)amisnd.o $(O)amistack.o \
186 $(O)amiwind.o $(O)winami.o $(O)winchar.o $(O)winfuncs.o \
187 $(O)winkey.o $(O)winmenu.o $(O)winreq.o $(O)winstr.o
189 # Objects from assembly sources (because DMake can't handle default rules)
194 $(O)pcmain.o $(RANDOBJ)
197 $(O)getline.o $(O)termcap.o $(O)topl.o $(O)wintty.o $(O)amitty.o \
200 # Yuck yuck yuck. Have to tell DMake where these are, since they're not
201 # all in the same place.
203 $(TTY)getline.c $(TTY)termcap.c $(TTY)topl.c $(TTY)wintty.c \
204 $(AMI)amitty.c $(NHS)rip.c
206 # All the object files for aNetHack:
208 HOBJ = $(COMMOBJ) $(AMIGAOBJ) $(AMIGAOBJ2) $(SHAREOBJ) $(MAKEDEFOBJ) $(TTYOBJ)
215 ADFILES1= $(SLIB)Arc-fila.lev $(SLIB)Arc-filb.lev $(SLIB)Arc-loca.lev \
217 ADFILES= $(SLIB)Arc-goal.lev $(ADFILES1)
219 BDFILES1= $(SLIB)Bar-fila.lev $(SLIB)Bar-filb.lev $(SLIB)Bar-loca.lev \
221 BDFILES= $(SLIB)Bar-goal.lev $(BDFILES1)
223 CDFILES1= $(SLIB)Cav-fila.lev $(SLIB)Cav-filb.lev $(SLIB)Cav-loca.lev \
225 CDFILES= $(SLIB)Cav-goal.lev $(CDFILES1)
227 HDFILES1= $(SLIB)Hea-fila.lev $(SLIB)Hea-filb.lev $(SLIB)Hea-loca.lev \
229 HDFILES= $(SLIB)Hea-goal.lev $(HDFILES1)
231 KDFILES1= $(SLIB)Kni-fila.lev $(SLIB)Kni-filb.lev $(SLIB)Kni-loca.lev \
233 KDFILES= $(SLIB)Kni-goal.lev $(KDFILES1)
235 MDFILES1= $(SLIB)Mon-fila.lev $(SLIB)Mon-filb.lev $(SLIB)Mon-loca.lev \
237 MDFILES= $(SLIB)Mon-goal.lev $(MDFILES1)
239 PDFILES1= $(SLIB)Pri-fila.lev $(SLIB)Pri-filb.lev $(SLIB)Pri-loca.lev \
241 PDFILES= $(SLIB)Pri-goal.lev $(PDFILES1)
243 RDFILES1= $(SLIB)Rog-fila.lev $(SLIB)Rog-filb.lev $(SLIB)Rog-loca.lev \
245 RDFILES= $(SLIB)Rog-goal.lev $(RDFILES1)
247 RANFILES1= $(SLIB)Ran-fila.lev $(SLIB)Ran-filb.lev $(SLIB)Ran-loca.lev \
249 RANFILES= $(SLIB)Ran-goal.lev $(RANFILES1)
251 SDFILES1= $(SLIB)Sam-fila.lev $(SLIB)Sam-filb.lev $(SLIB)Sam-loca.lev \
253 SDFILES= $(SLIB)Sam-goal.lev $(SDFILES1)
255 TDFILES1= $(SLIB)Tou-fila.lev $(SLIB)Tou-filb.lev $(SLIB)Tou-loca.lev \
257 TDFILES= $(SLIB)Tou-goal.lev $(TDFILES1)
259 VDFILES1= $(SLIB)Val-fila.lev $(SLIB)Val-filb.lev $(SLIB)Val-loca.lev \
261 VDFILES= $(SLIB)Val-goal.lev $(VDFILES1)
263 WDFILES1= $(SLIB)Wiz-fila.lev $(SLIB)Wiz-filb.lev $(SLIB)Wiz-loca.lev \
265 WDFILES= $(SLIB)Wiz-goal.lev $(WDFILES1)
267 XDFILES= $(ADFILES) $(BDFILES) $(CDFILES) $(HDFILES) $(KDFILES) \
268 $(MDFILES) $(PDFILES) $(RDFILES) $(RANFILES) $(SDFILES) $(TDFILES) \
269 $(VDFILES) $(WDFILES)
274 $(SLIB)sounds/Bell $(SLIB)sounds/Bugle \
275 $(SLIB)sounds/Drum_Of_Earthquake \
276 $(SLIB)sounds/Fire_Horn $(SLIB)sounds/Frost_Horn \
277 $(SLIB)sounds/Leather_Drum $(SLIB)sounds/Magic_Flute \
278 $(SLIB)sounds/Magic_Harp $(SLIB)sounds/Tooled_Horn \
279 $(SLIB)sounds/Wooden_Flute $(SLIB)sounds/Wooden_Harp
284 $(ANETHACK)tiles/objects.iff \
285 $(ANETHACK)tiles/monsters.iff \
286 $(ANETHACK)tiles/other.iff
289 $(SLIB)air.lev $(SLIB)asmodeus.lev $(SLIB)astral.lev \
290 $(SLIB)baalz.lev $(SLIB)bigrm-1.lev $(SLIB)bigrm-2.lev \
291 $(SLIB)bigrm-3.lev $(SLIB)bigrm-4.lev $(SLIB)bigrm-5.lev \
292 $(SLIB)castle.lev $(SLIB)dungeon $(SLIB)earth.lev \
293 $(SLIB)fakewiz1.lev $(SLIB)fakewiz2.lev $(SLIB)fire.lev \
294 $(SLIB)juiblex.lev $(SLIB)knox.lev $(SLIB)medusa-1.lev \
295 $(SLIB)medusa-2.lev $(SLIB)minend-1.lev $(SLIB)minend-2.lev \
296 $(SLIB)minetn-1.lev $(SLIB)minetn-2.lev $(SLIB)minefill.lev \
297 $(SLIB)options $(SLIB)oracle.lev $(SLIB)orcus.lev \
298 $(SLIB)sanctum.lev $(SLIB)soko1-1.lev $(SLIB)soko1-2.lev \
299 $(SLIB)soko2-1.lev $(SLIB)soko2-2.lev $(SLIB)soko3-1.lev \
300 $(SLIB)soko3-2.lev $(SLIB)soko4-1.lev $(SLIB)soko4-2.lev \
301 $(SLIB)tower1.lev $(SLIB)tower2.lev $(SLIB)tower3.lev \
302 $(SLIB)valley.lev $(SLIB)water.lev $(SLIB)wizard1.lev \
303 $(SLIB)wizard2.lev $(SLIB)wizard3.lev \
306 INSTDUNGEONFILES= $(ANETHACK)aNetHack.cnf $(INSTDUNGEONFILES1)
310 $(ANETHACK)license $(ANETHACK)logfile $(ANETHACK)record \
311 $(ANETHACK)tomb.iff $(ANETHACK)amii.hlp $(ANETHACK)Recover.txt \
312 $(ANETHACK)GuideBook.txt $(ANETHACK)aNetHack.txt $(ANETHACK)Install.ami \
313 # $(ANETHACK)HackWB.hlp $(ANETHACK)WBDefaults.def
316 $(INSTDUNGEONFILES1) \
317 $(SLIB)cmdhelp $(SLIB)data $(SLIB)dungeon \
318 $(SLIB)help $(SLIB)hh $(SLIB)history \
319 $(SLIB)opthelp $(SLIB)oracles $(SLIB)rumors \
320 $(SLIB)quest.dat $(SLIB)wizhelp
323 ### Getting down to business:
326 all: $(COMPACT_HEADERS) $(SBIN)lev_comp $(SBIN)dgn_comp $(SBIN)aNetHack \
327 $(SBIN)dlb $(ANETHACK)recover #$(ANETHACK)HackCli $(SBIN)splitter \
330 install: inst-data inst-dungeon inst-fonts inst-sounds inst-tiles \
331 $(ANETHACK)recover $(ANETHACK)aNetHack $(ANETHACK)anhdat
332 #$(ANETHACK)aNetHack.dir inst-icons
334 $(SBIN)aNetHack: link
336 $(ANETHACK)aNetHack: $(SBIN)aNetHack
337 copy $(SBIN)aNetHack $(ANETHACK)aNetHack
339 ## uuh this is messy.. smake has weird command line length limit
341 list to t:link lformat="$(O)%s" $(O)\#?.o QUICK NOHEAD
343 echo "$(LINK) $(LNSPEC) $(SBIN)aNetHack $(LIN) $(LLIB) $(LLINK) " >>t:cc noline
344 fmt -u -w 2500 t:link >>t:cc
350 $(OO)dlb_main.o: $(UTIL)dlb_main.c $(HDEP) $(I)dlb.h $(I)date.h
351 $(CC) $(CFLAGS) $(OBJSPEC)$(OO)dlb_main.o $(UTIL)dlb_main.c
353 $(SBIN)dlb: $(OO)dlb_main.o $(O)dlb.o $(O)alloc.o $(OO)panic.o
354 $(LINK) $(PNSPEC) $(SBIN)dlb $(LIN) $(OO)dlb_main.o $(O)dlb.o \
355 $(O)alloc.o $(OO)panic.o $(LLIB)
368 # The default method for creating object files:
372 $(CC) $(CFLAGS) $(CSYM) $(OBJSPEC)$@ $<
375 -delete $(O)\#?.o $(OO)\#?.o
378 -delete $(SBIN)aNetHack $(SBIN)lev_comp $(SBIN)makedefs $(SBIN)dgn_comp
379 -delete $(SBIN)cvtsnd $(SBIN)dlb $(SBIN)txt2iff $(SBIN)splitter
380 -delete $(SBIN)tilemap
381 -delete $(SLIB)data $(SLIB)rumors
382 -delete $(SLIB)\#?.lev
383 -delete $(SLIB)dungeon
384 -delete $(SLIB)cmdhelp $(SLIB)help $(SLIB)hh $(SLIB)history
385 -delete $(SLIB)opthelp $(SLIB)options $(SLIB)oracles
386 -delete $(SLIB)quest.dat $(SLIB)wizhelp
387 # -delete $(SLIB)earth.lev $(SLIB)air.lev $(SLIB)fire.lev
388 # -delete $(SLIB)water.lev $(SLIB)astral.lev
389 # -delete $(SLIB)tower1.lev $(SLIB)tower2.lev $(SLIB)tower3.lev
390 # -delete $(SLIB)fakewiz1.lev $(SLIB)fakewiz2.lev
391 # -delete $(SLIB)medusa-1.lev $(SLIB)medusa-2.lev
392 # -delete $(SLIB)oracle.lev $(SLIB)wizard1.lev $(SLIB)wizard2.lev
393 # -delete $(SLIB)wizard3.lev $(DAT)dungeon.pdf $(SLIB)valley.lev
394 # -delete $(SLIB)minefill.lev
395 # -delete $(SLIB)minetn-1 $(SLIB)minetn-2 $(SLIB)minend-1 $(SLIB)minend-2
396 # -delete $(SLIB)soko1-1.lev $(SLIB)soko1-2.lev $(SLIB)soko2-1.lev
397 # -delete $(SLIB)soko2-2.lev $(SLIB)soko3-1.lev $(SLIB)soko3-2.lev
398 # -delete $(SLIB)soko4-1.lev $(SLIB)soko4-2.lev
407 # -delete $(RANFILES)
412 -delete $(I)onames.h $(I)pm.h $(I)date.h
413 -delete $(NHS)tile.c $(NHS)monstr.c
415 # -echo to $(I)onames.h "" noline
417 # -echo to $(I)pm.h "" noline
419 # -setdate $(UTIL)makedefs.c
422 # Creating precompiled version of $(I)hack.h to save disk I/O.
425 # Please note: The dependency lines for the modules here are
426 # deliberately incorrect. Including "hack.h" in
427 # the dependency list would cause a dependency
431 $(SBIN)makedefs: $(MAKEOBJS)
432 $(LINK) $(LNSPEC) $(SBIN)makedefs $(LIN) $(MAKEOBJS) $(LLIB)
434 $(OO)makedefs.o: $(UTIL)makedefs.c $(I)config.h $(I)permonst.h $(I)monsym.h \
435 $(I)objclass.h $(I)patchlevel.h $(I)qtext.h $(I)artilist.h
436 $(CC) $(DEFSPEC)MAKEDEFS_C $(CFLAGS) $(OBJSPEC)$@ $(UTIL)makedefs.c
438 $(SBIN)lev_comp: $(SPLEVOBJS)
439 $(LINK) $(LNSPEC) $(SBIN)lev_comp $(LIN) $(SPLEVOBJS) $(FBFIL) $(FLLIB)
441 $(SBIN)dgn_comp: $(DGNCOMPOBJS)
442 $(LINK) $(LNSPEC) $(SBIN)dgn_comp $(LIN) $(DGNCOMPOBJS) $(FBFIL) $(FLLIB)
444 $(OO)lev_yacc.o: $(UTIL)lev_yacc.c $(HDEP) $(I)sp_lev.h $(I)pm.h $(I)onames.h
445 # setdate $(UTIL)lev_yacc.c
446 $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)PREFIX="NH:slib/" $(CFLAGS) \
447 $(DEFSPEC)alloca=malloc $(OBJSPEC)$@ $(UTIL)lev_yacc.c
449 $(OO)lev_lex.o: $(UTIL)lev_lex.c $(HDEP) $(I)lev_comp.h $(I)sp_lev.h
450 $(CC) $(DEFSPEC)LEV_LEX_C $(CFLAGS) $(OBJSPEC)$@ $(UTIL)lev_lex.c
452 $(OO)lev_main.o: $(UTIL)lev_main.c $(HDEP) $(I)pm.h $(I)onames.h $(I)date.h
453 $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)AMIGA $(CFLAGS) $(OBJSPEC)$@ \
456 $(OO)dgn_yacc.o: $(UTIL)dgn_yacc.c $(HDEP) $(I)dgn_file.h $(I)patchlevel.h
457 $(CC) $(DEFSPEC)LEV_LEX_C $(CFLAGS) $(DEFSPEC)alloca=malloc \
458 $(OBJSPEC)$@ $(UTIL)dgn_yacc.c
460 $(OO)dgn_lex.o: $(UTIL)dgn_lex.c $(I)config.h $(I)dgn_comp.h $(I)dgn_file.h
461 $(CC) $(DEFSPEC)LEV_LEX_C $(CFLAGS) $(OBJSPEC)$@ $(UTIL)dgn_lex.c
463 $(OO)dgn_main.o: $(UTIL)dgn_main.c $(I)config.h $(I)date.h
464 $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)AMIGA $(CFLAGS) $(OBJSPEC)$@ \
467 $(OO)panic.o: $(UTIL)panic.c $(HDEP)
469 $(OO)recover.o: $(UTIL)recover.c $(I)config.h $(I)date.h
470 $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)AMIGA $(CFLAGS) $(OBJSPEC)$@ \
473 $(ANETHACK)recover: $(OO)recover.o
474 $(LINK) $(LNSPEC) $(ANETHACK)recover $(LIN) $(OO)recover.o $(LLIB)
476 # [OPTION] -- If you have flex/bison, leave these uncommented. Otherwise,
477 # comment them out and be careful! (You're not guaranteed to have the most
478 # up to date *_comp.c, *_comp.h and *_lex.c)
480 $(I)lev_comp.h: $(UTIL)lev_yacc.c $(I)patchlevel.h
482 $(UTIL)lev_yacc.c: $(UTIL)lev_comp.y $(I)patchlevel.h
483 $(BISON) -d $(UTIL)lev_comp.y
484 # copy y.tab.c $(UTIL)lev_yacc.c
485 # copy y.tab.h $(I)lev_comp.h
486 copy $(UTIL)lev_comp.tab.c $(UTIL)lev_yacc.c
487 copy $(UTIL)lev_comp.tab.h $(I)lev_comp.h
490 delete $(UTIL)lev_comp.tab.c
491 delete $(UTIL)lev_comp.tab.h
493 $(UTIL)lev_lex.c: $(UTIL)lev_comp.l $(I)patchlevel.h
494 $(FLEX) $(UTIL)lev_comp.l
495 copy lex.yy.c $(UTIL)lev_lex.c
498 $(I)dgn_comp.h: $(UTIL)dgn_yacc.c $(I)patchlevel.h
500 $(UTIL)dgn_yacc.c: $(UTIL)dgn_comp.y $(I)patchlevel.h
501 $(BISON) -d $(UTIL)dgn_comp.y
502 # copy y.tab.c $(UTIL)dgn_yacc.c
503 # copy y.tab.h $(I)dgn_comp.h
504 copy $(UTIL)dgn_comp.tab.c $(UTIL)dgn_yacc.c
505 copy $(UTIL)dgn_comp.tab.h $(I)dgn_comp.h
508 delete $(UTIL)dgn_comp.tab.c
509 delete $(UTIL)dgn_comp.tab.h
511 $(UTIL)dgn_lex.c: $(UTIL)dgn_comp.l $(I)patchlevel.h
512 $(FLEX) $(UTIL)dgn_comp.l
513 copy lex.yy.c $(UTIL)dgn_lex.c
517 # The following include files depend on makedefs to be created.
518 # As a result, they are not defined in HACKINCL, instead, their
519 # dependencies are explicitly outlined here.
523 # date.h should be remade any time any of the source or include code
524 # is modified. Unfortunately, this would make the contents of this
525 # file far more complex. Since "hack.h" depends on most of the include
526 # files, we kludge around this by making date.h dependent on hack.h,
527 # even though it doesn't include this file.
530 $(I)date.h $(DAT)options: $(HDEP) $(SBIN)makedefs $(AMIGAOBJ) $(I)patchlevel.h
532 $(EXECUTE) ifchange MOVE $(I)t.date.h $(I)date.h
535 $(I)onames.h: $(SBIN)makedefs
537 $(EXECUTE) ifchange TOUCH $(I)t.onames.h $(I)onames.h $(I)decl.h
538 $(EXECUTE) ifchange MOVE $(I)t.onames.h $(I)onames.h
541 $(I)pm.h: $(SBIN)makedefs
543 $(EXECUTE) ifchange TOUCH $(I)t.pm.h $(I)pm.h $(I)decl.h $(I)youprop.h
544 $(EXECUTE) ifchange MOVE $(I)t.pm.h $(I)pm.h
547 $(SLIB)quest.dat: $(DAT)quest.txt $(SBIN)makedefs
550 $(NHS)monstr.c: $(HDEP) $(SBIN)makedefs
554 $(SLIB)oracles: $(DAT)oracles.txt $(SBIN)makedefs
559 # The following programs vary depending on what OS you are using.
560 # As a result, they are not defined in HACKSRC and their dependencies
561 # are explicitly outlined here.
564 $(O)amidos.o: $(AMI)amidos.c $(HDEP)
566 $(O)amirip.o: $(AMI)amirip.c $(HDEP)
568 $(O)aglue.o: $(AMI)aglue.a
569 $(ASM) $(AFLAGS) $(AOBJSPEC)$(O)aglue.o $(AMI)aglue.a
571 $(O)amisnd.o: $(AMI)amisnd.c $(HDEP)
573 $(O)winchar.o: $(AMI)winchar.c $(NHS)tile.c $(HDEP)
575 $(NHS)tile.c: $(WSHARE)tilemap.c
576 $(CCLINK) $(CFLAGS) $(PNSPEC) $(SBIN)tilemap $(WSHARE)tilemap.c
579 $(O)winstr.o: $(AMI)winstr.c $(HDEP) $(AMDEP)
581 $(O)winreq.o: $(AMI)winreq.c $(HDEP) $(AMDEP) $(AMI)colorwin.c $(AMI)clipwin.c
583 $(O)winfuncs.o: $(AMI)winfuncs.c $(HDEP) $(AMDEP) $(I)patchlevel.h
585 $(O)winkey.o: $(AMI)winkey.c $(HDEP) $(AMDEP)
587 $(O)winmenu.o: $(AMI)winmenu.c $(HDEP) $(AMDEP)
589 $(O)winami.o: $(AMI)winami.c $(HDEP) $(AMDEP) #$(AMI)char.c $(AMI)randwin.c
591 #$(O)amilib.o: $(AMI)amilib.c $(HDEP) $(AMDEP)
593 $(O)amiwind.o: $(AMI)amiwind.c $(AMI)amimenu.c $(HDEP) $(AMDEP)
595 $(O)amiwbench.o: $(AMI)amiwbench.c $(HDEP)
597 $(O)random.o: $(SHARE)random.c
599 $(O)pcmain.o: $(SHARE)pcmain.c $(HDEP) $(I)dlb.h
601 $(O)dispmap.o: $(AMI)dispmap.s
602 $(ASM) $(AFLAGS) $(AOBJSPEC)$@ $<
604 # Stuff to build the front ends
605 $(ANETHACK)HackWB: $(OO)wb.o $(OO)wbx.o $(OO)loader.o $(OO)multi.o
606 $(LINK) $(LNSPEC) $(ANETHACK)HackWB $(LIN) $(OO)wb.o $(OO)wbx.o \
607 $(OO)loader.o $(OO)multi.o $(LLIB)
609 $(ANETHACK)HackCli: $(OO)cli.o $(OO)loader.o $(OO)multi.o
610 $(LINK) $(LNSPEC) $(ANETHACK)HackCli $(LIN) $(OO)cli.o $(OO)loader.o \
613 # This needs to exist to eliminate the HackWB startup message
614 $(ANETHACK)WBDefaults.def:
615 echo to $(ANETHACK)WBDefaults.def
617 WBH = $(AMI)wbdefs.h $(AMI)wbstruct.h $(AMI)wbprotos.h
619 $(OO)wb.o: $(WBH) $(AMI)wb.c $(AMI)wbwin.c $(AMI)wbdata.c $(AMI)wbgads.c \
621 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)wb.o $(AMI)wb.c
623 $(OO)wbx.o: $(WBH) $(AMI)wbcli.c $(AMI)wbwin.c $(AMI)wbdata.c \
624 $(I)patchlevel.h $(I)date.h
625 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)wbx.o $(AMI)wbcli.c
627 $(OO)loader.o: $(ASP)/loader.c $(ASP)/split.h $(ASP)/amiout.h $(ASP)/multi.h
628 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)loader.o $(ASP)/loader.c
630 $(OO)multi.o: $(ASP)/multi.c $(ASP)/multi.h
631 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)multi.o $(ASP)/multi.c
633 $(OO)cli.o: $(WBH) $(AMI)wbcli.c $(I)patchlevel.h $(I)date.h
634 $(CC) $(WBCFLAGS) $(WBC2FLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)cli.o \
639 $(SBIN)splitter: $(OO)splitter.o $(OO)arg.o
640 $(LINK) $(LNSPEC) $(SBIN)splitter $(LIN) $(OO)splitter.o $(OO)arg.o \
643 $(ANETHACK)aNetHack.dir: $(SBIN)splitter $(SBIN)aNetHack
644 $(SBIN)splitter $(SBIN)aNetHack
646 $(OO)splitter.o: $(ASP)/splitter.c $(ASP)/split.h $(ASP)/amiout.h $(ASP)/arg.h
647 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)splitter.o \
650 $(OO)arg.o: $(ASP)/arg.c $(ASP)/arg.h
651 $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)$(OO)arg.o $(ASP)/arg.c
653 # Create/copy other stuff into aNetHack: directory:
655 $(ANETHACK)tomb.iff: $(SBIN)xpm2iff $(AMI)grave16.xpm
656 $(SBIN)xpm2iff $(AMI)grave16.xpm $(ANETHACK)tomb.iff
658 $(OO)xpm2iff.o: $(AMI)xpm2iff.c
659 $(CC) $(CFLAGS) $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ $(AMI)xpm2iff.c
661 $(SBIN)xpm2iff: $(OO)xpm2iff.o
662 $(LINK) $(LNSPEC) $@ $(LIN) $(OO)xpm2iff.o $(FLLIB)
664 # Tile installation for the tile version of the game
665 inst-tiles: $(TILEFILES)
668 -makedir $(ANETHACK)tiles
670 $(OO)txt2iff.o: $(AMI)txt2iff.c
671 $(CC) $(CFLAGS) $(CSYM) $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ \
674 $(OO)ppmwrite.o: $(WSHARE)ppmwrite.c
675 $(CC) $(CFLAGS) $(CSYM) $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ $(WSHARE)ppmwrite.c
677 $(OO)tiletext.o: $(WSHARE)tiletext.c $(I)config.h $(WSHARE)tile.h
678 $(CC) $(CFLAGS) $(CSYM) $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ $(WSHARE)tiletext.c
680 $(OO)tiletxt.o: $(WSHARE)tilemap.c $(I)hack.h
681 $(CC) $(CFLAGS) $(CSYM) $(DEFSPEC)TILETEXT $(INCLSPEC)$(WSHARE) $(OBJSPEC)$@ $(WSHARE)tilemap.c
683 NAMEOBJS = $(O)drawing.o $(O)decl.o $(O)monst.o $(O)objects.o
685 $(SBIN)txt2ppm: $(OO)ppmwrite.o $(NAMEOBJS) $(O)alloc.o $(OO)panic.o $(OO)tiletext.o $(OO)tiletxt.o
686 $(LINK) $(LNSPEC) $@ $(LIN) $(OO)ppmwrite.o $(NAMEOBJS) $(OO)tiletext.o $(OO)tiletxt.o $(O)alloc.o $(OO)panic.o $(FLLIB)
688 $(SBIN)txt2iff: $(OO)txt2iff.o $(NAMEOBJS) $(OO)tiletext.o $(OO)tiletxt.o
689 $(LINK) $(LNSPEC) $@ $(LIN) $(OO)txt2iff.o $(NAMEOBJS) $(OO)tiletext.o \
690 $(OO)tiletxt.o $(FLLIB)
692 $(ANETHACK)tiles/objects.iff: $(WSHARE)objects.txt $(SBIN)txt2iff
693 $(SBIN)txt2iff $(WSHARE)objects.txt $(ANETHACK)tiles/objects.iff
695 $(ANETHACK)tiles/monsters.iff: $(WSHARE)monsters.txt $(SBIN)txt2iff
696 $(SBIN)txt2iff $(WSHARE)monsters.txt $(ANETHACK)tiles/monsters.iff
698 $(ANETHACK)tiles/other.iff: $(WSHARE)other.txt $(SBIN)txt2iff
699 $(SBIN)txt2iff $(WSHARE)other.txt $(ANETHACK)tiles/other.iff
701 # Sound installation rules.
702 inst-sounds: $(SOUNDFILES)
703 list to T:nhsdat.lst $(SLIB)sounds QUICK NOHEAD
704 echo >T:make-nhsdat $(SBIN)dlb cCfI $(SLIB)sounds $(ANETHACK)nhsdat T:nhsdat.lst
705 echo >>T:make-nhsdat if not exists $(ANETHACK)nhsdat
706 echo >>T:make-nhsdat copy $(SLIB)sounds/\#? $(ANETHACK)sounds
707 echo >>T:make-nhsdat endif
708 execute T:make-nhsdat
709 -delete T:make-nhsdat
712 -makedir $(SLIB)sounds
714 $(SBIN)cvtsnd: $(OO)cvtsnd.o
715 $(LINK) $(LNSPEC) $@ $(LIN) $(OO)cvtsnd.o $(FLLIB)
717 $(OO)cvtsnd.o: $(AMI)cvtsnd.c
719 $(SLIB)sounds/Bell: $(SHARE)sounds/bell.uu
720 $(UUDEC) $(SHARE)sounds/bell.uu
721 $(SBIN)cvtsnd Bell $(SLIB)sounds/Bell
724 $(SLIB)sounds/Bugle: $(SHARE)sounds/bugle.uu
725 $(UUDEC) $(SHARE)sounds/bugle.uu
726 $(SBIN)cvtsnd Bugle $(SLIB)sounds/Bugle
729 $(SLIB)sounds/Drum_Of_Earthquake: $(SHARE)sounds/erthdrum.uu
730 $(UUDEC) $(SHARE)sounds/erthdrum.uu
731 $(SBIN)cvtsnd Drum_Of_Earthquake $(SLIB)sounds/Drum_Of_Earthquake
732 -delete Drum_Of_Earthquake
734 $(SLIB)sounds/Fire_Horn: $(SHARE)sounds/firehorn.uu
735 $(UUDEC) $(SHARE)sounds/firehorn.uu
736 $(SBIN)cvtsnd Fire_Horn $(SLIB)sounds/Fire_Horn
739 $(SLIB)sounds/Frost_Horn: $(SHARE)sounds/frsthorn.uu
740 $(UUDEC) $(SHARE)sounds/frsthorn.uu
741 $(SBIN)cvtsnd Frost_Horn $(SLIB)sounds/Frost_Horn
744 $(SLIB)sounds/Leather_Drum: $(SHARE)sounds/lethdrum.uu
745 $(UUDEC) $(SHARE)sounds/lethdrum.uu
746 $(SBIN)cvtsnd Leather_Drum $(SLIB)sounds/Leather_Drum
749 $(SLIB)sounds/Magic_Flute: $(SHARE)sounds/mgcflute.uu
750 $(UUDEC) $(SHARE)sounds/mgcflute.uu
751 $(SBIN)cvtsnd Magic_Flute $(SLIB)sounds/Magic_Flute
754 $(SLIB)sounds/Magic_Harp: $(SHARE)sounds/mgcharp.uu
755 $(UUDEC) $(SHARE)sounds/mgcharp.uu
756 $(SBIN)cvtsnd Magic_Harp $(SLIB)sounds/Magic_Harp
759 $(SLIB)sounds/Tooled_Horn: $(SHARE)sounds/toolhorn.uu
760 $(UUDEC) $(SHARE)sounds/toolhorn.uu
761 $(SBIN)cvtsnd Tooled_Horn $(SLIB)sounds/Tooled_Horn
764 $(SLIB)sounds/Wooden_Flute: $(SHARE)sounds/wdnflute.uu
765 $(UUDEC) $(SHARE)sounds/wdnflute.uu
766 $(SBIN)cvtsnd Wooden_Flute $(SLIB)sounds/Wooden_Flute
769 $(SLIB)sounds/Wooden_Harp: $(SHARE)sounds/wdnharp.uu
770 $(UUDEC) $(SHARE)sounds/wdnharp.uu
771 $(SBIN)cvtsnd Wooden_Harp $(SLIB)sounds/Wooden_Harp
774 inst-dungeon: $(INSTDUNGEONFILES)
776 $(ANETHACK)options : $(DAT)options
777 copy $(DAT)options $@
779 # Create compiled dungeon files
780 BGM= $(SLIB)bigrm-2.lev $(SLIB)bigrm-3.lev $(SLIB)bigrm-4.lev $(SLIB)bigrm-5.lev
781 $(BGM): $(SLIB)bigrm-1.lev
783 $(SLIB)bigrm-1.lev: $(DAT)bigroom.des $(SBIN)lev_comp
785 $(SLIB)castle.lev: $(DAT)castle.des $(SBIN)lev_comp
787 ENDGAME1= $(SLIB)air.lev $(SLIB)earth.lev $(SLIB)fire.lev $(SLIB)water.lev
788 $(ENDGAME1): $(SLIB)astral.lev
790 $(SLIB)astral.lev: $(DAT)endgame.des $(SBIN)lev_comp
792 GEHENNOM1= $(SLIB)asmodeus.lev $(SLIB)baalz.lev $(SLIB)juiblex.lev \
793 $(SLIB)orcus.lev $(SLIB)sanctum.lev
794 $(GEHENNOM1): $(SLIB)valley.lev
796 $(SLIB)valley.lev: $(DAT)gehennom.des $(SBIN)lev_comp
798 $(SLIB)knox.lev: $(DAT)knox.des $(SBIN)lev_comp
800 MINES1= $(SLIB)minend-1.lev $(SLIB)minend-2.lev $(SLIB)minetn-1.lev $(SLIB)minetn-2.lev
801 $(MINES1): $(SLIB)minefill.lev
803 $(SLIB)minefill.lev: $(DAT)mines.des $(SBIN)lev_comp
805 $(SLIB)oracle.lev: $(DAT)oracle.des $(SBIN)lev_comp
807 TOWER1= $(SLIB)tower1.lev $(SLIB)tower2.lev
808 $(TOWER1): $(SLIB)tower3.lev
810 $(SLIB)tower3.lev: $(DAT)tower.des $(SBIN)lev_comp
812 WIZARD1= $(SLIB)wizard1.lev $(SLIB)wizard2.lev $(SLIB)wizard3.lev \
814 $(WIZARD1): $(SLIB)fakewiz2.lev
816 $(SLIB)fakewiz2.lev: $(DAT)yendor.des $(SBIN)lev_comp
818 MEDUSA1= $(SLIB)medusa-1.lev
819 $(MEDUSA1): $(SLIB)medusa-2.lev
821 $(SLIB)medusa-2.lev: $(DAT)medusa.des $(SBIN)lev_comp
823 SOKOBAN1= $(SLIB)soko1-1.lev $(SLIB)soko1-2.lev $(SLIB)soko2-1.lev \
824 $(SLIB)soko2-2.lev $(SLIB)soko3-1.lev $(SLIB)soko3-2.lev \
826 $(SOKOBAN1): $(SLIB)soko4-2.lev
828 $(SLIB)soko4-2.lev: $(DAT)sokoban.des $(SBIN)lev_comp
830 $(ADFILES1): $(SLIB)Arc-goal.lev
832 $(SLIB)Arc-goal.lev: $(DAT)Arch.des $(SBIN)lev_comp
834 $(BDFILES1): $(SLIB)Bar-goal.lev
836 $(SLIB)Bar-goal.lev: $(DAT)Barb.des $(SBIN)lev_comp
838 $(CDFILES1): $(SLIB)Cav-goal.lev
840 $(SLIB)Cav-goal.lev: $(DAT)Caveman.des $(SBIN)lev_comp
842 $(HDFILES1): $(SLIB)Hea-goal.lev
844 $(SLIB)Hea-goal.lev: $(DAT)Healer.des $(SBIN)lev_comp
846 $(KDFILES1): $(SLIB)Kni-goal.lev
848 $(SLIB)Kni-goal.lev: $(DAT)Knight.des $(SBIN)lev_comp
850 $(MDFILES1): $(SLIB)Mon-goal.lev
852 $(SLIB)Mon-goal.lev: $(DAT)Monk.des $(SBIN)lev_comp
854 $(PDFILES1): $(SLIB)Pri-goal.lev
856 $(SLIB)Pri-goal.lev: $(DAT)Priest.des $(SBIN)lev_comp
858 $(RDFILES1): $(SLIB)Rog-goal.lev
860 $(SLIB)Rog-goal.lev: $(DAT)Rogue.des $(SBIN)lev_comp
862 $(RANFILES1): $(SLIB)Ran-goal.lev
864 $(SLIB)Ran-goal.lev: $(DAT)Ranger.des $(SBIN)lev_comp
866 $(SDFILES1): $(SLIB)Sam-goal.lev
868 $(SLIB)Sam-goal.lev: $(DAT)Samurai.des $(SBIN)lev_comp
870 $(TDFILES1): $(SLIB)Tou-goal.lev
872 $(SLIB)Tou-goal.lev: $(DAT)Tourist.des $(SBIN)lev_comp
874 $(VDFILES1): $(SLIB)Val-goal.lev
876 $(SLIB)Val-goal.lev: $(DAT)Valkyrie.des $(SBIN)lev_comp
878 $(WDFILES1): $(SLIB)Wiz-goal.lev
880 $(SLIB)Wiz-goal.lev: $(DAT)Wizard.des $(SBIN)lev_comp
882 $(SLIB)dungeon: $(DAT)dungeon.def $(SBIN)makedefs $(SBIN)dgn_comp
884 $(SBIN)dgn_comp $(DAT)dungeon.pdf
885 copy $(DAT)dungeon $(SLIB)dungeon
888 inst-data: $(INSTDATAFILES)
890 $(ANETHACK)amii.hlp: $(AMI)amii.hlp
891 copy $(AMI)amii.hlp $@
893 #$(ANETHACK)data: $(DAT)data
896 $(SLIB)data: $(DAT)data.base $(I)config.h $(SBIN)makedefs
899 #$(ANETHACK)rumors: $(DAT)rumors
900 # copy $(DAT)rumors $@
902 $(SLIB)rumors: $(DAT)rumors.tru $(DAT)rumors.fal $(SBIN)makedefs
905 $(SLIB)cmdhelp: $(DAT)cmdhelp
906 copy $(DAT)cmdhelp $@
908 $(SLIB)help: $(DAT)help
914 $(ANETHACK)HackWB.hlp: $(AMI)HackWB.hlp
915 copy $(AMI)HackWB.hlp $@
917 $(SLIB)history: $(DAT)history
918 copy $(DAT)history $@
920 $(ANETHACK)license: $(DAT)license
921 copy $(DAT)license $@
923 $(SLIB)opthelp: $(DAT)opthelp
924 copy $(DAT)opthelp $@
926 $(ANETHACK)Recover.txt: $(DOC)Recover.txt
927 copy $(DOC)Recover.txt $@
929 $(ANETHACK)GuideBook.txt: $(DOC)GuideBook.txt
930 copy $(DOC)GuideBook.txt $@
932 $(ANETHACK)aNetHack.txt: $(DOC)aNetHack.txt
933 copy $(DOC)aNetHack.txt $@
935 $(ANETHACK)Install.ami: $(AMI)Install.ami
936 copy $(AMI)Install.ami $@
944 $(SLIB)wizhelp: $(DAT)wizhelp
945 copy $(DAT)wizhelp $@
947 # Create the directories here because aNetHack.cnf puts them there by default
948 $(ANETHACK)aNetHack.cnf: $(AMI)aNetHack.cnf
949 copy $(AMI)aNetHack.cnf $@
950 -makedir $(ANETHACK)save
951 -makedir $(ANETHACK)levels
953 # Unpack and install fonts
955 INSTFONTFILES= $(ANETHACK)hack.font $(ANETHACK)hack $(ANETHACK)hack/8
957 inst-fonts: $(INSTFONTFILES)
959 $(ANETHACK)hack/8: $(AMI)amifont8.uu $(ANETHACK)hack
960 $(UUDEC) $(AMI)amifont8.uu
961 copy 8 $(ANETHACK)hack/8
964 $(ANETHACK)hack.font: $(AMI)amifont.uu
965 $(UUDEC) $(AMI)amifont.uu
966 copy hack.font $(ANETHACK)hack.font
973 $(ANETHACK)default.icon $(ANETHACK)aNetHack.info $(ANETHACK)NewGame.info \
974 $(ANETHACK)HackWB.info
976 inst-icons: $(INSTICONFILES)
978 # Unpack the icons into place
980 $(ANETHACK)default.icon: $(AMI)dflticon.uu
981 $(UUDEC) $(AMI)dflticon.uu
982 # copy default.icon $(ANETHACK)default.icon
983 # delete default.icon
985 $(ANETHACK)aNetHack.info: $(AMI)NHinfo.uu
986 $(UUDEC) $(AMI)NHinfo.uu
987 # copy aNetHack.info $(ANETHACK)aNetHack.info
988 # delete aNetHack.info
990 $(ANETHACK)NewGame.info: $(AMI)NewGame.uu
991 $(UUDEC) $(AMI)NewGame.uu
992 # copy NewGame.info $(ANETHACK)NewGame.info
993 # delete NewGame.info
995 $(ANETHACK)HackWB.info: $(AMI)HackWB.uu
996 $(UUDEC) $(AMI)HackWB.uu
997 # copy HackWB.info $(ANETHACK)HackWB.info
1000 # If DLB is defined, create the anhdat library file in the playground
1001 # directory. If not, move all the data files there.
1002 $(ANETHACK)anhdat: $(LIBFILES)
1003 list to T:anhdat.lst $(SLIB) QUICK NOHEAD FILES
1004 echo >T:make-anhdat $(SBIN)dlb cCfI $(SLIB) $(ANETHACK)anhdat T:anhdat.lst
1005 echo >>T:make-anhdat if not exists $(ANETHACK)anhdat
1006 echo >>T:make-anhdat copy $(SLIB)\#? $(ANETHACK)
1007 echo >>T:make-anhdat endif
1008 execute T:make-anhdat
1009 -delete T:make-anhdat
1011 # DO NOT DELETE THIS LINE
1013 $(O)allmain.o: $(NHS)allmain.c $(HDEP)
1015 $(O)alloc.o: $(NHS)alloc.c $(I)config.h
1017 $(O)apply.o: $(NHS)apply.c $(HDEP)
1018 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)apply.c
1020 $(O)artifact.o: $(NHS)artifact.c $(HDEP) $(I)artifact.h $(I)artilist.h
1022 $(O)attrib.o: $(NHS)attrib.c $(HDEP) $(I)artifact.h
1024 $(O)ball.o: $(NHS)ball.c $(HDEP)
1026 $(O)bones.o: $(NHS)bones.c $(HDEP) $(I)lev.h
1028 $(O)botl.o: $(NHS)botl.c $(HDEP)
1030 $(O)cmd.o: $(NHS)cmd.c $(HDEP) $(I)func_tab.h
1032 $(O)dbridge.o: $(NHS)dbridge.c $(HDEP)
1034 $(O)decl.o: $(NHS)decl.c $(HDEP) $(I)quest.h
1036 $(O)detect.o: $(NHS)detect.c $(HDEP) $(I)artifact.h
1038 $(O)dig.o: $(NHS)dig.c $(HDEP)
1040 $(O)display.o: $(NHS)display.c $(HDEP)
1042 $(O)dlb.o: $(NHS)dlb.c $(HDEP) $(I)dlb.h
1044 $(O)do.o: $(NHS)do.c $(HDEP) $(I)lev.h
1046 $(O)do_name.o: $(NHS)do_name.c $(HDEP)
1048 $(O)do_wear.o: $(NHS)do_wear.c $(HDEP)
1050 $(O)dog.o: $(NHS)dog.c $(HDEP)
1052 $(O)dogmove.o: $(NHS)dogmove.c $(HDEP) $(I)mfndpos.h
1054 $(O)dokick.o: $(NHS)dokick.c $(HDEP)
1056 $(O)dothrow.o: $(NHS)dothrow.c $(HDEP)
1058 $(O)drawing.o: $(NHS)drawing.c $(HDEP) $(I)tcap.h
1059 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)drawing.c
1061 $(O)dungeon.o: $(NHS)dungeon.c $(HDEP) $(I)dgn_file.h $(I)dlb.h
1063 $(O)eat.o: $(NHS)eat.c $(HDEP)
1065 $(O)end.o: $(NHS)end.c $(HDEP) $(I)lev.h $(I)dlb.h
1067 $(O)engrave.o: $(NHS)engrave.c $(HDEP) $(I)lev.h
1069 $(O)exper.o: $(NHS)exper.c $(HDEP)
1071 $(O)explode.o: $(NHS)explode.c $(HDEP)
1073 $(O)extralev.o: $(NHS)extralev.c $(HDEP)
1075 $(O)files.o: $(NHS)files.c $(HDEP) $(I)dlb.h $(I)date.h
1077 $(O)fountain.o: $(NHS)fountain.c $(HDEP)
1079 $(O)hack.o: $(NHS)hack.c $(HDEP)
1081 $(O)hacklib.o: $(NHS)hacklib.c $(HDEP)
1083 $(O)invent.o: $(NHS)invent.c $(HDEP) $(I)artifact.h
1085 $(O)light.o: $(NHS)light.c $(HDEP) $(I)lev.h
1087 $(O)lock.o: $(NHS)lock.c $(HDEP)
1089 $(O)mail.o: $(NHS)mail.c $(HDEP) $(I)mail.h
1091 $(O)makemon.o: $(NHS)makemon.c $(HDEP)
1093 $(O)mapglyph.o: $(NHS)mapglyph.c $(HDEP)
1095 $(O)mcastu.o: $(NHS)mcastu.c $(HDEP)
1097 $(O)mhitm.o: $(NHS)mhitm.c $(HDEP) $(I)artifact.h
1099 $(O)mhitu.o: $(NHS)mhitu.c $(HDEP) $(I)artifact.h
1100 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)mhitu.c
1102 $(O)minion.o: $(NHS)minion.c $(HDEP)
1104 $(O)mklev.o: $(NHS)mklev.c $(HDEP)
1106 $(O)mkmap.o: $(NHS)mkmap.c $(HDEP) $(I)sp_lev.h
1108 $(O)mkmaze.o: $(NHS)mkmaze.c $(HDEP) $(I)sp_lev.h $(I)lev.h
1110 $(O)mkobj.o: $(NHS)mkobj.c $(HDEP) $(I)artifact.h $(I)prop.h
1112 $(O)mkroom.o: $(NHS)mkroom.c $(HDEP)
1114 $(O)mon.o: $(NHS)mon.c $(HDEP) $(I)mfndpos.h
1116 $(O)mondata.o: $(NHS)mondata.c $(HDEP)
1118 $(O)monmove.o: $(NHS)monmove.c $(HDEP) $(I)mfndpos.h $(I)artifact.h
1120 $(O)monst.o: $(NHS)monst.c $(I)config.h $(I)permonst.h $(I)monsym.h \
1123 $(O)monstr.o: $(NHS)monstr.c $(HDEP)
1125 $(O)mplayer.o: $(NHS)mplayer.c $(HDEP)
1127 $(O)mthrowu.o: $(NHS)mthrowu.c $(HDEP)
1129 $(O)muse.o: $(NHS)muse.c $(HDEP)
1130 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)muse.c
1132 $(O)music.o: $(NHS)music.c $(HDEP) #interp.c
1134 $(O)o_init.o: $(NHS)o_init.c $(HDEP) $(I)lev.h
1136 $(O)objects.o: $(NHS)objects.c $(I)config.h $(I)obj.h $(I)objclass.h \
1137 $(I)prop.h $(I)skills.h $(I)color.h
1138 $(CC) $(CFLAGS) $(INCLSPEC)$(NHS) $(OBJSPEC)$@ $(NHS)objects.c
1140 $(O)objnam.o: $(NHS)objnam.c $(HDEP)
1142 $(O)options.o: $(NHS)options.c $(HDEP) $(I)tcap.h $(I)config.h \
1143 $(I)objclass.h $(I)flag.h
1145 $(O)pager.o: $(NHS)pager.c $(HDEP) $(I)dlb.h
1147 $(O)pickup.o: $(NHS)pickup.c $(HDEP)
1149 $(O)pline.o: $(NHS)pline.c $(HDEP)
1151 $(O)polyself.o: $(NHS)polyself.c $(HDEP)
1153 $(O)potion.o: $(NHS)potion.c $(HDEP)
1155 $(O)pray.o: $(NHS)pray.c $(HDEP)
1157 $(O)priest.o: $(NHS)priest.c $(HDEP) $(I)mfndpos.h
1159 $(O)quest.o: $(NHS)quest.c $(HDEP) $(I)quest.h $(I)qtext.h
1161 $(O)questpgr.o: $(NHS)questpgr.c $(HDEP) $(I)qtext.h $(I)dlb.h
1163 $(O)read.o: $(NHS)read.c $(HDEP)
1165 $(O)rect.o: $(NHS)rect.c $(HDEP)
1167 $(O)region.o: $(NHS)region.c $(HDEP)
1169 $(O)restore.o: $(NHS)restore.c $(HDEP) $(I)lev.h $(I)tcap.h $(I)quest.h
1171 $(O)rnd.o: $(NHS)rnd.c $(HDEP)
1173 $(O)role.o: $(NHS)role.c $(HDEP)
1175 $(O)rumors.o: $(NHS)rumors.c $(HDEP) $(I)dlb.h
1177 $(O)save.o: $(NHS)save.c $(HDEP) $(I)lev.h $(I)quest.h
1179 $(O)shk.o: $(NHS)shk.c $(HDEP)
1180 $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ $(NHS)shk.c
1182 $(O)shknam.o: $(NHS)shknam.c $(HDEP)
1184 $(O)sit.o: $(NHS)sit.c $(HDEP) $(I)artifact.h
1186 $(O)sounds.o: $(NHS)sounds.c $(HDEP)
1188 $(O)sp_lev.o: $(NHS)sp_lev.c $(HDEP) $(I)sp_lev.h $(I)rect.h $(I)dlb.h
1190 $(O)spell.o: $(NHS)spell.c $(HDEP)
1192 $(O)steal.o: $(NHS)steal.c $(HDEP)
1194 $(O)steed.o: $(NHS)steed.c $(HDEP)
1196 $(O)sys.o: $(NHS)sys.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)
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 \
1246 $(I)date.h $(I)patchlevel.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)context.h $(I)trap.h $(I)decl.h $(I)dungeon.h
1271 $(I)monsym.h $(I)mkroom.h $(I)objclass.h $(I)flag.h $(I)rm.h
1272 $(I)vision.h $(I)display.h $(I)wintype.h $(I)engrave.h
1273 $(I)rect.h $(I)region.h $(I)trampoli.h $(I)sys.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)mextra.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)engrave.h: $(I)trampoli.h $(I)rect.h
1300 -setdate $(I)engrave.h
1303 $(I)mextra.h: $(I)align.h
1304 -setdate $(I)mextra.h
1307 $(I)mondata.h: $(I)align.h
1308 -setdate $(I)mondata.h
1311 $(I)monst.h: $(I)align.h $(I)mextra.h
1312 -setdate $(I)monst.h
1315 $(I)pcconf.h: $(I)micro.h $(I)system.h
1316 -setdate $(I)pcconf.h
1319 $(I)rm.h: $(I)align.h
1325 # install keeps doing re-install because it keeps rebuilding lev_comp???
1326 # fixed(?) - deleted setdate