OSDN Git Service

upgrade to 3.6.2
[jnethack/source.git] / sys / unix / Makefile.src
1 #       NetHack Makefile.
2 # NetHack 3.6  Makefile.src    $NHDT-Date: 1550876124 2019/02/22 22:55:24 $  $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.70 $
3 # Copyright (c) 2018 by Pasi Kallinen
4 # NetHack may be freely redistributed.  See license for details.
5
6 # Root of source tree:
7 NHSROOT=..
8
9 # newer makes predefine $(MAKE) to 'make' and do smarter processing of
10 # recursive make calls if $(MAKE) is used
11 # these makes allow $(MAKE) to be overridden by the environment if someone
12 # wants to (or has to) use something other than the standard make, so we do
13 # not want to unconditionally set $(MAKE) here
14 #
15 # unfortunately, some older makes do not predefine $(MAKE); if you have one of
16 # these, uncomment the following line
17 # (you will know that you have one if you get complaints about being unable
18 # to find 'makedefs')
19 # MAKE = make
20
21 # This makefile replaces the previous Makefile.unix, Makefile.xenix,
22 # Makefile.3B2, Makefile.att, and Makefile.tos.
23 # Set SYSTEM to one of:
24 #       'Sysunix'       -- generic UNIX
25 #       'Sys3B2'        -- AT&T 3B2, 3B5, etc.
26 #       'Sysatt'        -- AT&T UNIXPC, 7300, 3B1
27 #       'SysV-AT'       -- Microport 286 UNIX (put -DDUMB in CFLAGS)
28 #       'Systos'        -- Atari
29 #       'SysBe'         -- BeOS
30 SYSTEM = Sysunix
31
32 #
33 # Make sure that your bourne shell is specified here, as you have to spawn
34 # some of the commands (eg. depend) in bourne shell for them to work.
35 #
36 # For Systos users compiling on the ST, you'll either need a bourne shell
37 # clone or you'll need to do make depend, etc. by hand. In either case,
38 # the line below probably needs changing
39 SHELL=/bin/sh
40 # for Atari
41 # SHELL=E:/GEMINI2/MUPFEL.TTP
42
43 # Usually, the C compiler driver is used for linking:
44 #LINK=$(CC)
45
46 # Pick the SYSSRC and SYSOBJ lines corresponding to your desired operating
47 # system.
48 #
49 # for UNIX systems
50 SYSSRC = ../sys/share/ioctl.c ../sys/share/unixtty.c ../sys/unix/unixmain.c \
51         ../sys/unix/unixunix.c ../sys/unix/unixres.c
52 SYSOBJ = ioctl.o unixmain.o unixtty.o unixunix.o unixres.o
53 #
54 # for Systos
55 # SYSSRC = ../sys/atari/tos.c ../sys/share/pcmain.c ../sys/share/pcsys.c \
56 #       ../sys/share/pctty.c ../sys/share/pcunix.c
57 # SYSOBJ = tos.o pcmain.o pcsys.o pctty.o pcunix.o
58 #
59 # for BeOS
60 #SYSSRC = ../sys/be/bemain.c ../sys/share/unixtty.c ../sys/share/ioctl.c
61 #SYSOBJ = bemain.o unixtty.o ioctl.o
62
63 JSRC = ../japanese/jconj.c ../japanese/jlib.c
64 JOBJ = jconj.o jlib.o
65
66 # if you are using gcc as your compiler:
67 #       uncomment the CC definition below if it's not in your environment
68 #       if you get setcgtty() warnings during execution, you are feeding gcc
69 #               a non-ANSI <sys/ioctl.h> -- either run fixincludes on it or use
70 #               -traditional in CFLAGS
71 # CC = gcc
72 #
73 #       For Bull DPX/2 systems at B.O.S. 2.0 or higher use the following:
74 #
75 # CC = gcc -ansi -D_BULL_SOURCE -D_XOPEN_SOURCE -D_POSIX_SOURCE
76 #
77 #       If you are using GCC 2.2.2 or higher on a DPX/2, just use:
78 #
79 # CC = gcc -ansi
80 #
81 #       For HP/UX 10.20 with GCC:
82 # CC = gcc -D_POSIX_SOURCE
83 #
84 #       For cross-compiling, eg. with gcc on Linux (see also CXX further down):
85 # CC = arm-linux-gcc
86 #
87 #
88 # if you're debugging and want gcc to check as much as possible, use:
89 # CC = gcc -W -Wimplicit -Wreturn-type -Wunused -Wformat -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -DGCC_WARN
90
91 # flags may have to be changed as required
92 # flags for 286 Xenix:
93 # CFLAGS = -Ml2t16 -O -LARGE -I../include
94 # LFLAGS = -Ml -F 4000 -SEG 512
95
96 # flags for 286 Microport SysV-AT
97 # CFLAGS = -DDUMB -Ml -I../include
98 # LFLAGS = -Ml
99
100 # flags for Atari gcc (3.2.1)
101 # CFLAGS = -O -I../include
102 # LFLAGS = -s
103 # flags for Atari gcc (3.3)
104 # CFLAGS = -mshort -O2 -fomit-frame-pointer -I../include
105 # LFLAGS = -mshort -s
106
107 # flags for AIX 3.1 cc on IBM RS/6000 to define
108 # a suitable subset of standard libraries
109 # (note that there is more info regarding the "-qchars=signed"
110 # switch in file Install.unx note 8)
111 # CFLAGS = -D_NO_PROTO -D_XOPEN_SOURCE -O -I../include -qchars=signed
112 #
113 # Some of our subroutines are complex enough that this is required for full
114 # optimization under AIX 3.2 (I don't know about 3.1).
115 #
116 # CFLAGS = -D_NO_PROTO -D_XOPEN_SOURCE -D_ALL_SOURCE -O -I../include -qchars=signed -qmaxmem=5000
117
118 # flags for A/UX 2.01 using native cc or c89
119 # gcc predefines AUX so that's not needed there
120 # Remember to use -lcurses for WINLIB below !
121 # CFLAGS = -ZS -D_POSIX_SOURCE -O -I../include -DAUX
122
123 # flags for IRIX 4.0.x using native cc
124 # The include files are __STDC__, but have bugs involving const
125 # CFLAGS = -O -I../include -D__STDC__ -Dconst= -woff 100,293
126 # LFLAGS = -s
127
128 # flags for BSD/OS 2.0
129 # CFLAGS = -O -I../include -I/usr/X11/include
130 # LFLAGS = -L/usr/X11/lib
131
132 # flags for Linux
133 #   compile normally
134 # CFLAGS = -O2 -fomit-frame-pointer -I../include
135 # LFLAGS = -L/usr/X11R6/lib
136 #   OR compile backwards compatible a.out format
137 # CFLAGS = -O2 -b i486-linuxaout -fomit-frame-pointer -I../include
138 # LFLAGS = -b i486-linuxaout -L/usr/X11R6/lib
139
140 # flags for BeOS
141 #   on a Mac/BeBox:
142 #CC = mwcc
143 #CFLAGS = -r -I../include
144 #LINK = mwld
145 #LFLAGS = -map nethack.xMAP
146 #   on Intel:
147 #CFLAGS = -O -I../include
148 #LINK = gcc
149 #LFLAGS = -Xlinker -soname=_APP_
150
151 # Compile with PDCurses installed in a separate directory that doesn't
152 # conflict with the system curses/ncurses library
153 #CFLAGS = -O -I../include -I/usr/local/include/pdcurses
154 # Same as above, but for XCurses
155 #CFLAGS = -O -DXCURSES -I../include -I/usr/local/include/pdcurses
156 # Compile against system curses library, such as ncurses
157 #CFLAGS = -O -I../include
158
159 # files in ../win/X11 (relative to src) are passed $(CFLAGS) $(X11CFLAGS)
160 # and by default will find <X11/foo.h> in /usr/include/X11/foo.h;
161 # can be overridden via hints; post-10.7 OSX with XQuartz uses
162 # X11CFLAGS=-I/opt/X11/include to find <X11/foo.h> in /opt/X11/include/X11/foo.h
163 #X11CFLAGS=
164
165 # Only used for the Gnome interface.
166 # When including the Gnome interface, you need to include gnome specific
167 # directories.  The ones given below is the usual spot for linux systems.
168 # The paths are for glibconfig.h and gnomesupport.h respectively.
169 #
170 GNOMEINC=-I/usr/lib/glib/include -I/usr/lib/gnome-libs/include -I../win/gnome
171
172 # flags for debugging:
173 # CFLAGS = -g -I../include
174
175 #CFLAGS = -O -I../include
176 #LFLAGS = 
177
178 # The Qt and Be window systems are written in C++, while the rest of
179 # NetHack is standard C.  If using Qt, uncomment the LINK line here to get
180 # the C++ libraries linked in.
181 CXXFLAGS = $(CFLAGS) -I. -I$(QTDIR)/include
182 CXX ?= g++
183 MOC ?= moc
184 #LINK=g++
185 #       For cross-compiling, eg. with gcc on Linux (see also CC further up):
186 #CXX=arm-linux-g++
187 #LINK=arm-linux-gcc
188
189 # we specify C preprocessor flags via CFLAGS; files built with default rules
190 # might include $(CPPFLAGS) which could get a value from user's environment;
191 # we avoid that by forcing it empty rather than by overriding default rules
192 CPPFLAGS =
193
194 # file for regular expression matching
195 REGEXOBJ = posixregex.o
196 #REGEXOBJ = pmatchregex.o
197 #REGEXOBJ = cppregex.o
198
199 # Set the WINSRC, WINOBJ, and WINLIB lines to correspond to your desired
200 # combination of windowing systems.  Also set windowing systems in config.h.
201 # Note that if you are including multiple tiled window systems, you don't
202 # want two copies of tile.o, so comment out all but the first.
203 #
204 # files for a straight tty port using no native windowing system
205 WINTTYSRC = ../win/tty/getline.c ../win/tty/termcap.c ../win/tty/topl.c \
206         ../win/tty/wintty.c
207 WINTTYOBJ = getline.o termcap.o topl.o wintty.o
208 #
209 # Files for curses interface
210 WINCURSESSRC = ../win/curses/cursmain.c ../win/curses/curswins.c \
211         ../win/curses/cursmisc.c ../win/curses/cursdial.c \
212         ../win/curses/cursstat.c ../win/curses/cursinit.c \
213         ../win/curses/cursmesg.c ../win/curses/cursinvt.c
214 WINCURSESOBJ = cursmain.o curswins.o cursmisc.o cursdial.o cursstat.o \
215         cursinit.o cursmesg.o cursinvt.o
216 #
217 # files for an X11 port
218 # (tile.c is a generated source file)
219 WINX11SRC = ../win/X11/Window.c ../win/X11/dialogs.c ../win/X11/winX.c \
220         ../win/X11/winmap.c  ../win/X11/winmenu.c ../win/X11/winmesg.c \
221         ../win/X11/winmisc.c ../win/X11/winstat.c ../win/X11/wintext.c \
222         ../win/X11/winval.c tile.c
223 WINX11OBJ = Window.o dialogs.o winX.o winmap.o winmenu.o winmesg.o \
224         winmisc.o winstat.o wintext.o winval.o tile.o
225 #
226 # Files for a Qt port
227 #
228 WINQTSRC = ../win/Qt/qt_win.cpp ../win/Qt/qt_clust.cpp ../win/Qt/qttableview.cpp
229 WINQTOBJ = qt_win.o qt_clust.o qttableview.o tile.o
230 #
231 # Files for a Qt 4 or 5 port
232 #
233 WINQT4SRC = ../win/Qt4/qt4bind.cpp ../win/Qt4/qt4click.cpp \
234         ../win/Qt4/qt4clust.cpp ../win/Qt4/qt4delay.cpp \
235         ../win/Qt4/qt4glyph.cpp ../win/Qt4/qt4icon.cpp ../win/Qt4/qt4inv.cpp \
236         ../win/Qt4/qt4key.cpp ../win/Qt4/qt4line.cpp ../win/Qt4/qt4main.cpp \
237         ../win/Qt4/qt4map.cpp ../win/Qt4/qt4menu.cpp ../win/Qt4/qt4msg.cpp \
238         ../win/Qt4/qt4plsel.cpp ../win/Qt4/qt4rip.cpp ../win/Qt4/qt4set.cpp \
239         ../win/Qt4/qt4stat.cpp ../win/Qt4/qt4str.cpp ../win/Qt4/qt4streq.cpp \
240         ../win/Qt4/qt4svsel.cpp ../win/Qt4/qt4win.cpp ../win/Qt4/qt4xcmd.cpp \
241         ../win/Qt4/qt4yndlg.cpp
242 WINQT4OBJ = qt4bind.o qt4click.o qt4clust.o qt4delay.o qt4glyph.o qt4icon.o \
243         qt4inv.o qt4key.o qt4line.o qt4main.o qt4map.o qt4menu.o qt4msg.o \
244         qt4plsel.o qt4rip.o qt4set.o qt4stat.o qt4str.o qt4streq.o qt4svsel.o \
245         qt4win.o qt4xcmd.o qt4yndlg.o tile.o
246 #
247 # Files for a Gnome port
248 #
249 WINGNOMESRC = ../win/gnome/gnaskstr.c ../win/gnome/gnbind.c \
250         ../win/gnome/gnglyph.c ../win/gnome/gnmain.c ../win/gnome/gnmap.c \
251         ../win/gnome/gnmenu.c ../win/gnome/gnmesg.c ../win/gnome/gnopts.c \
252         ../win/gnome/gnplayer.c ../win/gnome/gnsignal.c \
253         ../win/gnome/gnstatus.c ../win/gnome/gntext.c ../win/gnome/gnyesno.c \
254         ../win/gnome/gnworn.c
255 WINGNOMEOBJ = gnaskstr.o gnbind.o gnglyph.o gnmain.o gnmap.o gnmenu.o \
256         gnmesg.o gnopts.o gnplayer.o gnsignal.o gnstatus.o gntext.o \
257         gnyesno.o gnworn.o tile.o
258 #
259 # Files for a Gem port
260 WINGEMSRC = ../win/gem/wingem.c ../win/gem/wingem1.c ../win/gem/load_img.c \
261         ../win/gem/gr_rect.c tile.c
262 WINGEMOBJ = wingem.o wingem1.o load_img.o gr_rect.o tile.o
263 #
264 # Files for a BeOS InterfaceKit port -- not ready for prime time
265 WINBESRC =
266 WINBEOBJ =
267 #WINBESRC = ../win/BeOS/winbe.cpp ../win/BeOS/NHWindow.cpp \
268 #       ../win/BeOS/NHMenuWindow.cpp ../win/BeOS/NHMapWindow.cpp tile.c
269 #WINBEOBJ = winbe.o NHWindow.o NHMenuWindow.o NHMapWindow.o tile.o
270 #
271 #
272 #WINSRC = $(WINTTYSRC)
273 #WINOBJ = $(WINTTYOBJ)
274 #
275 # Curses - Karl Garrison, Tangles
276 #WINSRC = $(WINCURSESSRC)
277 #WINOBJ = $(WINCURSESOBJ)
278 #
279 # on some systems the termcap library is in -ltermcap or -lcurses
280 # on 386 Xenix, the -ltermlib tputs() seems not to work; use -lcurses instead
281 # Sysatt uses shared library in lieu of this option
282 # Systos needs -lcurses16 if you use -mshort
283 # AIX 3.1 on RS/6000 likes -lcurses if TERMINFO defined in unixconf.h
284 # and -ltermcap otherwise
285 # Linux uses -lncurses (newer) or -ltermcap (older)
286 # Be uses -ltermcap
287 #
288 # libraries for tty ports
289 # WINTTYLIB = -ltermcap
290 # WINTTYLIB = -lcurses
291 # WINTTYLIB = -lcurses16
292 # WINTTYLIB = -lncurses
293 #WINTTYLIB = -ltermlib
294 #
295 # libraries for X11
296 # If USE_XPM is defined in config.h, you will also need -lXpm here.
297 #WINX11LIB = -lXaw -lXmu -lXext -lXt -lX11
298 # WINX11LIB = -lXaw -lXmu -lXt -lX11
299 # WINX11LIB = -lXaw -lXmu -lXext -lXt -lXpm -lX11 -lm
300 # WINX11LIB = -lXaw -lXmu -lXpm -lXext -lXt -lX11 -lSM -lICE -lm # BSD/OS 2.0
301 #
302 #
303 # libraries for Qt 3
304 WINQTLIB = -L$(QTDIR)/lib -lqt
305 #
306 # libraries for Qt 4
307 WINQT4LIB = `pkg-config QtGui --libs`
308 #
309 # libraries for Qt 5 (use with WINQT4SRC and WINQT4OBJ)
310 WINQT5LIB = `pkg-config Qt5Gui Qt5Widgets Qt5Multimedia --libs`
311 #
312 # libraries for KDE (with Qt)
313 WINKDELIB = -lkdecore -lkdeui -lXext
314 #
315 # libraries for Gnome
316 WINGNOMELIB = -lgnomeui -lgnome -lart_lgpl -lgtk -lgdk -lpopt
317 #
318 # libraries for Gem port
319 WINGEMLIB = -le_gem -lgem
320 #
321 # libraries for BeOS 
322 WINBELIB = -lbe
323 #
324 # libraries for curses port
325 # link with ncurses
326 WINCURSESLIB = -lncurses
327 # link with pdcurses for SDL, installed in a separate directory
328 #WINCURSESLIB = -L/usr/local/lib/pdcurses -lpdcurses -lSDL
329 # same as above, for XCurses
330 #WINCURSESLIB = -L/usr/local/lib/pdcurses -lXCurses -lXawM -lXmu -lXext -lXt -lX11
331 #
332 #WINLIB = $(WINTTYLIB)
333 #
334 # For Curses
335 #WINLIB = $(WINCURSESLIB)
336 #
337 # any other strange libraries your system needs (for Sysunix only -- the more
338 # specialized targets should already be right)
339 #
340 # on HP-UX 8.x, the malloc(3x) routines in libmalloc.a seem to align things
341 # better than the malloc(3) ones in libc.a
342 # LIBS = -lmalloc
343 #
344 # DPX/2's also use the malloc(3x) routines.  In addition, if you are building
345 # for X11, you must include libinet.a.
346 # LIBS = -lmalloc -linet
347 #
348 # Linux NetHack uses some bsd style ioctl functions, thus it is necessary to
349 # use the bsd libs.  (Only if still compiling as BSD in unixconf.h; recent
350 # versions compile fine using SYSV without this.)
351 # LIBS = -lbsd
352 #
353 # for CYGWIN32 aka cygwin 1.1.1
354 # LIBS = -lcygwin
355 #
356 # Solaris 2.x seems to work with the following
357 # LIBS = -lsocket -lnsl
358 #
359 # IRIX 4.0.x needs -lsun if NIS (YP) is being used for passwd file lookup
360 # LIBS = -lsun
361 #
362 # If ZLIB_COMP is defined in config.h this is necessary to link with zlib.
363 # LIBS = -lz
364 #
365 LIBS =
366
367 # make NetHack
368 # GAME     = nethack
369 GAME     = jnethack
370 # GAME     = nethack.prg
371
372 # if you defined RANDOM in unixconf.h/tosconf.h since your system did not come
373 # with a reasonable random number generator
374 # RANDOBJ = random.o
375 RANDOBJ =
376
377
378 # used by `make depend' to reconstruct this Makefile; you shouldn't need this
379 AWK     = nawk
380
381 # when using 'makedefs -v', also force dat/gitinfo.txt to be up to date;
382 # changing this to 0 will change the behavior to only make that file if
383 # it doesn't already exist; to skip it completely, create an empty file
384 # of that name and also set this to 0; there shouldn't be any need to
385 # skip it--if nethack's sources don't reside in a git repository than
386 # the script which creates that file will fail benignly and 'makedefs -v'
387 # will proceed without it
388 GITINFO=1
389
390 # if you change this to 1, feedback while building will omit -Dthis -Wthat
391 # -Isomewhere so that each file being compiled is listed on one short line;
392 # it requires support for '$<' in rules with more than one prerequisite
393 # (rather than just in suffix default rule), such as is implemented by
394 # gnu make and others which have picked up its extensions;
395 # allowed values are 0, 1, and empty (which behaves like 0)
396 QUIETCC=0
397
398 # ----------------------------------------
399 #
400 # Nothing below this line should have to be changed.
401 #
402 # Other things that have to be reconfigured are in config.h,
403 # {unixconf.h, pcconf.h, tosconf.h}, and possibly system.h
404
405 # Verbosity definitions, begin
406 #   Set QUIETCC=1 above to output less feedback while building.
407 #   CC and CXX obey verbosity, LD and LINK don't.
408 #   AT is @ when not verbose, empty otherwise
409 ACTUAL_CC := $(CC)
410 ACTUAL_CXX := $(CXX)
411 ACTUAL_LD := $(LD)
412 ACTUAL_LINK := $(LINK)
413
414 CC_V0 = $(ACTUAL_CC)
415 CC_V = $(CC_V0)
416 CC_V1 = @echo "[CC] $<"; $(ACTUAL_CC)
417 CC = $(CC_V$(QUIETCC))
418
419 CXX_V0 = $(ACTUAL_CXX)
420 CXX_V = $(CXX_V0)
421 CXX_V1 = @echo "[CXX] $<"; $(ACTUAL_CXX)
422 CXX = $(CXX_V$(QUIETCC))
423
424 # LD and LINK might be based on invoking CC and may not be able to substitute
425 # for QUIETCC, so feedback from them is handled differently (via $AT)
426 LD = $(ACTUAL_LD)
427 LINK = $(ACTUAL_LINK)
428
429 AT_V0 :=
430 AT_V := $(AT_V0)
431 AT_V1 := @
432 AT = $(AT_V$(QUIETCC))
433 # Verbosity, end
434
435 MAKEDEFS = ../util/makedefs
436
437 # timestamp files to reduce `make' overhead and shorten .o dependency lists
438 CONFIG_H = ../src/config.h-t
439 HACK_H  = ../src/hack.h-t
440
441 # all .c that are part of the main NetHack program and are not operating- or
442 # windowing-system specific
443 HACKCSRC = allmain.c alloc.c apply.c artifact.c attrib.c ball.c bones.c \
444            botl.c cmd.c dbridge.c decl.c detect.c dig.c display.c dlb.c do.c \
445            do_name.c do_wear.c dog.c dogmove.c dokick.c dothrow.c drawing.c \
446            dungeon.c eat.c end.c engrave.c exper.c explode.c extralev.c \
447            files.c fountain.c hack.c hacklib.c invent.c isaac64.c light.c \
448            lock.c mail.c makemon.c mapglyph.c mcastu.c mhitm.c mhitu.c \
449            minion.c mklev.c mkmap.c \
450            mkmaze.c mkobj.c mkroom.c mon.c mondata.c monmove.c monstj.c \
451            mplayer.c mthrowu.c muse.c music.c o_init.c objectsj.c objnam.c \
452            options.c pager.c pickup.c pline.c polyself.c potion.c pray.c \
453            priest.c quest.c questpgr.c read.c rect.c region.c restore.c \
454            rip.c rnd.c role.c rumors.c save.c shk.c shknam.c sit.c sounds.c \
455            sp_lev.c spell.c steal.c steed.c sys.c teleport.c timeout.c \
456            topten.c track.c trap.c u_init.c \
457            uhitm.c vault.c version.c vision.c weapon.c were.c wield.c \
458            windows.c wizard.c worm.c worn.c write.c zap.c
459
460 # all operating-system-dependent .c (for dependencies and such)
461 SYSCSRC = ../sys/atari/tos.c ../sys/share/pcmain.c ../sys/share/pcsys.c \
462         ../sys/share/pctty.c ../sys/share/pcunix.c \
463         ../sys/share/pmatchregex.c ../sys/share/posixregex.c \
464         ../sys/share/random.c \
465         ../sys/share/ioctl.c ../sys/share/unixtty.c ../sys/unix/unixmain.c \
466         ../sys/unix/unixunix.c ../sys/unix/unixres.c ../sys/be/bemain.c
467 SYSCXXSRC = ../sys/share/cppregex.cpp
468
469 # generated source files (tile.c is handled separately via WINxxxSRC)
470 GENCSRC = vis_tab.c     #tile.c
471
472 # all windowing-system-dependent .c (for dependencies and such)
473 WINCSRC = $(WINTTYSRC) $(WINCURSESSRC) $(WINX11SRC) $(WINGNOMESRC) $(WINGEMSRC)
474 # all windowing-system-dependent .cpp (for dependencies and such)
475 WINCXXSRC = $(WINQTSRC) $(WINQT4SRC) $(WINBESRC)
476
477 # Files for window system chaining. Requires SYSCF; include via HINTSRC/HINTOBJ
478 CHAINSRC = ../win/chain/wc_chainin.c ../win/chain/wc_chainout.c \
479            ../win/chain/wc_trace.c
480 CHAINOBJ = wc_chainin.o wc_chainout.o wc_trace.o
481
482 # .c files for this version (for date.h)
483 VERSOURCES = $(HACKCSRC) $(SYSSRC) $(JSRC) $(WINSRC) $(CHAINSRC) $(GENCSRC)
484
485 # .c files for all versions using this Makefile (for lint and tags)
486 CSOURCES = $(HACKCSRC) $(SYSCSRC) $(JSRC) $(WINCSRC) $(CHAINSRC) $(GENCSRC)
487
488
489 # all .h files except date.h, onames.h, pm.h, and vis_tab.h which would
490 # cause dependency loops if run through "make depend"
491 # and dgn_comp.h, dgn_file.h, lev_comp.h, special level & dungeon files.
492 #
493 HACKINCL = align.h amiconf.h artifact.h artilistj.h attrib.h beconf.h botl.h \
494         color.h config.h config1.h context.h coord.h decl.h def_os2.h \
495         display.h dlb.h dungeon.h engrave.h extern.h flag.h func_tab.h \
496         global.h hack.h lev.h lint.h macconf.h mextra.h mfndpos.h micro.h \
497         mkroom.h \
498         monattk.h mondata.h monflag.h monst.h monsym.h obj.h objclass.h \
499         os2conf.h patchlevel.h pcconf.h permonst.h prop.h rect.h region.h \
500         rm.h sp_lev.h spell.h sys.h system.h tcap.h timeout.h tosconf.h \
501         tradstdc.h trampoli.h trap.h unixconf.h vision.h vmsconf.h wintty.h \
502         wincurs.h winX.h winprocs.h wintype.h you.h youprop.h
503
504 HSOURCES = $(HACKINCL) date.h onames.h pm.h vis_tab.h \
505                 lev_comp.h dgn_comp.h dgn_file.h
506
507 # the following .o's _must_ be made before any others (for makedefs)
508 FIRSTOBJ = monst.o objects.o
509
510 HOBJ = monstj.o objectsj.o allmain.o alloc.o apply.o artifact.o attrib.o ball.o \
511         bones.o botl.o cmd.o dbridge.o decl.o detect.o dig.o display.o dlb.o \
512         do.o do_name.o do_wear.o dog.o dogmove.o dokick.o dothrow.o \
513         drawing.o dungeon.o eat.o end.o engrave.o exper.o explode.o \
514         extralev.o files.o fountain.o hack.o hacklib.o invent.o isaac64.o \
515         light.o lock.o mail.o makemon.o mapglyph.o mcastu.o mhitm.o mhitu.o \
516         minion.o mklev.o mkmap.o \
517         mkmaze.o mkobj.o mkroom.o mon.o mondata.o monmove.o \
518         mplayer.o mthrowu.o muse.o music.o o_init.o objnam.o options.o \
519         pager.o pickup.o pline.o polyself.o potion.o pray.o priest.o \
520         quest.o questpgr.o read.o rect.o region.o restore.o rip.o rnd.o \
521         role.o rumors.o save.o shk.o shknam.o sit.o sounds.o sp_lev.o spell.o \
522         sys.o \
523         steal.o steed.o teleport.o timeout.o topten.o track.o trap.o u_init.o \
524         uhitm.o vault.o vision.o vis_tab.o weapon.o were.o wield.o windows.o \
525         wizard.o worm.o worn.o write.o zap.o \
526         $(REGEXOBJ) $(RANDOBJ) $(JOBJ) $(SYSOBJ) $(WINOBJ) $(HINTOBJ) version.o
527 # the .o files from the HACKCSRC, SYSSRC, and WINSRC lists
528
529 $(GAME):        $(SYSTEM)
530         @echo "$(GAME) is up to date."
531
532 Sysunix:        $(HOBJ) Makefile
533         @echo "Linking $(GAME)."
534         $(AT)$(LINK) $(LFLAGS) -o $(GAME) $(HOBJ) $(WINLIB) $(LIBS)
535         @touch Sysunix
536
537 Sys3B2: $(HOBJ) Makefile
538         @echo "Linking $(GAME)."
539         $(AT)$(LINK) $(LFLAGS) -o $(GAME) $(HOBJ) $(WINLIB) -lmalloc
540         @touch Sys3B2
541
542 Sysatt: $(HOBJ) Makefile
543         @echo "Loading $(GAME)."
544         $(AT)$(LD) $(LFLAGS) /lib/crt0s.o /lib/shlib.ifile -o $(GAME) $(HOBJ)
545         @touch Sysatt
546
547 Systos: $(HOBJ) Makefile
548         @echo "Linking $(GAME)."
549         $(AT)$(LINK) $(LFLAGS) -o $(GAME) $(HOBJ) $(WINLIB)
550         @touch Systos
551
552 SysV-AT:        DUMB.Setup $(HOBJ) Makefile
553         @echo "Linking $(GAME)."
554         $(AT)$(LINK) $(LFLAGS) -o $(GAME) $(HOBJ) $(WINLIB)
555         @touch SysV-AT
556
557 SysBe: $(HOBJ) Makefile
558         @echo "Linking $(GAME)."
559         $(AT)$(LINK) $(LFLAGS) -o $(GAME) $(HOBJ) $(WINLIB) $(LIBS)
560         @xres -o $(GAME) ../win/BeOS/nethack.rsrc
561         @mimeset -f $(GAME)
562         @touch SysBe
563
564 DUMB.Setup:     ../include/extern.h
565         cp ../include/extern.h ../include/extern.h.BAK
566         cat ../include/extern.h | \
567                 sed -e '/^E\ int\ /!b' \
568                         -e '/[^;/       ]$$/N' \
569                         -e '/[(][*]occupation[)]/b' \
570                         -e '/[(][*]afternmv[)]/b' \
571                         -e '/float_down/b' \
572                         -e '/done1/b' \
573                         -e '/identify/b' \
574                         -e '/Hear_again/b' \
575                         -e '/hangup/b' \
576                         -e 's/^\(.*\)$$/\/\* \1 \/\*\*\//' | \
577                 sed -e '/^E\ void\ /!b' \
578                         -e '/[^;/       ]$$/N' \
579                         -e 's/^\(.*\)$$/\/\* \1 \/\*\*\//' \
580                                 >../include/extern.DUMB
581         cp ../include/extern.DUMB ../include/extern.h
582         @touch DUMB.Setup
583
584 all:    $(GAME)
585
586
587 #       dependencies for makedefs and its outputs, which the util
588 #       Makefile is responsible for keeping up to date
589 #
590
591 # special rules, to force update of makedefs, real dependencies should be
592 # below in the 'make depend' output.
593 monst.o:
594         $(CC) $(CFLAGS) -c monst.c
595         @rm -f $(MAKEDEFS)
596
597 objects.o:
598         $(CC) $(CFLAGS) -c objects.c
599         @rm -f $(MAKEDEFS)
600
601 # Qt 3 windowport meta-object-compiler output
602 qt_kde0.moc: ../include/qt_kde0.h
603         $(QTDIR)/bin/moc -o qt_kde0.moc ../include/qt_kde0.h
604
605 qt_win.moc: ../include/qt_win.h
606         $(QTDIR)/bin/moc -o qt_win.moc ../include/qt_win.h
607
608 qttableview.moc: ../include/qttableview.h
609         $(QTDIR)/bin/moc -o qttableview.moc ../include/qttableview.h
610
611 # Qt 4 windowport meta-object-compiler output
612 qt4kde0.moc : ../win/Qt4/qt4kde0.h
613         $(QTDIR)/bin/$(MOC) -o qt4kde0.moc ../win/Qt4/qt4kde0.h
614 qt4main.moc : ../win/Qt4/qt4main.h
615         $(QTDIR)/bin/$(MOC) -o qt4main.moc ../win/Qt4/qt4main.h
616 qt4map.moc : ../win/Qt4/qt4map.h
617         $(QTDIR)/bin/$(MOC) -o qt4map.moc ../win/Qt4/qt4map.h
618 qt4menu.moc : ../win/Qt4/qt4menu.h
619         $(QTDIR)/bin/$(MOC) -o qt4menu.moc ../win/Qt4/qt4menu.h
620 qt4msg.moc : ../win/Qt4/qt4msg.h
621         $(QTDIR)/bin/$(MOC) -o qt4msg.moc ../win/Qt4/qt4msg.h
622 qt4plsel.moc : ../win/Qt4/qt4plsel.h
623         $(QTDIR)/bin/$(MOC) -o qt4plsel.moc ../win/Qt4/qt4plsel.h
624 qt4set.moc : ../win/Qt4/qt4set.h
625         $(QTDIR)/bin/$(MOC) -o qt4set.moc ../win/Qt4/qt4set.h
626 qt4stat.moc : ../win/Qt4/qt4stat.h
627         $(QTDIR)/bin/$(MOC) -o qt4stat.moc ../win/Qt4/qt4stat.h
628 qt4xcmd.moc : ../win/Qt4/qt4xcmd.h
629         $(QTDIR)/bin/$(MOC) -o qt4xcmd.moc ../win/Qt4/qt4xcmd.h
630 qt4yndlg.moc : ../win/Qt4/qt4yndlg.h
631         $(QTDIR)/bin/$(MOC) -o qt4yndlg.moc ../win/Qt4/qt4yndlg.h
632
633 #       build monst.o and objects.o before executing '$(MAKE) makedefs'
634 $(MAKEDEFS): $(FIRSTOBJ) \
635                 ../util/makedefs.c $(CONFIG_H) ../include/permonst.h \
636                 ../include/objclass.h ../include/monsym.h \
637                 ../include/artilist.h ../include/dungeon.h ../include/obj.h \
638                 ../include/monst.h ../include/you.h ../include/flag.h \
639                 ../include/dlb.h ../include/patchlevel.h ../include/qtext.h
640         @( cd ../util ; $(MAKE) makedefs )
641
642 #       Source files created by 'makedefs' at build time.
643 #       Each is given an artificial dependency upon the one before
644 #       so that parallel makes will have to build them sequentially.
645 #       (More for documentation than effect; 'make' should know not
646 #       to try to build $(MAKEDEFS) for bar.h while it is in the
647 #       process of building it for foo.h.)
648 ../include/onames.h: $(MAKEDEFS)
649         @( cd ../util ; $(MAKE) ../include/onames.h )
650 ../include/pm.h: $(MAKEDEFS) ../include/onames.h
651         @( cd ../util ; $(MAKE) ../include/pm.h )
652 ../include/vis_tab.h: $(MAKEDEFS) ../include/pm.h
653         @( cd ../util ; $(MAKE) ../include/vis_tab.h )
654 # makedefs -z makes both vis_tab.h and vis_tab.c, but writes the .h first
655 vis_tab.c: ../include/vis_tab.h
656 #       Created at build time for configurations which support tiles,
657 #       but not by makedefs so not connected to the others.
658 tile.c: ../win/share/tilemap.c $(HACK_H)
659         @( cd ../util ; $(MAKE) ../src/tile.c )
660
661 ../win/gnome/gn_rip.h: ../win/X11/rip.xpm
662         cp ../win/X11/rip.xpm ../win/gnome/gn_rip.h
663
664 #       date.h should be remade any time any of the source or include code
665 #       is modified.  Unfortunately, this would make the contents of this
666 #       file far more complex.  Since "hack.h" depends on most of the include
667 #       files, we kludge around this by making date.h dependent on hack.h,
668 #       even though it doesn't include this file.
669 #       Do NOT include ../dat/gitinfo.txt as either a prerequisite or target.
670 #       'makedefs -v' processes it when present and ignores it if not.
671 #
672 #       hack.h depends on makedefs' output, so we know makedefs will be
673 #       up to date before being executed
674 ../include/date.h:      $(VERSOURCES) $(HACK_H)
675         -$(SHELL) ../sys/unix/gitinfo.sh $(GITINFO) #before 'makedefs -v'
676         ../util/makedefs -v
677
678
679 lint:
680 # lint cannot have -p here because (i) capitals are meaningful:
681 # [Ww]izard, (ii) identifiers may coincide in the first six places:
682 # doweararm() versus dowearring().
683 # _flsbuf comes from <stdio.h>, a bug in the system libraries.
684         @echo lint -axbh -DLINT ...
685         @lint -axbh -I../include -DLINT $(CSOURCES) | sed '/_flsbuf/d'
686
687
688 tags: $(CSOURCES)
689         @echo ctags -tw ...
690         @ctags -tw $(CSOURCES)
691         @( cd ../include ; ctags -tw $(HSOURCES) )
692         @( cd ../util ; $(MAKE) tags )
693
694 clean:
695         -rm -f *.o $(HACK_H) $(CONFIG_H)
696
697 spotless: clean
698         -rm -f a.out core $(GAME) Sys*
699         -rm -f ../include/date.h ../include/onames.h ../include/pm.h
700         -rm -f ../include/vis_tab.h vis_tab.c tile.c *.moc
701         -rm -f ../win/gnome/gn_rip.h
702
703
704 depend: ../sys/unix/depend.awk \
705                 $(SYSCSRC) $(WINCSRC) $(SYSCXXSRC) $(WINCXXSRC) \
706                 $(CHAINSRC) $(GENCSRC) $(HACKCSRC)
707         $(AWK) -f ../sys/unix/depend.awk ../include/*.h \
708                 $(SYSCSRC) $(WINCSRC) $(SYSCXXSRC) $(WINCXXSRC) \
709                 $(CHAINSRC) $(GENCSRC) $(HACKCSRC) >makedep
710         @echo '/^# DO NOT DELETE THIS LINE OR CHANGE ANYTHING BEYOND IT/+2,$$d' >eddep
711         @echo '$$r makedep' >>eddep
712         @echo 'w' >>eddep
713         @cp Makefile Makefile.bak
714         ed - Makefile < eddep
715         @rm -f eddep makedep
716         @echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
717         @echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
718         @echo '# see make depend above' >> Makefile
719         - diff Makefile.bak Makefile
720         @rm -f Makefile.bak
721
722 # DO NOT DELETE THIS LINE OR CHANGE ANYTHING BEYOND IT
723
724 # config.h timestamp
725 $(CONFIG_H): ../include/config.h ../include/config1.h ../include/tradstdc.h \
726                 ../include/global.h ../include/coord.h ../include/vmsconf.h \
727                 ../include/system.h ../include/unixconf.h ../include/os2conf.h \
728                 ../include/micro.h ../include/pcconf.h ../include/tosconf.h \
729                 ../include/amiconf.h ../include/macconf.h ../include/beconf.h \
730                 ../include/wceconf.h ../include/ntconf.h
731         touch $(CONFIG_H)
732 # hack.h timestamp
733 $(HACK_H): ../include/hack.h $(CONFIG_H) ../include/lint.h ../include/align.h \
734                 ../include/dungeon.h ../include/monsym.h ../include/mkroom.h \
735                 ../include/objclass.h ../include/youprop.h ../include/prop.h \
736                 ../include/permonst.h ../include/monattk.h \
737                 ../include/monflag.h ../include/mondata.h ../include/pm.h \
738                 ../include/wintype.h ../include/context.h ../include/decl.h \
739                 ../include/quest.h ../include/spell.h ../include/color.h \
740                 ../include/obj.h ../include/you.h ../include/attrib.h \
741                 ../include/monst.h ../include/mextra.h ../include/skills.h \
742                 ../include/onames.h ../include/timeout.h ../include/trap.h \
743                 ../include/flag.h ../include/rm.h ../include/vision.h \
744                 ../include/display.h ../include/engrave.h ../include/rect.h \
745                 ../include/region.h ../include/winprocs.h ../include/botl.h \
746                 ../include/sys.h ../include/wintty.h ../include/trampoli.h
747         touch $(HACK_H)
748 #
749 tos.o: ../sys/atari/tos.c $(HACK_H) ../include/tcap.h
750         $(CC) $(CFLAGS) -c -o $@ ../sys/atari/tos.c
751 pcmain.o: ../sys/share/pcmain.c $(HACK_H) ../include/dlb.h
752         $(CC) $(CFLAGS) -c -o $@ ../sys/share/pcmain.c
753 pcsys.o: ../sys/share/pcsys.c $(HACK_H)
754         $(CC) $(CFLAGS) -c -o $@ ../sys/share/pcsys.c
755 pctty.o: ../sys/share/pctty.c $(HACK_H)
756         $(CC) $(CFLAGS) -c -o $@ ../sys/share/pctty.c
757 pcunix.o: ../sys/share/pcunix.c $(HACK_H)
758         $(CC) $(CFLAGS) -c -o $@ ../sys/share/pcunix.c
759 pmatchregex.o: ../sys/share/pmatchregex.c $(HACK_H)
760         $(CC) $(CFLAGS) -c -o $@ ../sys/share/pmatchregex.c
761 posixregex.o: ../sys/share/posixregex.c $(HACK_H)
762         $(CC) $(CFLAGS) -c -o $@ ../sys/share/posixregex.c
763 random.o: ../sys/share/random.c $(HACK_H)
764         $(CC) $(CFLAGS) -c -o $@ ../sys/share/random.c
765 ioctl.o: ../sys/share/ioctl.c $(HACK_H) ../include/tcap.h
766         $(CC) $(CFLAGS) -c -o $@ ../sys/share/ioctl.c
767 unixtty.o: ../sys/share/unixtty.c $(HACK_H)
768         $(CC) $(CFLAGS) -c -o $@ ../sys/share/unixtty.c
769 unixmain.o: ../sys/unix/unixmain.c $(HACK_H) ../include/dlb.h
770         $(CC) $(CFLAGS) -c -o $@ ../sys/unix/unixmain.c
771 unixunix.o: ../sys/unix/unixunix.c $(HACK_H)
772         $(CC) $(CFLAGS) -c -o $@ ../sys/unix/unixunix.c
773 unixres.o: ../sys/unix/unixres.c $(CONFIG_H)
774         $(CC) $(CFLAGS) -c -o $@ ../sys/unix/unixres.c
775 bemain.o: ../sys/be/bemain.c $(HACK_H) ../include/dlb.h
776         $(CC) $(CFLAGS) -c -o $@ ../sys/be/bemain.c
777 getline.o: ../win/tty/getline.c $(HACK_H) ../include/func_tab.h
778         $(CC) $(CFLAGS) -c -o $@ ../win/tty/getline.c
779 termcap.o: ../win/tty/termcap.c $(HACK_H) ../include/tcap.h
780         $(CC) $(CFLAGS) -c -o $@ ../win/tty/termcap.c
781 topl.o: ../win/tty/topl.c $(HACK_H) ../include/tcap.h
782         $(CC) $(CFLAGS) -c -o $@ ../win/tty/topl.c
783 wintty.o: ../win/tty/wintty.c $(HACK_H) ../include/dlb.h ../include/tcap.h
784         $(CC) $(CFLAGS) -c -o $@ ../win/tty/wintty.c
785 cursmain.o: ../win/curses/cursmain.c $(HACK_H) ../include/patchlevel.h \
786                 ../include/wincurs.h
787         $(CC) $(CFLAGS) -c -o $@ ../win/curses/cursmain.c
788 curswins.o: ../win/curses/curswins.c $(HACK_H) ../include/wincurs.h \
789                 ../win/curses/curswins.h
790         $(CC) $(CFLAGS) -c -o $@ ../win/curses/curswins.c
791 cursmisc.o: ../win/curses/cursmisc.c $(HACK_H) ../include/wincurs.h \
792                 ../win/curses/cursmisc.h ../include/func_tab.h ../include/dlb.h
793         $(CC) $(CFLAGS) -c -o $@ ../win/curses/cursmisc.c
794 cursdial.o: ../win/curses/cursdial.c $(HACK_H) ../include/wincurs.h \
795                 ../win/curses/cursdial.h ../include/func_tab.h
796         $(CC) $(CFLAGS) -c -o $@ ../win/curses/cursdial.c
797 cursstat.o: ../win/curses/cursstat.c $(HACK_H) ../include/wincurs.h \
798                 ../win/curses/cursstat.h
799         $(CC) $(CFLAGS) -c -o $@ ../win/curses/cursstat.c
800 cursinit.o: ../win/curses/cursinit.c $(HACK_H) ../include/wincurs.h \
801                 ../win/curses/cursinit.h
802         $(CC) $(CFLAGS) -c -o $@ ../win/curses/cursinit.c
803 cursmesg.o: ../win/curses/cursmesg.c $(HACK_H) ../include/wincurs.h \
804                 ../win/curses/cursmesg.h
805         $(CC) $(CFLAGS) -c -o $@ ../win/curses/cursmesg.c
806 cursinvt.o: ../win/curses/cursinvt.c $(HACK_H) ../include/wincurs.h \
807                 ../win/curses/cursinvt.h
808         $(CC) $(CFLAGS) -c -o $@ ../win/curses/cursinvt.c
809 Window.o: ../win/X11/Window.c ../include/xwindowp.h ../include/xwindow.h \
810                 $(CONFIG_H) ../include/lint.h
811         $(CC) $(CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/Window.c
812 dialogs.o: ../win/X11/dialogs.c $(CONFIG_H) ../include/lint.h
813         $(CC) $(CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/dialogs.c
814 winX.o: ../win/X11/winX.c $(HACK_H) ../include/winX.h ../include/dlb.h \
815                 ../include/xwindow.h ../win/X11/nh72icon ../win/X11/nh56icon \
816                 ../win/X11/nh32icon
817         $(CC) $(CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/winX.c
818 winmap.o: ../win/X11/winmap.c ../include/xwindow.h $(HACK_H) ../include/dlb.h \
819                 ../include/winX.h ../include/tile2x11.h
820         $(CC) $(CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/winmap.c
821 winmenu.o: ../win/X11/winmenu.c $(HACK_H) ../include/winX.h
822         $(CC) $(CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/winmenu.c
823 winmesg.o: ../win/X11/winmesg.c ../include/xwindow.h $(HACK_H) ../include/winX.h
824         $(CC) $(CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/winmesg.c
825 winmisc.o: ../win/X11/winmisc.c $(HACK_H) ../include/func_tab.h \
826                 ../include/winX.h
827         $(CC) $(CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/winmisc.c
828 winstat.o: ../win/X11/winstat.c $(HACK_H) ../include/winX.h ../include/xwindow.h
829         $(CC) $(CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/winstat.c
830 wintext.o: ../win/X11/wintext.c $(HACK_H) ../include/winX.h ../include/xwindow.h
831         $(CC) $(CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/wintext.c
832 winval.o: ../win/X11/winval.c $(HACK_H) ../include/winX.h
833         $(CC) $(CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/winval.c
834 tile.o: tile.c $(HACK_H)
835 gnaskstr.o: ../win/gnome/gnaskstr.c ../win/gnome/gnaskstr.h \
836                 ../win/gnome/gnmain.h
837         $(CC) $(CFLAGS) $(GNOMEINC) -c -o $@ ../win/gnome/gnaskstr.c
838 gnbind.o: ../win/gnome/gnbind.c ../win/gnome/gnbind.h ../win/gnome/gnmain.h \
839                 ../win/gnome/gnmenu.h ../win/gnome/gnaskstr.h \
840                 ../win/gnome/gnyesno.h
841         $(CC) $(CFLAGS) $(GNOMEINC) -c -o $@ ../win/gnome/gnbind.c
842 gnglyph.o: ../win/gnome/gnglyph.c ../win/gnome/gnglyph.h ../include/tile2x11.h
843         $(CC) $(CFLAGS) $(GNOMEINC) -c -o $@ ../win/gnome/gnglyph.c
844 gnmain.o: ../win/gnome/gnmain.c ../win/gnome/gnmain.h ../win/gnome/gnsignal.h \
845                 ../win/gnome/gnbind.h ../win/gnome/gnopts.h $(HACK_H) \
846                 ../include/date.h
847         $(CC) $(CFLAGS) $(GNOMEINC) -c -o $@ ../win/gnome/gnmain.c
848 gnmap.o: ../win/gnome/gnmap.c ../win/gnome/gnmap.h ../win/gnome/gnglyph.h \
849                 ../win/gnome/gnsignal.h $(HACK_H)
850         $(CC) $(CFLAGS) $(GNOMEINC) -c -o $@ ../win/gnome/gnmap.c
851 gnmenu.o: ../win/gnome/gnmenu.c ../win/gnome/gnmenu.h ../win/gnome/gnmain.h \
852                 ../win/gnome/gnbind.h ../include/func_tab.h
853         $(CC) $(CFLAGS) $(GNOMEINC) -c -o $@ ../win/gnome/gnmenu.c
854 gnmesg.o: ../win/gnome/gnmesg.c ../win/gnome/gnmesg.h ../win/gnome/gnsignal.h
855         $(CC) $(CFLAGS) $(GNOMEINC) -c -o $@ ../win/gnome/gnmesg.c
856 gnopts.o: ../win/gnome/gnopts.c ../win/gnome/gnopts.h ../win/gnome/gnglyph.h \
857                 ../win/gnome/gnmain.h ../win/gnome/gnmap.h $(HACK_H)
858         $(CC) $(CFLAGS) $(GNOMEINC) -c -o $@ ../win/gnome/gnopts.c
859 gnplayer.o: ../win/gnome/gnplayer.c ../win/gnome/gnplayer.h \
860                 ../win/gnome/gnmain.h $(HACK_H)
861         $(CC) $(CFLAGS) $(GNOMEINC) -c -o $@ ../win/gnome/gnplayer.c
862 gnsignal.o: ../win/gnome/gnsignal.c ../win/gnome/gnsignal.h \
863                 ../win/gnome/gnmain.h
864         $(CC) $(CFLAGS) $(GNOMEINC) -c -o $@ ../win/gnome/gnsignal.c
865 gnstatus.o: ../win/gnome/gnstatus.c ../win/gnome/gnstatus.h \
866                 ../win/gnome/gnsignal.h ../win/gnome/gn_xpms.h \
867                 ../win/gnome/gnomeprv.h
868         $(CC) $(CFLAGS) $(GNOMEINC) -c -o $@ ../win/gnome/gnstatus.c
869 gntext.o: ../win/gnome/gntext.c ../win/gnome/gntext.h ../win/gnome/gnmain.h \
870                 ../win/gnome/gn_rip.h
871         $(CC) $(CFLAGS) $(GNOMEINC) -c -o $@ ../win/gnome/gntext.c
872 gnyesno.o: ../win/gnome/gnyesno.c ../win/gnome/gnbind.h ../win/gnome/gnyesno.h
873         $(CC) $(CFLAGS) $(GNOMEINC) -c -o $@ ../win/gnome/gnyesno.c
874 gnworn.o: ../win/gnome/gnworn.c ../win/gnome/gnworn.h ../win/gnome/gnglyph.h \
875                 ../win/gnome/gnsignal.h ../win/gnome/gnomeprv.h
876         $(CC) $(CFLAGS) $(GNOMEINC) -c -o $@ ../win/gnome/gnworn.c
877 wingem.o: ../win/gem/wingem.c $(HACK_H) ../include/func_tab.h ../include/dlb.h \
878                 ../include/patchlevel.h ../include/wingem.h
879         $(CC) $(CFLAGS) -c -o $@ ../win/gem/wingem.c
880 wingem1.o: ../win/gem/wingem1.c ../include/gem_rsc.h ../include/load_img.h \
881                 ../include/gr_rect.h ../include/wintype.h ../include/wingem.h
882         $(CC) $(CFLAGS) -c -o $@ ../win/gem/wingem1.c
883 load_img.o: ../win/gem/load_img.c ../include/load_img.h
884         $(CC) $(CFLAGS) -c -o $@ ../win/gem/load_img.c
885 gr_rect.o: ../win/gem/gr_rect.c ../include/gr_rect.h
886         $(CC) $(CFLAGS) -c -o $@ ../win/gem/gr_rect.c
887 tile.o: tile.c $(HACK_H)
888 cppregex.o: ../sys/share/cppregex.cpp
889         $(CXX) $(CXXFLAGS) -c -o $@ ../sys/share/cppregex.cpp
890 qt_win.o: ../win/Qt/qt_win.cpp $(HACK_H) ../include/func_tab.h \
891                 ../include/dlb.h ../include/patchlevel.h ../include/tile2x11.h \
892                 ../include/qt_win.h ../include/qt_clust.h ../include/qt_kde0.h \
893                 ../include/qt_xpms.h qt_win.moc qt_kde0.moc qttableview.moc
894         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_win.cpp
895 qt_clust.o: ../win/Qt/qt_clust.cpp ../include/qt_clust.h
896         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_clust.cpp
897 qttableview.o: ../win/Qt/qttableview.cpp ../include/qttableview.h
898         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qttableview.cpp
899 qt4bind.o: ../win/Qt4/qt4bind.cpp $(HACK_H) ../win/Qt4/qt4bind.h \
900                 ../win/Qt4/qt4click.h ../win/Qt4/qt4delay.h \
901                 ../win/Qt4/qt4xcmd.h ../win/Qt4/qt4key.h ../win/Qt4/qt4map.h \
902                 ../win/Qt4/qt4menu.h ../win/Qt4/qt4msg.h ../win/Qt4/qt4plsel.h \
903                 ../win/Qt4/qt4svsel.h ../win/Qt4/qt4set.h ../win/Qt4/qt4stat.h \
904                 ../win/Qt4/qt4streq.h ../win/Qt4/qt4yndlg.h \
905                 ../win/Qt4/qt4str.h ../include/dlb.h
906         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4bind.cpp
907 qt4click.o: ../win/Qt4/qt4click.cpp $(HACK_H) ../win/Qt4/qt4click.h
908         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4click.cpp
909 qt4clust.o: ../win/Qt4/qt4clust.cpp ../win/Qt4/qt4clust.h
910         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4clust.cpp
911 qt4delay.o: ../win/Qt4/qt4delay.cpp $(HACK_H) ../win/Qt4/qt4delay.h
912         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4delay.cpp
913 qt4glyph.o: ../win/Qt4/qt4glyph.cpp $(HACK_H) ../include/tile2x11.h \
914                 ../win/Qt4/qt4glyph.h ../win/Qt4/qt4set.h ../win/Qt4/qt4str.h
915         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4glyph.cpp
916 qt4icon.o: ../win/Qt4/qt4icon.cpp $(HACK_H) ../win/Qt4/qt4icon.h
917         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4icon.cpp
918 qt4inv.o: ../win/Qt4/qt4inv.cpp $(HACK_H) ../win/Qt4/qt4inv.h \
919                 ../win/Qt4/qt4glyph.h ../win/Qt4/qt4set.h
920         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4inv.cpp
921 qt4key.o: ../win/Qt4/qt4key.cpp $(HACK_H) ../win/Qt4/qt4key.h
922         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4key.cpp
923 qt4line.o: ../win/Qt4/qt4line.cpp $(HACK_H) ../win/Qt4/qt4line.h
924         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4line.cpp
925 qt4main.o: ../win/Qt4/qt4main.cpp $(HACK_H) ../include/patchlevel.h \
926                 ../win/Qt4/qt4main.h qt4main.moc ../win/Qt4/qt4bind.h \
927                 ../win/Qt4/qt4glyph.h ../win/Qt4/qt4inv.h ../win/Qt4/qt4key.h \
928                 ../win/Qt4/qt4map.h ../win/Qt4/qt4msg.h ../win/Qt4/qt4set.h \
929                 ../win/Qt4/qt4stat.h ../win/Qt4/qt4str.h qt4kde0.moc
930         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4main.cpp
931 qt4map.o: ../win/Qt4/qt4map.cpp $(HACK_H) ../win/Qt4/qt4map.h qt4map.moc \
932                 ../win/Qt4/qt4click.h ../win/Qt4/qt4glyph.h \
933                 ../include/qt_xpms.h ../win/Qt4/qt4set.h ../win/Qt4/qt4str.h
934         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4map.cpp
935 qt4menu.o: ../win/Qt4/qt4menu.cpp $(HACK_H) ../win/Qt4/qt4menu.h qt4menu.moc \
936                 ../win/Qt4/qt4glyph.h ../win/Qt4/qt4set.h \
937                 ../win/Qt4/qt4streq.h ../win/Qt4/qt4str.h
938         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4menu.cpp
939 qt4msg.o: ../win/Qt4/qt4msg.cpp $(HACK_H) ../win/Qt4/qt4msg.h qt4msg.moc \
940                 ../win/Qt4/qt4map.h ../win/Qt4/qt4set.h ../win/Qt4/qt4str.h
941         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4msg.cpp
942 qt4plsel.o: ../win/Qt4/qt4plsel.cpp $(HACK_H) ../win/Qt4/qt4plsel.h \
943                 qt4plsel.moc ../win/Qt4/qt4bind.h ../win/Qt4/qt4glyph.h \
944                 ../win/Qt4/qt4set.h ../win/Qt4/qt4str.h
945         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4plsel.cpp
946 qt4rip.o: ../win/Qt4/qt4rip.cpp $(HACK_H) ../win/Qt4/qt4rip.h \
947                 ../win/Qt4/qt4bind.h ../win/Qt4/qt4str.h
948         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4rip.cpp
949 qt4set.o: ../win/Qt4/qt4set.cpp $(HACK_H) ../win/Qt4/qt4set.h qt4set.moc \
950                 ../win/Qt4/qt4glyph.h ../win/Qt4/qt4str.h
951         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4set.cpp
952 qt4stat.o: ../win/Qt4/qt4stat.cpp $(HACK_H) ../win/Qt4/qt4stat.h qt4stat.moc \
953                 ../win/Qt4/qt4set.h ../win/Qt4/qt4str.h ../include/qt_xpms.h
954         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4stat.cpp
955 qt4str.o: ../win/Qt4/qt4str.cpp ../win/Qt4/qt4str.h
956         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4str.cpp
957 qt4streq.o: ../win/Qt4/qt4streq.cpp $(HACK_H) ../win/Qt4/qt4streq.h \
958                 ../win/Qt4/qt4str.h
959         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4streq.cpp
960 qt4svsel.o: ../win/Qt4/qt4svsel.cpp $(HACK_H) ../win/Qt4/qt4svsel.h \
961                 ../win/Qt4/qt4bind.h ../win/Qt4/qt4str.h
962         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4svsel.cpp
963 qt4win.o: ../win/Qt4/qt4win.cpp $(HACK_H) ../win/Qt4/qt4win.h \
964                 ../win/Qt4/qt4bind.h ../win/Qt4/qt4click.h \
965                 ../win/Qt4/qt4glyph.h ../win/Qt4/qt4inv.h ../win/Qt4/qt4key.h \
966                 ../win/Qt4/qt4icon.h ../win/Qt4/qt4map.h ../win/Qt4/qt4menu.h \
967                 ../win/Qt4/qt4msg.h ../win/Qt4/qt4set.h ../win/Qt4/qt4clust.h
968         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4win.cpp
969 qt4xcmd.o: ../win/Qt4/qt4xcmd.cpp $(HACK_H) ../include/func_tab.h \
970                 ../win/Qt4/qt4xcmd.h qt4xcmd.moc ../win/Qt4/qt4bind.h \
971                 ../win/Qt4/qt4set.h ../win/Qt4/qt4str.h
972         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4xcmd.cpp
973 qt4yndlg.o: ../win/Qt4/qt4yndlg.cpp $(HACK_H) ../win/Qt4/qt4yndlg.h \
974                 qt4yndlg.moc ../win/Qt4/qt4str.h
975         $(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt4/qt4yndlg.cpp
976 wc_chainin.o: ../win/chain/wc_chainin.c $(HACK_H)
977         $(CC) $(CFLAGS) -c -o $@ ../win/chain/wc_chainin.c
978 wc_chainout.o: ../win/chain/wc_chainout.c $(HACK_H)
979         $(CC) $(CFLAGS) -c -o $@ ../win/chain/wc_chainout.c
980 wc_trace.o: ../win/chain/wc_trace.c $(HACK_H) ../include/func_tab.h
981         $(CC) $(CFLAGS) -c -o $@ ../win/chain/wc_trace.c
982 vis_tab.o: vis_tab.c $(CONFIG_H) ../include/vis_tab.h
983 allmain.o: allmain.c $(HACK_H)
984 alloc.o: alloc.c $(CONFIG_H)
985 apply.o: apply.c $(HACK_H)
986 artifact.o: artifact.c $(HACK_H) ../include/artifact.h ../include/artilist.h
987 attrib.o: attrib.c $(HACK_H)
988 ball.o: ball.c $(HACK_H)
989 bones.o: bones.c $(HACK_H) ../include/lev.h
990 botl.o: botl.c $(HACK_H)
991 cmd.o: cmd.c $(HACK_H) ../include/lev.h ../include/func_tab.h
992 dbridge.o: dbridge.c $(HACK_H)
993 decl.o: decl.c $(HACK_H)
994 detect.o: detect.c $(HACK_H) ../include/artifact.h
995 dig.o: dig.c $(HACK_H)
996 display.o: display.c $(HACK_H)
997 dlb.o: dlb.c $(CONFIG_H) ../include/dlb.h
998 do.o: do.c $(HACK_H) ../include/lev.h
999 do_name.o: do_name.c $(HACK_H)
1000 do_wear.o: do_wear.c $(HACK_H)
1001 dog.o: dog.c $(HACK_H)
1002 dogmove.o: dogmove.c $(HACK_H) ../include/mfndpos.h
1003 dokick.o: dokick.c $(HACK_H)
1004 dothrow.o: dothrow.c $(HACK_H)
1005 drawing.o: drawing.c $(HACK_H) ../include/tcap.h
1006 dungeon.o: dungeon.c $(HACK_H) ../include/dgn_file.h ../include/dlb.h \
1007                 ../include/lev.h
1008 eat.o: eat.c $(HACK_H)
1009 end.o: end.c $(HACK_H) ../include/lev.h ../include/dlb.h
1010 engrave.o: engrave.c $(HACK_H) ../include/lev.h
1011 exper.o: exper.c $(HACK_H)
1012 explode.o: explode.c $(HACK_H)
1013 extralev.o: extralev.c $(HACK_H)
1014 files.o: files.c $(HACK_H) ../include/dlb.h #zlib.h
1015 fountain.o: fountain.c $(HACK_H)
1016 hack.o: hack.c $(HACK_H)
1017 hacklib.o: hacklib.c $(HACK_H)
1018 invent.o: invent.c $(HACK_H)
1019 isaac64.o: isaac64.c $(CONFIG_H) ../include/isaac64.h ../include/integer.h
1020 light.o: light.c $(HACK_H) ../include/lev.h
1021 lock.o: lock.c $(HACK_H)
1022 mail.o: mail.c $(HACK_H) ../include/mail.h
1023 makemon.o: makemon.c $(HACK_H)
1024 mapglyph.o: mapglyph.c $(HACK_H)
1025 mcastu.o: mcastu.c $(HACK_H)
1026 mhitm.o: mhitm.c $(HACK_H) ../include/artifact.h
1027 mhitu.o: mhitu.c $(HACK_H) ../include/artifact.h
1028 minion.o: minion.c $(HACK_H)
1029 mklev.o: mklev.c $(HACK_H)
1030 mkmap.o: mkmap.c $(HACK_H) ../include/sp_lev.h
1031 mkmaze.o: mkmaze.c $(HACK_H) ../include/sp_lev.h ../include/lev.h
1032 mkobj.o: mkobj.c $(HACK_H)
1033 mkroom.o: mkroom.c $(HACK_H)
1034 mon.o: mon.c $(HACK_H) ../include/mfndpos.h
1035 mondata.o: mondata.c $(HACK_H)
1036 monmove.o: monmove.c $(HACK_H) ../include/mfndpos.h ../include/artifact.h
1037 monst.o: monst.c $(CONFIG_H) ../include/permonst.h ../include/align.h \
1038                 ../include/monattk.h ../include/monflag.h ../include/monsym.h \
1039                 ../include/color.h
1040 mplayer.o: mplayer.c $(HACK_H)
1041 mthrowu.o: mthrowu.c $(HACK_H)
1042 muse.o: muse.c $(HACK_H)
1043 music.o: music.c $(HACK_H) #interp.c
1044 o_init.o: o_init.c $(HACK_H) ../include/lev.h
1045 objects.o: objects.c $(CONFIG_H) ../include/obj.h ../include/objclass.h \
1046                 ../include/prop.h ../include/skills.h ../include/color.h
1047 objectsj.o: objectsj.c $(CONFIG_H) ../include/obj.h ../include/objclass.h \
1048                 ../include/prop.h ../include/skills.h ../include/color.h
1049 objnam.o: objnam.c $(HACK_H)
1050 options.o: options.c $(CONFIG_H) ../include/objclass.h ../include/flag.h \
1051                 $(HACK_H) ../include/tcap.h
1052 pager.o: pager.c $(HACK_H) ../include/dlb.h
1053 pickup.o: pickup.c $(HACK_H)
1054 pline.o: pline.c $(HACK_H)
1055 polyself.o: polyself.c $(HACK_H)
1056 potion.o: potion.c $(HACK_H)
1057 pray.o: pray.c $(HACK_H)
1058 priest.o: priest.c $(HACK_H) ../include/mfndpos.h
1059 quest.o: quest.c $(HACK_H) ../include/qtext.h
1060 questpgr.o: questpgr.c $(HACK_H) ../include/dlb.h ../include/qtext.h
1061 read.o: read.c $(HACK_H)
1062 rect.o: rect.c $(HACK_H)
1063 region.o: region.c $(HACK_H) ../include/lev.h
1064 restore.o: restore.c $(HACK_H) ../include/lev.h ../include/tcap.h
1065 rip.o: rip.c $(HACK_H)
1066 rnd.o: rnd.c $(HACK_H)
1067 role.o: role.c $(HACK_H)
1068 rumors.o: rumors.c $(HACK_H) ../include/lev.h ../include/dlb.h
1069 save.o: save.c $(HACK_H) ../include/lev.h
1070 shk.o: shk.c $(HACK_H)
1071 shknam.o: shknam.c $(HACK_H)
1072 sit.o: sit.c $(HACK_H) ../include/artifact.h
1073 sounds.o: sounds.c $(HACK_H)
1074 sp_lev.o: sp_lev.c $(HACK_H) ../include/dlb.h ../include/sp_lev.h
1075 spell.o: spell.c $(HACK_H)
1076 steal.o: steal.c $(HACK_H)
1077 steed.o: steed.c $(HACK_H)
1078 sys.o: sys.c $(HACK_H)
1079 teleport.o: teleport.c $(HACK_H)
1080 timeout.o: timeout.c $(HACK_H) ../include/lev.h
1081 topten.o: topten.c $(HACK_H) ../include/dlb.h ../include/patchlevel.h
1082 track.o: track.c $(HACK_H)
1083 trap.o: trap.c $(HACK_H)
1084 u_init.o: u_init.c $(HACK_H)
1085 uhitm.o: uhitm.c $(HACK_H)
1086 vault.o: vault.c $(HACK_H)
1087 version.o: version.c $(HACK_H) ../include/dlb.h ../include/date.h \
1088                 ../include/patchlevel.h
1089 vision.o: vision.c $(HACK_H) ../include/vis_tab.h
1090 weapon.o: weapon.c $(HACK_H)
1091 were.o: were.c $(HACK_H)
1092 wield.o: wield.c $(HACK_H)
1093 windows.o: windows.c $(HACK_H) ../include/wingem.h ../include/winGnome.h
1094 wizard.o: wizard.c $(HACK_H) ../include/qtext.h
1095 worm.o: worm.c $(HACK_H) ../include/lev.h
1096 worn.o: worn.c $(HACK_H)
1097 write.o: write.c $(HACK_H)
1098 zap.o: zap.c $(HACK_H)
1099 jconj.o: ../japanese/jconj.c  ../include/hack.h
1100         $(CC) $(CFLAGS) -c ../japanese/jconj.c
1101 jlib.o: ../japanese/jlib.c  ../include/hack.h
1102         $(CC) $(CFLAGS) -c ../japanese/jlib.c
1103 # DEPENDENCIES MUST END AT END OF FILE
1104 # IF YOU PUT STUFF HERE IT WILL GO AWAY
1105 # see make depend above