move the custom color data into its own field in the glyphmap and disassociate it from the unicode/utf8 stuff. move the glyphcache stuff during options processing and parsing into new file glyphs.c and out of utf8map.c, and make it general, and not part of ENHANCED_SYMBOLS. Do the groundwork for allowing glyph color customizations to work when any symset is loaded and not restrict it only to the enhanced1 H_UTF8 symsets. The customizations in effect are still affiliated with a particular symset. Also closes #1224, but the PR itself references a data structure made obsolete by this commit. The curses comment from the PR was added into the code. The PR also made several suggestions, but only the first one has been included in this commit (and no longer based on the handler), that being: "allow defining colors if other symbol handling modes are used (possibly limited to the standard 16 colors)." FredrIQ also wrote the following suggestions in PR#1224: Something I was also contemplating, unrelated to implementation of this support in curses, would be the ability for the following: allow defining colors if other symbol handling modes are used (possibly limited to the standard 16 colors) allow defining attributes (for example: glyph:G_pet_female_kitten:U+0066/red/underline) allow specifying glyphs as wildcards for defining global color/attribute changes Something I also want to see are keywords for "don't change the current defined data". If this were to be added, you could for example do this: OPTIONS=glyph:G_*_fox:U+0064/blue OPTIONS=glyph:G_statue_*:basechar/gray/underline for "make all foxes use a blue color, make all statues gray with underline" without needing to specify the relevant character for every statue. This ("basechar", "basefg", etc) should perhaps also be added for MENUCOLORS and statushilites, so that you can, for example, underline all items being worn without needing to specify a bunch of near-duplicate rules for combining BUC colors + underline worn items as per #1064
1292 lines
54 KiB
Makefile
1292 lines
54 KiB
Makefile
# NetHack Makefile.
|
|
# NetHack 3.7 Makefile.src $NHDT-Date: 1697316523 2023/10/14 20:48:43 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.164 $
|
|
# Copyright (c) 2018 by Pasi Kallinen
|
|
# NetHack may be freely redistributed. See license for details.
|
|
|
|
# Root of source tree:
|
|
NHSROOT=..
|
|
|
|
# newer makes predefine $(MAKE) to 'make' and do smarter processing of
|
|
# recursive make calls if $(MAKE) is used
|
|
# these makes allow $(MAKE) to be overridden by the environment if someone
|
|
# wants to (or has to) use something other than the standard make, so we do
|
|
# not want to unconditionally set $(MAKE) here
|
|
#
|
|
# unfortunately, some older makes do not predefine $(MAKE); if you have one of
|
|
# these, uncomment the following line
|
|
# (you will know that you have one if you get complaints about being unable
|
|
# to find 'makedefs')
|
|
# MAKE = make
|
|
|
|
# This makefile replaces the previous Makefile.unix, Makefile.xenix,
|
|
# Makefile.3B2, Makefile.att, and Makefile.tos.
|
|
# Set SYSTEM to one of:
|
|
# 'Sysunix' -- generic UNIX
|
|
# 'Sys3B2' -- AT&T 3B2, 3B5, etc.
|
|
# 'Sysatt' -- AT&T UNIXPC, 7300, 3B1
|
|
# 'SysV-AT' -- Microport 286 UNIX (put -DDUMB in CFLAGS)
|
|
# 'Systos' -- Atari
|
|
# 'SysBe' -- BeOS
|
|
SYSTEM = Sysunix
|
|
|
|
#
|
|
# Make sure that your bourne shell is specified here, as you have to spawn
|
|
# some of the commands (eg. depend) in bourne shell for them to work.
|
|
#
|
|
# For Systos users compiling on the ST, you'll either need a bourne shell
|
|
# clone or you'll need to do make depend, etc. by hand. In either case,
|
|
# the line below probably needs changing
|
|
SHELL=/bin/sh
|
|
# for Atari
|
|
# SHELL=E:/GEMINI2/MUPFEL.TTP
|
|
|
|
# Usually, the C compiler driver is used for linking:
|
|
#LINK=$(CC)
|
|
|
|
# If we're cross-compiling, a hints file will override this
|
|
# to a unique target directory, but otherwise it just goes in
|
|
# ../src
|
|
TARGETPFX=
|
|
|
|
# Pick the SYSSRC and SYSOBJ lines corresponding to your desired operating
|
|
# system.
|
|
#
|
|
# for UNIX systems
|
|
SYSSRC = ../sys/share/ioctl.c ../sys/share/unixtty.c ../sys/unix/unixmain.c \
|
|
../sys/unix/unixunix.c ../sys/unix/unixres.c
|
|
SYSOBJ = $(TARGETPFX)ioctl.o $(TARGETPFX)unixmain.o $(TARGETPFX)unixtty.o \
|
|
$(TARGETPFX)unixunix.o $(TARGETPFX)unixres.o
|
|
#
|
|
# for Systos
|
|
# SYSSRC = ../sys/atari/tos.c ../sys/share/pcmain.c ../sys/share/pcsys.c \
|
|
# ../sys/share/pctty.c ../sys/share/pcunix.c
|
|
# SYSOBJ = $(TARGETPFX)tos.o $(TARGETPFX)pcmain.o $(TARGETPFX)pcsys.o \
|
|
# $(TARGETPFX)pctty.o $(TARGETPFX)pcunix.o
|
|
#
|
|
# for BeOS
|
|
#SYSSRC = ../sys/be/bemain.c ../sys/share/unixtty.c ../sys/share/ioctl.c
|
|
#SYSOBJ = $(TARGETPFX)bemain.o $(TARGETPFX)unixtty.o $(TARGETPFX)ioctl.o
|
|
|
|
|
|
# NetHack 3.7 began introducing C99 code.
|
|
#
|
|
# If your compiler needs an appropriate switch to accept C99 code.
|
|
# CSTD = -std=c99
|
|
|
|
# if you are using gcc as your compiler:
|
|
# uncomment the CC definition below if it's not in your environment
|
|
# if you get setcgtty() warnings during execution, you are feeding gcc
|
|
# a non-ANSI <sys/ioctl.h> -- either run fixincludes on it or use
|
|
# -traditional in CFLAGS
|
|
# CC = gcc
|
|
#
|
|
# For Bull DPX/2 systems at B.O.S. 2.0 or higher use the following:
|
|
#
|
|
# CC = gcc -ansi -D_BULL_SOURCE -D_XOPEN_SOURCE -D_POSIX_SOURCE
|
|
#
|
|
# If you are using GCC 2.2.2 or higher on a DPX/2, just use:
|
|
#
|
|
# CC = gcc -ansi
|
|
#
|
|
# For HP/UX 10.20 with GCC:
|
|
# CC = gcc -D_POSIX_SOURCE
|
|
#
|
|
# For cross-compiling, eg. with gcc on Linux (see also CXX further down):
|
|
# CC = arm-linux-gcc
|
|
#
|
|
#
|
|
# The gcc compiler switch for accepting C99 code. Because gcc had extensions in
|
|
# earlier versions, a number of C99 features were already compiling cleanly, but
|
|
# not all (e.g., 'for' loop initial declarations).
|
|
# CSTD = -std=c99
|
|
|
|
# if you're debugging and want gcc to check as much as possible, use:
|
|
# CC = gcc -W -Wimplicit -Wreturn-type -Wunused -Wformat -Wswitch -Wshadow -Wcast-qual -Wwrite-strings
|
|
|
|
# flags may have to be changed as required
|
|
# flags for 286 Xenix:
|
|
# CFLAGS = -Ml2t16 -O -LARGE -I../include
|
|
# LFLAGS = -Ml -F 4000 -SEG 512
|
|
|
|
# flags for 286 Microport SysV-AT
|
|
# CFLAGS = -DDUMB -Ml -I../include
|
|
# LFLAGS = -Ml
|
|
|
|
# flags for Atari gcc (3.2.1)
|
|
# CFLAGS = -O -I../include
|
|
# LFLAGS = -s
|
|
# flags for Atari gcc (3.3)
|
|
# CFLAGS = -mshort -O2 -fomit-frame-pointer -I../include
|
|
# LFLAGS = -mshort -s
|
|
|
|
# Curses, use one of the following:
|
|
# -D_XOPEN_SOURCE_EXTENDED=1 allows any map character to appear in the message window
|
|
# during far look with the '/' command.
|
|
# -DCURSES_GENL_PUTMIXED to disable that and fall back to displaying only the historical tty character.
|
|
#
|
|
# flags for AIX 3.1 cc on IBM RS/6000 to define
|
|
# a suitable subset of standard libraries
|
|
# (note that there is more info regarding the "-qchars=signed"
|
|
# switch in file Install.unx note 8)
|
|
# CFLAGS = -D_NO_PROTO -D_XOPEN_SOURCE -O -I../include -qchars=signed
|
|
#
|
|
# Some of our subroutines are complex enough that this is required for full
|
|
# optimization under AIX 3.2 (I don't know about 3.1).
|
|
#
|
|
# CFLAGS = -D_NO_PROTO -D_XOPEN_SOURCE -D_ALL_SOURCE -O -I../include -qchars=signed -qmaxmem=5000
|
|
|
|
# flags for A/UX 2.01 using native cc or c89
|
|
# gcc predefines AUX so that's not needed there
|
|
# Remember to use -lcurses for WINLIB below !
|
|
# CFLAGS = -ZS -D_POSIX_SOURCE -O -I../include -DAUX
|
|
|
|
# flags for IRIX 4.0.x using native cc
|
|
# The include files are __STDC__, but have bugs involving const
|
|
# CFLAGS = -O -I../include -D__STDC__ -Dconst= -woff 100,293
|
|
# LFLAGS = -s
|
|
|
|
# flags for BSD/OS 2.0
|
|
# CFLAGS = -O -I../include -I/usr/X11/include
|
|
# LFLAGS = -L/usr/X11/lib
|
|
|
|
# flags for Linux
|
|
# compile normally
|
|
# CFLAGS = -O2 -fomit-frame-pointer -I../include
|
|
# LFLAGS = -L/usr/X11R6/lib
|
|
# OR compile backwards compatible a.out format
|
|
# CFLAGS = -O2 -b i486-linuxaout -fomit-frame-pointer -I../include
|
|
# LFLAGS = -b i486-linuxaout -L/usr/X11R6/lib
|
|
|
|
# flags for BeOS
|
|
# on a Mac/BeBox:
|
|
#CC = mwcc
|
|
#CFLAGS = -r -I../include
|
|
#LINK = mwld
|
|
#LFLAGS = -map nethack.xMAP
|
|
# on Intel:
|
|
#CFLAGS = -O -I../include
|
|
#LINK = gcc
|
|
#LFLAGS = -Xlinker -soname=_APP_
|
|
|
|
# Compile with PDCurses installed in a separate directory that doesn't
|
|
# conflict with the system curses/ncurses library
|
|
#CFLAGS = -O -I../include -I/usr/local/include/pdcurses
|
|
# Same as above, but for XCurses
|
|
#CFLAGS = -O -DXCURSES -I../include -I/usr/local/include/pdcurses
|
|
# Compile against system curses library, such as ncurses
|
|
#CFLAGS = -O -I../include
|
|
#
|
|
# files in ../win/X11 (relative to src) are passed $(CFLAGS) $(X11CFLAGS)
|
|
# and by default will find <X11/foo.h> in /usr/include/X11/foo.h;
|
|
# can be overridden via hints; post-10.7 OSX with XQuartz uses
|
|
# X11CFLAGS=-I/opt/X11/include to find <X11/foo.h> in /opt/X11/include/X11/foo.h
|
|
#X11CFLAGS=
|
|
|
|
# flags for debugging:
|
|
# CFLAGS = -g -I../include
|
|
|
|
#CFLAGS = -O -I../include
|
|
#LFLAGS =
|
|
|
|
AR = ar
|
|
ARFLAGS = rcs
|
|
|
|
# The Qt and Be window systems are written in C++, while the rest of
|
|
# NetHack is standard C. If using Qt, uncomment the LINK line here to get
|
|
# the C++ libraries linked in.
|
|
CXXFLAGS = $(CCXXFLAGS) -I. -I$(QTDIR)/include $(QTCXXFLAGS)
|
|
CXX ?= g++
|
|
MOC ?= moc
|
|
MOCPATH ?= $(QTDIR)/bin/$(MOC)
|
|
#LINK=g++
|
|
# included for documentation purposes if not using the relevant hints files;
|
|
# when not using those to manage the value, it should remain empty
|
|
#QTn_H =
|
|
|
|
# The default is for the TARGET_* variables to match the defaults.
|
|
# If we're cross-compiling these will get overridden elsewhere, likely via
|
|
# a hints file. TARGETPFX was set above earlier.
|
|
TARGET_CC = $(CC)
|
|
TARGET_CFLAGS = $(CFLAGS) $(CSTD)
|
|
TARGET_LINK = $(LINK)
|
|
TARGET_LFLAGS = $(LFLAGS)
|
|
TARGET_CXX = $(CXX)
|
|
TARGET_CXXFLAGS = $(CXXFLAGS)
|
|
TARGET_LIBS = $(LIBS)
|
|
TARGET_AR = $(AR)
|
|
TARGET_ARFLAGS = $(ARFLAGS)
|
|
|
|
# we specify C preprocessor flags via CFLAGS; files built with default rules
|
|
# might include $(CPPFLAGS) which could get a value from user's environment;
|
|
# we avoid that by forcing it empty rather than by overriding default rules
|
|
CPPFLAGS =
|
|
|
|
# file for regular expression matching
|
|
REGEXOBJ ?= $(TARGETPFX)posixregex.o
|
|
#REGEXOBJ = $(TARGETPFX)pmatchregex.o
|
|
#REGEXOBJ = $(TARGETPFX)cppregex.o
|
|
|
|
# Set the WINSRC, WINOBJ, and WINLIB lines to correspond to your desired
|
|
# combination of windowing systems. Also set matching USE_x_GRAPHICS in
|
|
# config.h. Note that if you are building for any window system which
|
|
# uses tiles, uncomment '#$(TARGETPFX)tile.o' (by removing the '#') in that
|
|
# system's WINxOBJ (WINX11OBJ or WINQTOBJ or WINQT3OBJ). If you are building
|
|
# nethack with support for multiple window systems, only uncomment that for
|
|
# one of them to avoid duplicate tile.o.
|
|
#
|
|
# files for a straight tty port using no native windowing system
|
|
WINTTYSRC = ../win/tty/getline.c ../win/tty/termcap.c ../win/tty/topl.c \
|
|
../win/tty/wintty.c
|
|
WINTTYOBJ = $(TARGETPFX)getline.o $(TARGETPFX)termcap.o $(TARGETPFX)topl.o \
|
|
$(TARGETPFX)wintty.o
|
|
#
|
|
# Files for curses interface
|
|
WINCURSESSRC = ../win/curses/cursmain.c ../win/curses/curswins.c \
|
|
../win/curses/cursmisc.c ../win/curses/cursdial.c \
|
|
../win/curses/cursstat.c ../win/curses/cursinit.c \
|
|
../win/curses/cursmesg.c ../win/curses/cursinvt.c
|
|
WINCURSESOBJ = $(TARGETPFX)cursmain.o $(TARGETPFX)curswins.o \
|
|
$(TARGETPFX)cursmisc.o $(TARGETPFX)cursdial.o \
|
|
$(TARGETPFX)cursstat.o $(TARGETPFX)cursinit.o \
|
|
$(TARGETPFX)cursmesg.o $(TARGETPFX)cursinvt.o
|
|
#
|
|
# files for an X11 port
|
|
# (tile.c is a generated source file)
|
|
WINX11SRC = ../win/X11/Window.c ../win/X11/dialogs.c ../win/X11/winX.c \
|
|
../win/X11/winmap.c ../win/X11/winmenu.c ../win/X11/winmesg.c \
|
|
../win/X11/winmisc.c ../win/X11/winstat.c ../win/X11/wintext.c \
|
|
../win/X11/winval.c tile.c
|
|
WINX11OBJ = $(TARGETPFX)Window.o $(TARGETPFX)dialogs.o $(TARGETPFX)winX.o \
|
|
$(TARGETPFX)winmap.o $(TARGETPFX)winmenu.o $(TARGETPFX)winmesg.o \
|
|
$(TARGETPFX)winmisc.o $(TARGETPFX)winstat.o $(TARGETPFX)wintext.o \
|
|
$(TARGETPFX)winval.o #$(TARGETPFX)tile.o
|
|
#
|
|
# Files for a Qt 3 interface (renamed since nethack 3.6.x)
|
|
#
|
|
#WINQT3SRC = ../win/Qt3/qt3_win.cpp ../win/Qt3/qt3_clust.cpp \
|
|
# ../win/Qt3/qt3tableview.cpp
|
|
#WINQT3OBJ = $(TARGETPFX)qt3_win.o $(TARGETPFX)qt3_clust.o \
|
|
# $(TARGETPFX)qt3tableview.o #$(TARGETPFX)tile.o
|
|
# empty values for 'make depend'
|
|
WINQT3SRC =
|
|
WINQT3OBJ =
|
|
|
|
#
|
|
# Files for a Qt 4, Qt 5, or Qt 6 interface
|
|
#
|
|
# generated source files made by Qt's 'moc' program from ../win/Qt/qt_*.h;
|
|
# appended to WINQTSRC for use by 'make depend'
|
|
WINQTMOC = qt_kde0.moc qt_main.moc qt_map.moc qt_menu.moc qt_msg.moc \
|
|
qt_plsel.moc qt_set.moc qt_stat.moc qt_xcmd.moc qt_yndlg.moc
|
|
WINQTSRC = ../win/Qt/qt_bind.cpp ../win/Qt/qt_click.cpp \
|
|
../win/Qt/qt_clust.cpp ../win/Qt/qt_delay.cpp \
|
|
../win/Qt/qt_glyph.cpp ../win/Qt/qt_icon.cpp ../win/Qt/qt_inv.cpp \
|
|
../win/Qt/qt_key.cpp ../win/Qt/qt_line.cpp ../win/Qt/qt_main.cpp \
|
|
../win/Qt/qt_map.cpp ../win/Qt/qt_menu.cpp ../win/Qt/qt_msg.cpp \
|
|
../win/Qt/qt_plsel.cpp ../win/Qt/qt_rip.cpp ../win/Qt/qt_set.cpp \
|
|
../win/Qt/qt_stat.cpp ../win/Qt/qt_str.cpp ../win/Qt/qt_streq.cpp \
|
|
../win/Qt/qt_svsel.cpp ../win/Qt/qt_win.cpp ../win/Qt/qt_xcmd.cpp \
|
|
../win/Qt/qt_yndlg.cpp $(WINQTMOC) tile.c
|
|
WINQTOBJ = $(TARGETPFX)qt_bind.o $(TARGETPFX)qt_click.o \
|
|
$(TARGETPFX)qt_clust.o $(TARGETPFX)qt_delay.o \
|
|
$(TARGETPFX)qt_glyph.o $(TARGETPFX)qt_icon.o \
|
|
$(TARGETPFX)qt_inv.o $(TARGETPFX)qt_key.o $(TARGETPFX)qt_line.o \
|
|
$(TARGETPFX)qt_main.o $(TARGETPFX)qt_map.o $(TARGETPFX)qt_menu.o \
|
|
$(TARGETPFX)qt_msg.o $(TARGETPFX)qt_plsel.o $(TARGETPFX)qt_rip.o \
|
|
$(TARGETPFX)qt_set.o $(TARGETPFX)qt_stat.o $(TARGETPFX)qt_str.o \
|
|
$(TARGETPFX)qt_streq.o $(TARGETPFX)qt_svsel.o $(TARGETPFX)qt_win.o \
|
|
$(TARGETPFX)qt_xcmd.o $(TARGETPFX)qt_yndlg.o #$(TARGETPFX)tile.o
|
|
|
|
# Files for Shim windowing interface for libnh -- doesn't do anything,
|
|
# just passes along the API calls to the library
|
|
#
|
|
WINSHIMSRC = ../win/shim/winshim.c
|
|
WINSHIMOBJ = winshim.o
|
|
|
|
#
|
|
# Files for a BeOS InterfaceKit port -- not ready for prime time
|
|
WINBESRC =
|
|
WINBEOBJ =
|
|
#WINBESRC = ../win/BeOS/winbe.cpp ../win/BeOS/NHWindow.cpp \
|
|
# ../win/BeOS/NHMenuWindow.cpp ../win/BeOS/NHMapWindow.cpp tile.c
|
|
#WINBEOBJ = $(TARGETPFX)winbe.o $(TARGETPFX)NHWindow.o \
|
|
# $(TARGETPFX)NHMenuWindow.o $(TARGETPFX)NHMapWindow.o \
|
|
# $(TARGETPFX)tile.o
|
|
#
|
|
#
|
|
#WINSRC = $(WINTTYSRC)
|
|
#WINOBJ = $(WINTTYOBJ)
|
|
#
|
|
# Curses - Karl Garrison, Tangles
|
|
#WINSRC = $(WINCURSESSRC)
|
|
#WINOBJ = $(WINCURSESOBJ)
|
|
#
|
|
# on some systems the termcap library is in -ltermcap or -lcurses
|
|
# on 386 Xenix, the -ltermlib tputs() seems not to work; use -lcurses instead
|
|
# Sysatt uses shared library in lieu of this option
|
|
# Systos needs -lcurses16 if you use -mshort
|
|
# AIX 3.1 on RS/6000 likes -lcurses if TERMINFO defined in unixconf.h
|
|
# and -ltermcap otherwise
|
|
# Linux uses -lncurses (newer) or -ltermcap (older)
|
|
# Be uses -ltermcap
|
|
#
|
|
# libraries for tty ports
|
|
# WINTTYLIB = -ltermcap
|
|
# WINTTYLIB = -lcurses
|
|
# WINTTYLIB = -lcurses16
|
|
# WINTTYLIB = -lncurses
|
|
#WINTTYLIB = -ltermlib
|
|
#
|
|
# libraries for X11
|
|
# If USE_XPM is defined in config.h, you will also need -lXpm here.
|
|
#WINX11LIB = -lXaw -lXmu -lXext -lXt -lX11
|
|
# WINX11LIB = -lXaw -lXmu -lXt -lX11
|
|
# WINX11LIB = -lXaw -lXmu -lXext -lXt -lXpm -lX11 -lm
|
|
# WINX11LIB = -lXaw -lXmu -lXpm -lXext -lXt -lX11 -lSM -lICE -lm # BSD/OS 2.0
|
|
#
|
|
#
|
|
# libraries for Qt 3
|
|
WINQT3LIB = -L$(QTDIR)/lib -lqt
|
|
#
|
|
# libraries for Qt 4
|
|
WINQT4LIB = `pkg-config QtGui --libs`
|
|
#
|
|
# libraries for Qt 5 (use with WINQTSRC and WINQTOBJ)
|
|
WINQT5LIB = `pkg-config Qt5Gui Qt5Widgets Qt5Multimedia --libs`
|
|
#
|
|
# libraries for KDE (with Qt)
|
|
WINKDELIB = -lkdecore -lkdeui -lXext
|
|
#
|
|
# libraries for BeOS
|
|
WINBELIB = -lbe
|
|
#
|
|
# libraries for curses port
|
|
# link with ncurses
|
|
WINCURSESLIB = -lncurses
|
|
# link with pdcurses for SDL, installed in a separate directory
|
|
#WINCURSESLIB = -L/usr/local/lib/pdcurses -lpdcurses -lSDL
|
|
# same as above, for XCurses
|
|
#WINCURSESLIB = -L/usr/local/lib/pdcurses -lXCurses -lXawM -lXmu -lXext -lXt -lX11
|
|
#
|
|
#WINLIB = $(WINTTYLIB)
|
|
#
|
|
# For Curses
|
|
#WINLIB = $(WINCURSESLIB)
|
|
#
|
|
# some platforms need to build the support libraries
|
|
# BUILDMORE = $(TARGETPFX)pdcurses.a
|
|
|
|
# any other strange libraries your system needs (for Sysunix only -- the more
|
|
# specialized targets should already be right)
|
|
#
|
|
# on HP-UX 8.x, the malloc(3x) routines in libmalloc.a seem to align things
|
|
# better than the malloc(3) ones in libc.a
|
|
# LIBS = -lmalloc
|
|
#
|
|
# DPX/2's also use the malloc(3x) routines. In addition, if you are building
|
|
# for X11, you must include libinet.a.
|
|
# LIBS = -lmalloc -linet
|
|
#
|
|
# Linux NetHack uses some bsd style ioctl functions, thus it is necessary to
|
|
# use the bsd libs. (Only if still compiling as BSD in unixconf.h; recent
|
|
# versions compile fine using SYSV without this.)
|
|
# LIBS = -lbsd
|
|
#
|
|
# for CYGWIN32 aka cygwin 1.1.1
|
|
# LIBS = -lcygwin
|
|
#
|
|
# Solaris 2.x seems to work with the following
|
|
# LIBS = -lsocket -lnsl
|
|
#
|
|
# IRIX 4.0.x needs -lsun if NIS (YP) is being used for passwd file lookup
|
|
# LIBS = -lsun
|
|
#
|
|
# If ZLIB_COMP is defined in config.h this is necessary to link with zlib.
|
|
# LIBS = -lz
|
|
#
|
|
# LIBS =
|
|
|
|
# make NetHack
|
|
GAME = nethack
|
|
# GAME = nethack.prg
|
|
GAMEBIN = $(GAME)
|
|
|
|
# if you defined RANDOM in unixconf.h since your system did not come
|
|
# with a reasonable random number generator
|
|
# RANDOBJ = $(TARGETPFX)random.o
|
|
RANDOBJ =
|
|
|
|
# used by `make depend' to reconstruct this Makefile; you shouldn't need this
|
|
# at all but can override with 'make AWK=nawk' or 'make AWK=gawk' if necessary
|
|
AWK = awk
|
|
|
|
# when using 'makedefs -v', also force dat/gitinfo.txt to be up to date;
|
|
# changing this to 0 will change the behavior to only make that file if
|
|
# it doesn't already exist; to skip it completely, create an empty file
|
|
# of that name and also set this to 0; there shouldn't be any need to
|
|
# skip it--if nethack's sources don't reside in a git repository than
|
|
# the script which creates that file will fail benignly and 'makedefs -v'
|
|
# will proceed without it
|
|
GITINFO=1
|
|
|
|
# if you change this to 1, feedback while building will omit -Dthis -Wthat
|
|
# -Isomewhere so that each file being compiled is listed on one short line;
|
|
# it requires support for '$<' in rules with more than one prerequisite
|
|
# (rather than just in suffix default rule), such as is implemented by
|
|
# gnu make and others which have picked up its extensions;
|
|
# allowed values are 0, 1, and empty (which behaves like 0)
|
|
QUIETCC=0
|
|
|
|
# ----------------------------------------
|
|
#
|
|
# Nothing below this line should have to be changed.
|
|
#
|
|
# Other things that have to be reconfigured are in config.h,
|
|
# {unixconf.h, pcconf.h}, and possibly cstd.h
|
|
|
|
|
|
# NB: This is not used for all .c files (see explicit rules in
|
|
# dependencies).
|
|
# A normal or cross compile.
|
|
$(TARGETPFX)%.o : %.c
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ $<
|
|
|
|
# Verbosity definitions, begin
|
|
# Set QUIETCC=1 above to output less feedback while building.
|
|
# CC and CXX obey verbosity, LD and LINK don't.
|
|
# AT is @ when not verbose, empty otherwise
|
|
ACTUAL_CC := $(CC)
|
|
ACTUAL_CXX := $(CXX)
|
|
ACTUAL_LD := $(LD)
|
|
ACTUAL_LINK := $(LINK)
|
|
|
|
CC_V0 = $(ACTUAL_CC)
|
|
CC_V = $(CC_V0)
|
|
CC_V1 = @echo "[CC] $<"; $(ACTUAL_CC)
|
|
CC = $(CC_V$(QUIETCC))
|
|
|
|
CXX_V0 = $(ACTUAL_CXX)
|
|
CXX_V = $(CXX_V0)
|
|
CXX_V1 = @echo "[CXX] $<"; $(ACTUAL_CXX)
|
|
CXX = $(CXX_V$(QUIETCC))
|
|
|
|
# LD and LINK might be based on invoking CC and may not be able to substitute
|
|
# for QUIETCC, so feedback from them is handled differently (via $AT)
|
|
LD = $(ACTUAL_LD)
|
|
LINK = $(ACTUAL_LINK)
|
|
|
|
AT_V0 :=
|
|
AT_V := $(AT_V0)
|
|
AT_V1 := @
|
|
AT = $(AT_V$(QUIETCC))
|
|
# Verbosity, end
|
|
|
|
# verbosity-adjacent; these will already have 'real' values if hints have
|
|
# set up cross-compiling, in which case these assignments will be no-ops
|
|
PREGAME=@true
|
|
PACKAGE=@true
|
|
|
|
HACKLIBSRC = hacklib.c
|
|
HACKLIBOBJS = hacklib.o
|
|
HACKLIB = hacklib.a
|
|
|
|
MAKEDEFS = ../util/makedefs
|
|
|
|
# -lm required by lua
|
|
LUA_VERSION ?=5.4.6
|
|
LUABASE = liblua-$(LUA_VERSION).a
|
|
LUALIB = ../lib/lua/$(LUABASE)
|
|
LUALIBS = $(LUALIB) -lm $(DLLIB)
|
|
LUAHEADERS = lib/lua-$(LUA_VERSION)/src
|
|
|
|
# timestamp files to reduce `make' overhead and shorten .o dependency lists
|
|
CONFIG_H = ../src/config.h-t
|
|
HACK_H = ../src/hack.h-t
|
|
|
|
# all .c that are part of the main NetHack program and are not operating- or
|
|
# windowing-system specific. Do not include date.c in this list.
|
|
HACKCSRC = allmain.c alloc.c apply.c artifact.c attrib.c ball.c bones.c \
|
|
botl.c calendar.c cmd.c coloratt.c dbridge.c decl.c detect.c dig.c display.c \
|
|
dlb.c do.c do_name.c do_wear.c dog.c dogmove.c dokick.c dothrow.c \
|
|
drawing.c dungeon.c eat.c end.c engrave.c exper.c explode.c \
|
|
extralev.c files.c fountain.c hack.c hacklib.c \
|
|
getpos.c glyphs.c insight.c invent.c isaac64.c light.c \
|
|
lock.c mail.c makemon.c mcastu.c mdlib.c mhitm.c \
|
|
mhitu.c minion.c mklev.c mkmap.c mkmaze.c mkobj.c mkroom.c mon.c \
|
|
mondata.c monmove.c monst.c mplayer.c mthrowu.c muse.c music.c \
|
|
nhlua.c nhlsel.c nhlobj.c nhmd4.c o_init.c objects.c objnam.c \
|
|
options.c pager.c pickup.c pline.c polyself.c potion.c pray.c \
|
|
priest.c quest.c questpgr.c read.c rect.c region.c report.c restore.c \
|
|
rip.c rnd.c role.c rumors.c save.c selvar.c sfstruct.c \
|
|
shk.c shknam.c sit.c sounds.c sp_lev.c spell.c stairs.c steal.c steed.c \
|
|
strutil.c symbols.c sys.c teleport.c \
|
|
timeout.c topten.c track.c trap.c u_init.c utf8map.c \
|
|
uhitm.c vault.c version.c vision.c weapon.c were.c wield.c \
|
|
windows.c wizard.c wizcmds.c worm.c worn.c write.c zap.c
|
|
|
|
# all operating-system-dependent .c (for dependencies and such)
|
|
SYSCSRC = ../sys/share/pcmain.c ../sys/share/pcsys.c \
|
|
../sys/share/pctty.c ../sys/share/pcunix.c \
|
|
../sys/share/pmatchregex.c ../sys/share/posixregex.c \
|
|
../sys/share/random.c \
|
|
../sys/share/ioctl.c ../sys/share/unixtty.c ../sys/unix/unixmain.c \
|
|
../sys/unix/unixunix.c ../sys/unix/unixres.c
|
|
SYSCXXSRC = ../sys/share/cppregex.cpp
|
|
|
|
# generated source files (tile.c is handled separately via WINxxxSRC)
|
|
GENCSRC = #tile.c
|
|
|
|
# all windowing-system-dependent .c (for dependencies and such)
|
|
WINCSRC = $(WINTTYSRC) $(WINCURSESSRC) $(WINX11SRC) $(WINSHIMSRC)
|
|
# all windowing-system-dependent .cpp (for dependencies and such)
|
|
WINCXXSRC = $(WINQTSRC) $(WINQT3SRC) $(WINBESRC)
|
|
|
|
# Files for window system chaining. Requires SYSCF; include via HINTSRC/HINTOBJ
|
|
CHAINSRC = ../win/chain/wc_chainin.c ../win/chain/wc_chainout.c \
|
|
../win/chain/wc_trace.c
|
|
CHAINOBJ = $(TARGETPFX)wc_chainin.o $(TARGETPFX)wc_chainout.o \
|
|
$(TARGETPFX)wc_trace.o
|
|
|
|
# .c files for this version (for date.h)
|
|
VERSOURCES = $(HACKCSRC) $(HACKLIBSRC) $(SYSSRC) $(WINSRC) $(CHAINSRC) $(GENCSRC)
|
|
|
|
# .c files for all versions using this Makefile (for lint and tags)
|
|
CSOURCES = $(HACKCSRC) $(HACKLIBSRC) $(SYSCSRC) $(WINCSRC) $(CHAINSRC) $(GENCSRC)
|
|
|
|
|
|
# all .h files except date.h, which would
|
|
# cause dependency loops if run through "make depend"
|
|
# and dgn_file.h, special level & dungeon files.
|
|
#
|
|
HACKINCL = align.h artifact.h artilist.h attrib.h botl.h \
|
|
color.h config.h config1.h context.h coord.h decl.h \
|
|
display.h dlb.h dungeon.h engrave.h extern.h flag.h fnamesiz.h \
|
|
func_tab.h global.h warnings.h hack.h lint.h mextra.h mfndpos.h \
|
|
micro.h mkroom.h monattk.h mondata.h monflag.h monst.h monsters.h \
|
|
nhmd4.h obj.h objects.h objclass.h optlist.h patchlevel.h pcconf.h \
|
|
permonst.h prop.h rect.h region.h selvar.h sym.h defsym.h rm.h sp_lev.h \
|
|
spell.h sndprocs.h seffects.h stairs.h sys.h tcap.h timeout.h \
|
|
tradstdc.h trap.h unixconf.h vision.h vmsconf.h wintty.h wincurs.h \
|
|
winX.h winprocs.h wintype.h you.h youprop.h cstd.h
|
|
|
|
HSOURCES = $(HACKINCL) dgn_file.h
|
|
|
|
# the following .o's _must_ be made before any others (for makedefs)
|
|
FIRSTOBJ = monst.o objects.o
|
|
HOSTOBJ = $(FIRSTOBJ) alloc.o drawing.o
|
|
|
|
#
|
|
# $(TARGETPFX)date.o is not included in this list
|
|
#
|
|
HOBJ = $(TARGETPFX)allmain.o $(TARGETPFX)alloc.o \
|
|
$(TARGETPFX)apply.o $(TARGETPFX)artifact.o $(TARGETPFX)attrib.o \
|
|
$(TARGETPFX)ball.o $(TARGETPFX)bones.o $(TARGETPFX)botl.o \
|
|
$(TARGETPFX)calendar.o $(TARGETPFX)cmd.o \
|
|
$(TARGETPFX)coloratt.o $(TARGETPFX)dbridge.o $(TARGETPFX)decl.o \
|
|
$(TARGETPFX)detect.o $(TARGETPFX)dig.o $(TARGETPFX)display.o \
|
|
$(TARGETPFX)dlb.o $(TARGETPFX)do.o $(TARGETPFX)do_name.o \
|
|
$(TARGETPFX)do_wear.o $(TARGETPFX)dog.o $(TARGETPFX)dogmove.o \
|
|
$(TARGETPFX)dokick.o $(TARGETPFX)dothrow.o $(TARGETPFX)drawing.o \
|
|
$(TARGETPFX)dungeon.o $(TARGETPFX)eat.o $(TARGETPFX)end.o \
|
|
$(TARGETPFX)engrave.o $(TARGETPFX)exper.o $(TARGETPFX)explode.o \
|
|
$(TARGETPFX)extralev.o $(TARGETPFX)files.o $(TARGETPFX)fountain.o \
|
|
$(TARGETPFX)getpos.o $(TARGETPFX)glyphs.o $(TARGETPFX)hack.o \
|
|
$(TARGETPFX)insight.o $(TARGETPFX)invent.o $(TARGETPFX)isaac64.o \
|
|
$(TARGETPFX)light.o $(TARGETPFX)lock.o $(TARGETPFX)mail.o \
|
|
$(TARGETPFX)makemon.o $(TARGETPFX)mcastu.o $(TARGETPFX)mdlib.o \
|
|
$(TARGETPFX)mhitm.o $(TARGETPFX)mhitu.o $(TARGETPFX)minion.o \
|
|
$(TARGETPFX)mklev.o $(TARGETPFX)mkmap.o $(TARGETPFX)mkmaze.o \
|
|
$(TARGETPFX)mkobj.o $(TARGETPFX)mkroom.o $(TARGETPFX)mon.o \
|
|
$(TARGETPFX)mondata.o $(TARGETPFX)monmove.o $(TARGETPFX)monst.o \
|
|
$(TARGETPFX)mplayer.o $(TARGETPFX)mthrowu.o $(TARGETPFX)muse.o \
|
|
$(TARGETPFX)music.o $(TARGETPFX)nhlua.o $(TARGETPFX)nhlsel.o \
|
|
$(TARGETPFX)nhlobj.o $(TARGETPFX)nhmd4.o \
|
|
$(TARGETPFX)objects.o $(TARGETPFX)o_init.o \
|
|
$(TARGETPFX)objnam.o $(TARGETPFX)options.o $(TARGETPFX)pager.o \
|
|
$(TARGETPFX)pickup.o $(TARGETPFX)pline.o $(TARGETPFX)polyself.o \
|
|
$(TARGETPFX)potion.o $(TARGETPFX)pray.o $(TARGETPFX)priest.o \
|
|
$(TARGETPFX)quest.o $(TARGETPFX)questpgr.o $(TARGETPFX)read.o \
|
|
$(TARGETPFX)rect.o $(TARGETPFX)region.o $(TARGETPFX)report.o \
|
|
$(TARGETPFX)restore.o $(TARGETPFX)rip.o $(TARGETPFX)rnd.o \
|
|
$(TARGETPFX)role.o $(TARGETPFX)rumors.o $(TARGETPFX)save.o \
|
|
$(TARGETPFX)selvar.o $(TARGETPFX)sfstruct.o \
|
|
$(TARGETPFX)shk.o $(TARGETPFX)shknam.o $(TARGETPFX)sit.o \
|
|
$(TARGETPFX)sounds.o $(TARGETPFX)sp_lev.o $(TARGETPFX)spell.o \
|
|
$(TARGETPFX)stairs.o $(TARGETPFX)symbols.o $(TARGETPFX)sys.o \
|
|
$(TARGETPFX)steal.o $(TARGETPFX)steed.o $(TARGETPFX)strutil.o \
|
|
$(TARGETPFX)teleport.o $(TARGETPFX)timeout.o $(TARGETPFX)topten.o \
|
|
$(TARGETPFX)track.o $(TARGETPFX)trap.o $(TARGETPFX)u_init.o \
|
|
$(TARGETPFX)uhitm.o $(TARGETPFX)utf8map.o $(TARGETPFX)vault.o \
|
|
$(TARGETPFX)vision.o $(TARGETPFX)weapon.o \
|
|
$(TARGETPFX)were.o $(TARGETPFX)wield.o $(TARGETPFX)windows.o \
|
|
$(TARGETPFX)wizard.o $(TARGETPFX)wizcmds.o $(TARGETPFX)worm.o \
|
|
$(TARGETPFX)worn.o $(TARGETPFX)write.o $(TARGETPFX)zap.o \
|
|
$(REGEXOBJ) $(RANDOBJ) $(SYSOBJ) $(WINOBJ) $(HINTOBJ) $(SNDLIBOBJ) \
|
|
$(TARGETPFX)version.o
|
|
|
|
DATE_O = $(TARGETPFX)date.o
|
|
|
|
# the .o files from the HACKCSRC, SYSSRC, and WINSRC lists
|
|
|
|
# first target is also the default target for 'make' without any arguments
|
|
all: $(GAME)
|
|
@echo ""
|
|
|
|
pregame:
|
|
$(PREGAME)
|
|
|
|
$(GAME): pregame $(MAKEDEFS) $(LUALIB) $(WAVS) $(SYSTEM)
|
|
@echo "$(GAME) is up to date."
|
|
|
|
Sysunix: $(HOSTOBJ) $(HOBJ) $(TARGETPFX)$(HACKLIB) $(DATE_O) $(BUILDMORE) Makefile
|
|
@echo "Linking $(GAME)."
|
|
$(AT)$(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAMEBIN) \
|
|
$(HOBJ) $(DATE_O) $(TARGETPFX)$(HACKLIB) $(WINLIB) \
|
|
$(TARGET_LIBS) $(LUALIBS) $(AUTOLIBS)
|
|
@touch Sysunix
|
|
|
|
Sys3B2: $(HOSTOBJ) $(HOBJ) $(TARGETPFX)$(HACKLIB) $(DATE_O) $(BUILDMORE) Makefile
|
|
@echo "Linking $(GAME)."
|
|
$(AT)$(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAMEBIN) \
|
|
$(HOBJ) $(DATE_O) $(TARGETPFX)$(HACKLIB) $(WINLIB) \
|
|
$(LUALIBS) -lmalloc
|
|
@touch Sys3B2
|
|
|
|
Sysatt: $(HOSTOBJ) $(HOBJ) $(TARGETPFX)$(HACKLIB) $(DATE_O) $(BUILDMORE) Makefile
|
|
@echo "Loading $(GAME)."
|
|
$(AT)$(LD) $(TARGET_LFLAGS) /lib/crt0s.o /lib/shlib.ifile \
|
|
-o $(GAMEBIN) $(HOSTOBJ) $(HOBJ) $(DATE_O) $(TARGETPFX)$(HACKLIB) \
|
|
$(LUALIBS)
|
|
@touch Sysatt
|
|
|
|
Systos: $(HOSTOBJ) $(HOBJ) $(TARGETPFX)$(HACKLIB) $(DATE_O) $(BUILDMORE) Makefile
|
|
@echo "Linking $(GAME)."
|
|
$(AT)$(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAMEBIN) \
|
|
$(HOBJ) $(DATE_O) $(TARGETPFX)$(HACKLIB) \
|
|
$(WINLIB) $(LUALIBS)
|
|
@touch Systos
|
|
|
|
SysV-AT: DUMB.Setup $(HOSTOBJ) $(HOBJ) $(TARGETPFX)$(HACKLIB) $(DATE_O) $(BUILDMORE) Makefile
|
|
@echo "Linking $(GAME)."
|
|
$(AT)$(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAMEBIN) \
|
|
$(HOBJ) $(DATE_O) $(TARGETPFX)$(HACKLIB) \
|
|
$(WINLIB) $(LUALIBS)
|
|
@touch SysV-AT
|
|
|
|
SysBe: $(HOSTOBJ) $(HOBJ) $(TARGETPFX)$(HACKLIB) $(DATE_O) $(BUILDMORE) Makefile
|
|
@echo "Linking $(GAME)."
|
|
$(AT)$(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAME) \
|
|
$(HOBJ) $(DATE_O) $(TARGETPFX)$(HACKLIB) \
|
|
$(WINLIB) $(TARGET_LIBS) $(LUALIBS)
|
|
@xres -o $(GAME) ../win/BeOS/nethack.rsrc
|
|
@mimeset -f $(GAME)
|
|
@touch SysBe
|
|
|
|
DUMB.Setup: ../include/extern.h
|
|
cp ../include/extern.h ../include/extern.h.BAK
|
|
cat ../include/extern.h | \
|
|
sed -e '/^E\ int\ /!b' \
|
|
-e '/[^;/ ]$$/N' \
|
|
-e '/[(][*]occupation[)]/b' \
|
|
-e '/[(][*]afternmv[)]/b' \
|
|
-e '/float_down/b' \
|
|
-e '/done1/b' \
|
|
-e '/identify/b' \
|
|
-e '/Hear_again/b' \
|
|
-e '/hangup/b' \
|
|
-e 's/^\(.*\)$$/\/\* \1 \/\*\*\//' | \
|
|
sed -e '/^E\ void\ /!b' \
|
|
-e '/[^;/ ]$$/N' \
|
|
-e 's/^\(.*\)$$/\/\* \1 \/\*\*\//' \
|
|
>../include/extern.DUMB
|
|
cp ../include/extern.DUMB ../include/extern.h
|
|
@touch DUMB.Setup
|
|
|
|
$(LUALIB) ../include/nhlua.h:
|
|
@( cd .. ; $(MAKE) lua_support )
|
|
|
|
# dependencies for makedefs and its outputs, which the util
|
|
# Makefile is responsible for keeping up to date
|
|
#
|
|
|
|
# special rules, to force update of makedefs, real dependencies should be
|
|
# below in the 'make depend' output.
|
|
monst.o:
|
|
$(CC) $(CFLAGS) $(CSTD) -c -o $@ monst.c
|
|
@rm -f $(MAKEDEFS)
|
|
|
|
objects.o:
|
|
$(CC) $(CFLAGS) $(CSTD) -c -o $@ objects.c
|
|
@rm -f $(MAKEDEFS)
|
|
|
|
# outdated Qt 3 windowport meta-object-compiler output
|
|
qt3_kde0.moc: ../win/Qt3/qt3_kde0.h
|
|
$(QTDIR)/bin/moc -o qt3kde0.moc ../win/Qt3/qt3_kde0.h
|
|
qt3_win.moc: ../win/Qt3/qt3_win.h
|
|
$(QTDIR)/bin/moc -o qt3win.moc ../win/Qt3/qt3_win.h
|
|
qt3tableview.moc: ../win/Qt3/qt3tableview.h
|
|
$(QTDIR)/bin/moc -o qt3tableview.moc ../win/Qt3/qt3tableview.h
|
|
|
|
# build monst.o and objects.o before executing '$(MAKE) makedefs'
|
|
$(MAKEDEFS): $(FIRSTOBJ) \
|
|
../util/makedefs.c ../src/mdlib.c $(CONFIG_H) \
|
|
../include/permonst.h ../include/monsters.h \
|
|
../include/objclass.h ../include/objects.h ../include/sym.h \
|
|
../include/defsym.h ../include/artilist.h \
|
|
../include/dungeon.h ../include/obj.h ../include/monst.h \
|
|
../include/you.h ../include/flag.h ../include/dlb.h \
|
|
../include/patchlevel.h
|
|
@( cd ../util ; $(MAKE) makedefs )
|
|
|
|
# Source files formerly created by 'makedefs' at build time
|
|
# but no longer used.
|
|
../include/onames.h: $(MAKEDEFS)
|
|
@( cd ../util ; $(MAKE) ../include/onames.h )
|
|
../include/pm.h: $(MAKEDEFS)
|
|
@( cd ../util ; $(MAKE) ../include/pm.h )
|
|
# Created at build time for configurations which support tiles,
|
|
# but not by makedefs so not connected to the others.
|
|
tile.c: ../win/share/tilemap.c $(HACK_H)
|
|
@( cd ../util ; $(MAKE) ../src/tile.c )
|
|
|
|
#
|
|
# hacklib (a library of utility routines)
|
|
#
|
|
|
|
hacklib.a: hacklib.o
|
|
$(AR) $(ARFLAGS) $@ hacklib.o
|
|
|
|
../win/gnome/gn_rip.h: ../win/X11/rip.xpm
|
|
cp ../win/X11/rip.xpm ../win/gnome/gn_rip.h
|
|
|
|
$(TARGETPFX)sfstruct.o: sfstruct.c $(HACK_H)
|
|
|
|
# date.c should be recompiled any time any of the source or include code
|
|
# is modified.
|
|
$(TARGETPFX)date.o: date.c $(HACK_H) $(HACKCSRC) $(HOBJ) $(TARGETPFX)$(HACKLIB)
|
|
$(TARGET_CC) $(TARGET_CFLAGS) $(GITHASH) $(GITBRANCH) -c -o $@ date.c
|
|
|
|
# date.h should be remade any time any of the source or include code
|
|
# is modified. Unfortunately, this would make the contents of this
|
|
# file far more complex. Since "hack.h" depends on most of the include
|
|
# files, we kludge around this by making date.h dependent on hack.h,
|
|
# even though it doesn't include this file.
|
|
# Do NOT include ../dat/gitinfo.txt as either a prerequisite or target.
|
|
# 'makedefs -v' processes it when present and ignores it if not.
|
|
#
|
|
../include/date.h: ../util/makedefs $(VERSOURCES) $(HACK_H)
|
|
-$(SHELL) ../sys/unix/gitinfo.sh $(GITINFO) #before 'makedefs -v'
|
|
../util/makedefs -v
|
|
|
|
lint:
|
|
# lint cannot have -p here because (i) capitals are meaningful:
|
|
# [Ww]izard, (ii) identifiers may coincide in the first six places:
|
|
# doweararm() versus dowearring().
|
|
# _flsbuf comes from <stdio.h>, a bug in the system libraries.
|
|
@echo lint -axbh -DLINT ...
|
|
@lint -axbh -I../include -DLINT $(CSOURCES) | sed '/_flsbuf/d'
|
|
|
|
|
|
tags: $(CSOURCES)
|
|
@echo ctags -tw ...
|
|
@ctags -tw $(CSOURCES)
|
|
@( cd ../include ; ctags -tw $(HSOURCES) )
|
|
@( cd ../util ; $(MAKE) tags )
|
|
|
|
clean:
|
|
-rm -f *.o $(HACK_H) $(CONFIG_H)
|
|
-rm -f monstr.c vis_tab.c ../include/vis_tab.h #obsolete generated files
|
|
true; $(CLEANMORE)
|
|
|
|
spotless: clean
|
|
-rm -f a.out core $(HACKLIB) $(GAMEBIN) Sys*
|
|
-rm -f ../include/nhlua.h
|
|
-rm -f ../include/date.h #created but no longer used, at least by core
|
|
-rm -f ../include/onames.h ../include/pm.h #obsolete generated files
|
|
-rm -f tile.c *.moc Qt*.h-t
|
|
-rm -f ../win/gnome/gn_rip.h
|
|
|
|
package:
|
|
$(PACKAGE)
|
|
@echo packaging complete.
|
|
|
|
# A more automated "make depend" target
|
|
# cd sys/unix ; make -f Makefile.src updatedepend
|
|
updatedepend: updatedepend-setup
|
|
cp Makefile.src ../../src && \
|
|
make -C ../../src MAKEFILE_NAME=Makefile.src -f Makefile.src depend2 && \
|
|
mv ../../src/Makefile.src .
|
|
@rm -f ../$(HACK_H) ../../include/nhlua.h
|
|
|
|
# check pwd, create bogus derived files
|
|
updatedepend-setup:
|
|
@ # make sure we're in sys/unix before we start writing
|
|
@p=`pwd`; \
|
|
if [ $$p = $${p%/sys/unix} ]; then \
|
|
echo "updatedepend must be run in sys/unix"; exit 1; \
|
|
fi
|
|
touch ../$(HACK_H)
|
|
@ # generate bogus files
|
|
echo "Generating bogus include/nhlua.h"
|
|
(HFILE=../../include/nhlua.h && \
|
|
echo '/* bogus nhlua.h for updatedepend ONLY */' > $$HFILE && \
|
|
echo '#error bogus include/nhlua.h' >> $$HFILE && \
|
|
echo '#include "../$(LUAHEADERS)/lua.h"' >> $$HFILE && \
|
|
echo '#include "../$(LUAHEADERS)/lualib.h"' >> $$HFILE && \
|
|
echo '#include "../$(LUAHEADERS)/lauxlib.h"' >> $$HFILE && \
|
|
echo '/*nhlua.h*/' >> $$HFILE )
|
|
@echo "Generating bogus src/tile.c"
|
|
@echo '#error bogus include/nhlua.h' > ../../src/tile.c
|
|
@echo "#include \"hack.h\"" >> ../../src/tile.c
|
|
|
|
MAKEFILE_NAME=Makefile
|
|
depend: ../sys/unix/depend.awk \
|
|
$(SYSCSRC) $(WINCSRC) $(SYSCXXSRC) $(WINCXXSRC) \
|
|
$(CHAINSRC) $(GENCSRC) $(HACKCSRC)
|
|
$(MAKE) depend2
|
|
|
|
depend2: $(WINQTMOC)
|
|
$(AWK) -f ../sys/unix/depend.awk ../include/*.h ../win/*/*.h \
|
|
$(SYSCSRC) $(WINCSRC) $(SYSCXXSRC) $(WINCXXSRC) \
|
|
$(CHAINSRC) $(GENCSRC) $(HACKCSRC) >makedep
|
|
@echo '/^# DO NOT DELETE THIS LINE OR CHANGE ANYTHING BEYOND IT/+2,$$d' >eddep
|
|
@echo '$$r makedep' >>eddep
|
|
@echo 'w' >>eddep
|
|
@cp $(MAKEFILE_NAME) Makefile.bak
|
|
@ed - $(MAKEFILE_NAME) < eddep
|
|
@rm -f eddep makedep
|
|
@echo '# DEPENDENCIES MUST END AT END OF FILE' >> $(MAKEFILE_NAME)
|
|
@echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> $(MAKEFILE_NAME)
|
|
@echo '# see make depend above' >> $(MAKEFILE_NAME)
|
|
- diff Makefile.bak $(MAKEFILE_NAME)
|
|
@rm -f Makefile.bak
|
|
@rm -f ../include/nhlua.h tile.c
|
|
|
|
# DO NOT DELETE THIS LINE OR CHANGE ANYTHING BEYOND IT
|
|
|
|
# config.h timestamp
|
|
$(CONFIG_H): ../include/color.h ../include/config.h ../include/config1.h \
|
|
../include/coord.h ../include/cstd.h ../include/fnamesiz.h \
|
|
../include/global.h ../include/integer.h ../include/micro.h \
|
|
../include/patchlevel.h ../include/pcconf.h \
|
|
../include/tradstdc.h ../include/unixconf.h \
|
|
../include/vmsconf.h ../include/warnings.h \
|
|
../include/windconf.h
|
|
touch $(CONFIG_H)
|
|
# hack.h timestamp
|
|
$(HACK_H): $(CONFIG_H) ../include/align.h ../include/artilist.h \
|
|
../include/attrib.h ../include/botl.h ../include/context.h \
|
|
../include/decl.h ../include/defsym.h ../include/display.h \
|
|
../include/dungeon.h ../include/engrave.h ../include/flag.h \
|
|
../include/hack.h ../include/lint.h ../include/mextra.h \
|
|
../include/mkroom.h ../include/monattk.h ../include/mondata.h \
|
|
../include/monflag.h ../include/monst.h ../include/monsters.h \
|
|
../include/nhlua.h ../include/obj.h ../include/objclass.h \
|
|
../include/objects.h ../include/permonst.h ../include/prop.h \
|
|
../include/quest.h ../include/rect.h ../include/region.h \
|
|
../include/rm.h ../include/seffects.h ../include/selvar.h \
|
|
../include/skills.h ../include/sndprocs.h ../include/spell.h \
|
|
../include/stairs.h ../include/sym.h ../include/sys.h \
|
|
../include/timeout.h ../include/trap.h ../include/vision.h \
|
|
../include/winprocs.h ../include/wintype.h ../include/you.h \
|
|
../include/youprop.h
|
|
touch $(HACK_H)
|
|
#
|
|
$(TARGETPFX)cppregex.o: ../sys/share/cppregex.cpp $(CONFIG_H)
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../sys/share/cppregex.cpp
|
|
$(TARGETPFX)ioctl.o: ../sys/share/ioctl.c $(HACK_H) ../include/tcap.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../sys/share/ioctl.c
|
|
$(TARGETPFX)pcmain.o: ../sys/share/pcmain.c $(HACK_H) ../include/dlb.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../sys/share/pcmain.c
|
|
$(TARGETPFX)pcsys.o: ../sys/share/pcsys.c $(HACK_H) ../include/wintty.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../sys/share/pcsys.c
|
|
$(TARGETPFX)pctty.o: ../sys/share/pctty.c $(HACK_H) ../include/wintty.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../sys/share/pctty.c
|
|
$(TARGETPFX)pcunix.o: ../sys/share/pcunix.c $(HACK_H) ../include/wintty.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../sys/share/pcunix.c
|
|
$(TARGETPFX)pmatchregex.o: ../sys/share/pmatchregex.c $(HACK_H)
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../sys/share/pmatchregex.c
|
|
$(TARGETPFX)posixregex.o: ../sys/share/posixregex.c $(HACK_H)
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../sys/share/posixregex.c
|
|
$(TARGETPFX)random.o: ../sys/share/random.c $(HACK_H)
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../sys/share/random.c
|
|
$(TARGETPFX)unixtty.o: ../sys/share/unixtty.c $(HACK_H)
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../sys/share/unixtty.c
|
|
$(TARGETPFX)unixmain.o: ../sys/unix/unixmain.c $(HACK_H) ../include/dlb.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../sys/unix/unixmain.c
|
|
$(TARGETPFX)unixres.o: ../sys/unix/unixres.c $(CONFIG_H)
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../sys/unix/unixres.c
|
|
$(TARGETPFX)unixunix.o: ../sys/unix/unixunix.c $(HACK_H)
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../sys/unix/unixunix.c
|
|
$(TARGETPFX)qt_bind.o: ../win/Qt/qt_bind.cpp $(HACK_H) $(QTn_H) \
|
|
../include/dlb.h ../win/Qt/qt_bind.h ../win/Qt/qt_click.h \
|
|
../win/Qt/qt_clust.h ../win/Qt/qt_delay.h ../win/Qt/qt_icon.h \
|
|
../win/Qt/qt_kde0.h ../win/Qt/qt_key.h ../win/Qt/qt_line.h \
|
|
../win/Qt/qt_main.h ../win/Qt/qt_map.h ../win/Qt/qt_menu.h \
|
|
../win/Qt/qt_msg.h ../win/Qt/qt_plsel.h ../win/Qt/qt_post.h \
|
|
../win/Qt/qt_pre.h ../win/Qt/qt_rip.h ../win/Qt/qt_set.h \
|
|
../win/Qt/qt_stat.h ../win/Qt/qt_str.h ../win/Qt/qt_streq.h \
|
|
../win/Qt/qt_svsel.h ../win/Qt/qt_win.h ../win/Qt/qt_xcmd.h \
|
|
../win/Qt/qt_yndlg.h
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_bind.cpp
|
|
$(TARGETPFX)qt_click.o: ../win/Qt/qt_click.cpp $(HACK_H) $(QTn_H) \
|
|
../win/Qt/qt_click.h ../win/Qt/qt_post.h ../win/Qt/qt_pre.h
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_click.cpp
|
|
$(TARGETPFX)qt_clust.o: ../win/Qt/qt_clust.cpp $(QTn_H) ../win/Qt/qt_clust.h
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_clust.cpp
|
|
$(TARGETPFX)qt_delay.o: ../win/Qt/qt_delay.cpp $(HACK_H) $(QTn_H) \
|
|
../win/Qt/qt_delay.h ../win/Qt/qt_post.h ../win/Qt/qt_pre.h
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_delay.cpp
|
|
$(TARGETPFX)qt_glyph.o: ../win/Qt/qt_glyph.cpp $(HACK_H) $(QTn_H) \
|
|
../include/tile2x11.h ../win/Qt/qt_bind.h \
|
|
../win/Qt/qt_clust.h ../win/Qt/qt_glyph.h ../win/Qt/qt_inv.h \
|
|
../win/Qt/qt_kde0.h ../win/Qt/qt_main.h ../win/Qt/qt_map.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_pre.h ../win/Qt/qt_set.h \
|
|
../win/Qt/qt_str.h ../win/Qt/qt_win.h
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_glyph.cpp
|
|
$(TARGETPFX)qt_icon.o: ../win/Qt/qt_icon.cpp $(HACK_H) $(QTn_H) \
|
|
../win/Qt/qt_icon.h ../win/Qt/qt_post.h ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_str.h
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_icon.cpp
|
|
$(TARGETPFX)qt_inv.o: ../win/Qt/qt_inv.cpp $(HACK_H) $(QTn_H) \
|
|
../win/Qt/qt_bind.h ../win/Qt/qt_glyph.h ../win/Qt/qt_inv.h \
|
|
../win/Qt/qt_kde0.h ../win/Qt/qt_main.h ../win/Qt/qt_post.h \
|
|
../win/Qt/qt_pre.h ../win/Qt/qt_set.h
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_inv.cpp
|
|
$(TARGETPFX)qt_key.o: ../win/Qt/qt_key.cpp $(HACK_H) $(QTn_H) \
|
|
../win/Qt/qt_key.h ../win/Qt/qt_post.h ../win/Qt/qt_pre.h
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_key.cpp
|
|
$(TARGETPFX)qt_line.o: ../win/Qt/qt_line.cpp $(HACK_H) $(QTn_H) \
|
|
../win/Qt/qt_line.h ../win/Qt/qt_post.h ../win/Qt/qt_pre.h
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_line.cpp
|
|
$(TARGETPFX)qt_main.o: ../win/Qt/qt_main.cpp $(HACK_H) $(QTn_H) \
|
|
../win/Qt/qt_bind.h ../win/Qt/qt_clust.h ../win/Qt/qt_glyph.h \
|
|
../win/Qt/qt_icon.h ../win/Qt/qt_inv.h ../win/Qt/qt_kde0.h \
|
|
../win/Qt/qt_key.h ../win/Qt/qt_main.h ../win/Qt/qt_map.h \
|
|
../win/Qt/qt_msg.h ../win/Qt/qt_post.h ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_set.h ../win/Qt/qt_stat.h ../win/Qt/qt_str.h \
|
|
../win/Qt/qt_win.h qt_kde0.moc qt_main.moc
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_main.cpp
|
|
$(TARGETPFX)qt_map.o: ../win/Qt/qt_map.cpp $(HACK_H) $(QTn_H) \
|
|
../win/Qt/qt_bind.h ../win/Qt/qt_click.h ../win/Qt/qt_clust.h \
|
|
../win/Qt/qt_glyph.h ../win/Qt/qt_kde0.h ../win/Qt/qt_main.h \
|
|
../win/Qt/qt_map.h ../win/Qt/qt_post.h ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_set.h ../win/Qt/qt_str.h ../win/Qt/qt_win.h \
|
|
qt_map.moc
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_map.cpp
|
|
$(TARGETPFX)qt_menu.o: ../win/Qt/qt_menu.cpp $(HACK_H) $(QTn_H) \
|
|
../win/Qt/qt_bind.h ../win/Qt/qt_glyph.h ../win/Qt/qt_kde0.h \
|
|
../win/Qt/qt_key.h ../win/Qt/qt_line.h ../win/Qt/qt_main.h \
|
|
../win/Qt/qt_menu.h ../win/Qt/qt_post.h ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_rip.h ../win/Qt/qt_set.h ../win/Qt/qt_str.h \
|
|
../win/Qt/qt_streq.h ../win/Qt/qt_win.h qt_menu.moc
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_menu.cpp
|
|
$(TARGETPFX)qt_msg.o: ../win/Qt/qt_msg.cpp $(HACK_H) $(QTn_H) \
|
|
../win/Qt/qt_bind.h ../win/Qt/qt_clust.h ../win/Qt/qt_kde0.h \
|
|
../win/Qt/qt_main.h ../win/Qt/qt_map.h ../win/Qt/qt_msg.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_pre.h ../win/Qt/qt_set.h \
|
|
../win/Qt/qt_str.h ../win/Qt/qt_win.h qt_msg.moc
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_msg.cpp
|
|
$(TARGETPFX)qt_plsel.o: ../win/Qt/qt_plsel.cpp $(HACK_H) $(QTn_H) \
|
|
../win/Qt/qt_bind.h ../win/Qt/qt_glyph.h ../win/Qt/qt_kde0.h \
|
|
../win/Qt/qt_main.h ../win/Qt/qt_plsel.h ../win/Qt/qt_post.h \
|
|
../win/Qt/qt_pre.h ../win/Qt/qt_set.h ../win/Qt/qt_str.h \
|
|
qt_plsel.moc
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_plsel.cpp
|
|
$(TARGETPFX)qt_rip.o: ../win/Qt/qt_rip.cpp $(HACK_H) $(QTn_H) \
|
|
../win/Qt/qt_bind.h ../win/Qt/qt_kde0.h ../win/Qt/qt_main.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_pre.h ../win/Qt/qt_rip.h \
|
|
../win/Qt/qt_str.h
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_rip.cpp
|
|
$(TARGETPFX)qt_set.o: ../win/Qt/qt_set.cpp $(HACK_H) $(QTn_H) \
|
|
../win/Qt/qt_bind.h ../win/Qt/qt_glyph.h ../win/Qt/qt_kde0.h \
|
|
../win/Qt/qt_main.h ../win/Qt/qt_post.h ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_set.h ../win/Qt/qt_str.h ../win/Qt/qt_xcmd.h \
|
|
qt_set.moc
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_set.cpp
|
|
$(TARGETPFX)qt_stat.o: ../win/Qt/qt_stat.cpp $(HACK_H) $(QTn_H) \
|
|
../win/Qt/qt_bind.h ../win/Qt/qt_icon.h ../win/Qt/qt_kde0.h \
|
|
../win/Qt/qt_main.h ../win/Qt/qt_post.h ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_set.h ../win/Qt/qt_stat.h ../win/Qt/qt_str.h \
|
|
../win/Qt/qt_win.h ../win/Qt/qt_xpms.h qt_stat.moc
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_stat.cpp
|
|
$(TARGETPFX)qt_str.o: ../win/Qt/qt_str.cpp $(QTn_H) ../win/Qt/qt_str.h
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_str.cpp
|
|
$(TARGETPFX)qt_streq.o: ../win/Qt/qt_streq.cpp $(HACK_H) $(QTn_H) \
|
|
../win/Qt/qt_bind.h ../win/Qt/qt_kde0.h ../win/Qt/qt_line.h \
|
|
../win/Qt/qt_main.h ../win/Qt/qt_post.h ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_set.h ../win/Qt/qt_str.h ../win/Qt/qt_streq.h
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_streq.cpp
|
|
$(TARGETPFX)qt_svsel.o: ../win/Qt/qt_svsel.cpp $(HACK_H) $(QTn_H) \
|
|
../win/Qt/qt_bind.h ../win/Qt/qt_kde0.h ../win/Qt/qt_main.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_pre.h ../win/Qt/qt_str.h \
|
|
../win/Qt/qt_svsel.h
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_svsel.cpp
|
|
$(TARGETPFX)qt_win.o: ../win/Qt/qt_win.cpp $(HACK_H) $(QTn_H) \
|
|
../win/Qt/qt_bind.h ../win/Qt/qt_click.h ../win/Qt/qt_clust.h \
|
|
../win/Qt/qt_glyph.h ../win/Qt/qt_icon.h ../win/Qt/qt_inv.h \
|
|
../win/Qt/qt_kde0.h ../win/Qt/qt_key.h ../win/Qt/qt_main.h \
|
|
../win/Qt/qt_map.h ../win/Qt/qt_menu.h ../win/Qt/qt_msg.h \
|
|
../win/Qt/qt_post.h ../win/Qt/qt_pre.h ../win/Qt/qt_rip.h \
|
|
../win/Qt/qt_set.h ../win/Qt/qt_win.h
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_win.cpp
|
|
$(TARGETPFX)qt_xcmd.o: ../win/Qt/qt_xcmd.cpp $(HACK_H) $(QTn_H) \
|
|
../include/func_tab.h ../win/Qt/qt_bind.h ../win/Qt/qt_kde0.h \
|
|
../win/Qt/qt_key.h ../win/Qt/qt_main.h ../win/Qt/qt_post.h \
|
|
../win/Qt/qt_pre.h ../win/Qt/qt_set.h ../win/Qt/qt_str.h \
|
|
../win/Qt/qt_xcmd.h qt_xcmd.moc
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_xcmd.cpp
|
|
$(TARGETPFX)qt_yndlg.o: ../win/Qt/qt_yndlg.cpp $(HACK_H) $(QTn_H) \
|
|
../win/Qt/qt_key.h ../win/Qt/qt_post.h ../win/Qt/qt_pre.h \
|
|
../win/Qt/qt_str.h ../win/Qt/qt_yndlg.h qt_yndlg.moc
|
|
$(TARGET_CXX) $(TARGET_CXXFLAGS) -c -o $@ ../win/Qt/qt_yndlg.cpp
|
|
$(TARGETPFX)Window.o: ../win/X11/Window.c $(CONFIG_H) ../include/lint.h \
|
|
../include/winX.h ../include/wintype.h ../include/xwindow.h \
|
|
../include/xwindowp.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/Window.c
|
|
$(TARGETPFX)dialogs.o: ../win/X11/dialogs.c $(CONFIG_H) ../include/lint.h \
|
|
../include/winX.h ../include/wintype.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/dialogs.c
|
|
$(TARGETPFX)winX.o: ../win/X11/winX.c $(HACK_H) ../include/dlb.h \
|
|
../include/winX.h ../include/xwindow.h ../win/X11/nh32icon \
|
|
../win/X11/nh56icon ../win/X11/nh72icon
|
|
$(TARGET_CC) $(TARGET_CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/winX.c
|
|
$(TARGETPFX)winmap.o: ../win/X11/winmap.c $(HACK_H) ../include/dlb.h \
|
|
../include/tile2x11.h ../include/winX.h ../include/xwindow.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/winmap.c
|
|
$(TARGETPFX)winmenu.o: ../win/X11/winmenu.c $(HACK_H) ../include/winX.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/winmenu.c
|
|
$(TARGETPFX)winmesg.o: ../win/X11/winmesg.c $(HACK_H) ../include/winX.h \
|
|
../include/xwindow.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/winmesg.c
|
|
$(TARGETPFX)winmisc.o: ../win/X11/winmisc.c $(HACK_H) ../include/func_tab.h \
|
|
../include/winX.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/winmisc.c
|
|
$(TARGETPFX)winstat.o: ../win/X11/winstat.c $(HACK_H) ../include/winX.h \
|
|
../include/xwindow.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/winstat.c
|
|
$(TARGETPFX)wintext.o: ../win/X11/wintext.c $(HACK_H) ../include/winX.h \
|
|
../include/xwindow.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/wintext.c
|
|
$(TARGETPFX)winval.o: ../win/X11/winval.c $(HACK_H) ../include/winX.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) $(X11CFLAGS) -c -o $@ ../win/X11/winval.c
|
|
$(TARGETPFX)wc_chainin.o: ../win/chain/wc_chainin.c $(HACK_H)
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../win/chain/wc_chainin.c
|
|
$(TARGETPFX)wc_chainout.o: ../win/chain/wc_chainout.c $(HACK_H)
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../win/chain/wc_chainout.c
|
|
$(TARGETPFX)wc_trace.o: ../win/chain/wc_trace.c $(HACK_H) \
|
|
../include/func_tab.h ../include/wintty.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../win/chain/wc_trace.c
|
|
$(TARGETPFX)cursdial.o: ../win/curses/cursdial.c $(HACK_H) \
|
|
../include/func_tab.h ../include/wincurs.h \
|
|
../win/curses/cursdial.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../win/curses/cursdial.c
|
|
$(TARGETPFX)cursinit.o: ../win/curses/cursinit.c $(HACK_H) \
|
|
../include/wincurs.h ../win/curses/cursinit.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../win/curses/cursinit.c
|
|
$(TARGETPFX)cursinvt.o: ../win/curses/cursinvt.c $(HACK_H) \
|
|
../include/wincurs.h ../win/curses/cursinvt.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../win/curses/cursinvt.c
|
|
$(TARGETPFX)cursmain.o: ../win/curses/cursmain.c $(HACK_H) ../include/wincurs.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../win/curses/cursmain.c
|
|
$(TARGETPFX)cursmesg.o: ../win/curses/cursmesg.c $(HACK_H) \
|
|
../include/wincurs.h ../win/curses/cursmesg.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../win/curses/cursmesg.c
|
|
$(TARGETPFX)cursmisc.o: ../win/curses/cursmisc.c $(HACK_H) ../include/dlb.h \
|
|
../include/func_tab.h ../include/wincurs.h \
|
|
../win/curses/cursmisc.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../win/curses/cursmisc.c
|
|
$(TARGETPFX)cursstat.o: ../win/curses/cursstat.c $(HACK_H) \
|
|
../include/wincurs.h ../win/curses/cursstat.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../win/curses/cursstat.c
|
|
$(TARGETPFX)curswins.o: ../win/curses/curswins.c $(HACK_H) \
|
|
../include/wincurs.h ../win/curses/curswins.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../win/curses/curswins.c
|
|
$(TARGETPFX)winshim.o: ../win/shim/winshim.c $(HACK_H)
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../win/shim/winshim.c
|
|
$(TARGETPFX)getline.o: ../win/tty/getline.c $(HACK_H) ../include/func_tab.h \
|
|
../include/wintty.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../win/tty/getline.c
|
|
$(TARGETPFX)termcap.o: ../win/tty/termcap.c $(HACK_H) ../include/tcap.h \
|
|
../include/wintty.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../win/tty/termcap.c
|
|
$(TARGETPFX)topl.o: ../win/tty/topl.c $(HACK_H) ../include/tcap.h \
|
|
../include/wintty.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../win/tty/topl.c
|
|
$(TARGETPFX)wintty.o: ../win/tty/wintty.c $(HACK_H) ../include/dlb.h \
|
|
../include/tcap.h ../include/wintty.h
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ ../win/tty/wintty.c
|
|
$(TARGETPFX)allmain.o: allmain.c $(HACK_H)
|
|
$(TARGETPFX)alloc.o: alloc.c $(CONFIG_H) ../include/nhlua.h
|
|
$(TARGETPFX)apply.o: apply.c $(HACK_H)
|
|
$(TARGETPFX)artifact.o: artifact.c $(HACK_H) ../include/artifact.h
|
|
$(TARGETPFX)attrib.o: attrib.c $(HACK_H)
|
|
$(TARGETPFX)ball.o: ball.c $(HACK_H)
|
|
$(TARGETPFX)bones.o: bones.c $(HACK_H)
|
|
$(TARGETPFX)botl.o: botl.c $(HACK_H)
|
|
$(TARGETPFX)calendar.o: calendar.c $(HACK_H)
|
|
$(TARGETPFX)cmd.o: cmd.c $(HACK_H) ../include/func_tab.h
|
|
$(TARGETPFX)coloratt.o: coloratt.c $(HACK_H)
|
|
$(TARGETPFX)dbridge.o: dbridge.c $(HACK_H)
|
|
$(TARGETPFX)decl.o: decl.c $(HACK_H)
|
|
$(TARGETPFX)detect.o: detect.c $(HACK_H) ../include/artifact.h
|
|
$(TARGETPFX)dig.o: dig.c $(HACK_H)
|
|
$(TARGETPFX)display.o: display.c $(HACK_H)
|
|
$(TARGETPFX)dlb.o: dlb.c $(CONFIG_H) ../include/dlb.h
|
|
$(TARGETPFX)do.o: do.c $(HACK_H)
|
|
$(TARGETPFX)do_name.o: do_name.c $(HACK_H)
|
|
$(TARGETPFX)do_wear.o: do_wear.c $(HACK_H)
|
|
$(TARGETPFX)dog.o: dog.c $(HACK_H)
|
|
$(TARGETPFX)dogmove.o: dogmove.c $(HACK_H) ../include/mfndpos.h
|
|
$(TARGETPFX)dokick.o: dokick.c $(HACK_H)
|
|
$(TARGETPFX)dothrow.o: dothrow.c $(HACK_H)
|
|
$(TARGETPFX)drawing.o: drawing.c $(CONFIG_H) ../include/defsym.h \
|
|
../include/objclass.h ../include/objects.h ../include/rm.h \
|
|
../include/sym.h ../include/wintype.h
|
|
$(TARGETPFX)dungeon.o: dungeon.c $(HACK_H) ../include/dgn_file.h \
|
|
../include/dlb.h
|
|
$(TARGETPFX)eat.o: eat.c $(HACK_H)
|
|
$(TARGETPFX)end.o: end.c $(HACK_H) ../include/dlb.h
|
|
$(TARGETPFX)engrave.o: engrave.c $(HACK_H)
|
|
$(TARGETPFX)exper.o: exper.c $(HACK_H)
|
|
$(TARGETPFX)explode.o: explode.c $(HACK_H)
|
|
$(TARGETPFX)extralev.o: extralev.c $(HACK_H)
|
|
$(TARGETPFX)files.o: files.c $(HACK_H) ../include/dlb.h ../include/wintty.h \
|
|
#zlib.h
|
|
$(TARGETPFX)fountain.o: fountain.c $(HACK_H)
|
|
$(TARGETPFX)getpos.o: getpos.c $(HACK_H)
|
|
$(TARGETPFX)glyphs.o: glyphs.c $(HACK_H)
|
|
$(TARGETPFX)hack.o: hack.c $(HACK_H)
|
|
$(TARGETPFX)hacklib.o: hacklib.c $(HACK_H)
|
|
$(TARGETPFX)insight.o: insight.c $(HACK_H)
|
|
$(TARGETPFX)invent.o: invent.c $(HACK_H)
|
|
$(TARGETPFX)isaac64.o: isaac64.c $(CONFIG_H) ../include/isaac64.h
|
|
$(TARGETPFX)light.o: light.c $(HACK_H)
|
|
$(TARGETPFX)lock.o: lock.c $(HACK_H)
|
|
$(TARGETPFX)mail.o: mail.c $(HACK_H) ../include/mail.h
|
|
$(TARGETPFX)makemon.o: makemon.c $(HACK_H)
|
|
$(TARGETPFX)mcastu.o: mcastu.c $(HACK_H)
|
|
$(TARGETPFX)mdlib.o: mdlib.c $(CONFIG_H) ../include/align.h \
|
|
../include/artilist.h ../include/attrib.h \
|
|
../include/context.h ../include/defsym.h ../include/dlb.h \
|
|
../include/dungeon.h ../include/flag.h ../include/hacklib.h \
|
|
../include/mextra.h ../include/monattk.h ../include/monflag.h \
|
|
../include/monst.h ../include/monsters.h ../include/obj.h \
|
|
../include/objclass.h ../include/objects.h \
|
|
../include/permonst.h ../include/prop.h ../include/seffects.h \
|
|
../include/skills.h ../include/sndprocs.h ../include/sym.h \
|
|
../include/wintype.h ../include/you.h
|
|
$(TARGETPFX)mhitm.o: mhitm.c $(HACK_H) ../include/artifact.h
|
|
$(TARGETPFX)mhitu.o: mhitu.c $(HACK_H) ../include/artifact.h
|
|
$(TARGETPFX)minion.o: minion.c $(HACK_H)
|
|
$(TARGETPFX)mklev.o: mklev.c $(HACK_H)
|
|
$(TARGETPFX)mkmap.o: mkmap.c $(HACK_H) ../include/sp_lev.h
|
|
$(TARGETPFX)mkmaze.o: mkmaze.c $(HACK_H) ../include/sp_lev.h
|
|
$(TARGETPFX)mkobj.o: mkobj.c $(HACK_H)
|
|
$(TARGETPFX)mkroom.o: mkroom.c $(HACK_H)
|
|
$(TARGETPFX)mon.o: mon.c $(HACK_H) ../include/mfndpos.h
|
|
$(TARGETPFX)mondata.o: mondata.c $(HACK_H)
|
|
$(TARGETPFX)monmove.o: monmove.c $(HACK_H) ../include/artifact.h \
|
|
../include/mfndpos.h
|
|
$(TARGETPFX)monst.o: monst.c $(CONFIG_H) ../include/align.h \
|
|
../include/defsym.h ../include/monattk.h ../include/monflag.h \
|
|
../include/monsters.h ../include/permonst.h ../include/sym.h \
|
|
../include/wintype.h
|
|
$(TARGETPFX)mplayer.o: mplayer.c $(HACK_H)
|
|
$(TARGETPFX)mthrowu.o: mthrowu.c $(HACK_H)
|
|
$(TARGETPFX)muse.o: muse.c $(HACK_H)
|
|
$(TARGETPFX)music.o: music.c $(HACK_H)
|
|
$(TARGETPFX)nhlobj.o: nhlobj.c $(HACK_H) ../include/sp_lev.h
|
|
$(TARGETPFX)nhlsel.o: nhlsel.c $(HACK_H) ../include/sp_lev.h
|
|
$(TARGETPFX)nhlua.o: nhlua.c $(HACK_H) ../include/dlb.h
|
|
$(TARGETPFX)nhmd4.o: nhmd4.c $(HACK_H) ../include/nhmd4.h
|
|
$(TARGETPFX)o_init.o: o_init.c $(HACK_H)
|
|
$(TARGETPFX)objects.o: objects.c $(CONFIG_H) ../include/defsym.h \
|
|
../include/obj.h ../include/objclass.h ../include/objects.h \
|
|
../include/prop.h ../include/skills.h
|
|
$(TARGETPFX)objnam.o: objnam.c $(HACK_H)
|
|
$(TARGETPFX)options.o: options.c $(CONFIG_H) $(HACK_H) ../include/defsym.h \
|
|
../include/flag.h ../include/objclass.h ../include/objects.h \
|
|
../include/optlist.h ../include/tcap.h
|
|
$(TARGETPFX)pager.o: pager.c $(HACK_H) ../include/dlb.h
|
|
$(TARGETPFX)pickup.o: pickup.c $(HACK_H)
|
|
$(TARGETPFX)pline.o: pline.c $(HACK_H)
|
|
$(TARGETPFX)polyself.o: polyself.c $(HACK_H)
|
|
$(TARGETPFX)potion.o: potion.c $(HACK_H)
|
|
$(TARGETPFX)pray.o: pray.c $(HACK_H)
|
|
$(TARGETPFX)priest.o: priest.c $(HACK_H) ../include/mfndpos.h
|
|
$(TARGETPFX)quest.o: quest.c $(HACK_H)
|
|
$(TARGETPFX)questpgr.o: questpgr.c $(HACK_H) ../include/dlb.h \
|
|
../include/wintty.h
|
|
$(TARGETPFX)read.o: read.c $(HACK_H)
|
|
$(TARGETPFX)rect.o: rect.c $(HACK_H)
|
|
$(TARGETPFX)region.o: region.c $(HACK_H)
|
|
$(TARGETPFX)report.o: report.c $(HACK_H) ../include/dlb.h ../include/nhmd4.h
|
|
$(TARGETPFX)restore.o: restore.c $(HACK_H) ../include/tcap.h
|
|
$(TARGETPFX)rip.o: rip.c $(HACK_H)
|
|
$(TARGETPFX)rnd.o: rnd.c $(HACK_H) ../include/isaac64.h
|
|
$(TARGETPFX)role.o: role.c $(HACK_H)
|
|
$(TARGETPFX)rumors.o: rumors.c $(HACK_H) ../include/dlb.h
|
|
$(TARGETPFX)save.o: save.c $(HACK_H)
|
|
$(TARGETPFX)selvar.o: selvar.c $(HACK_H) ../include/sp_lev.h
|
|
$(TARGETPFX)sfstruct.o: sfstruct.c $(HACK_H)
|
|
$(TARGETPFX)shk.o: shk.c $(HACK_H)
|
|
$(TARGETPFX)shknam.o: shknam.c $(HACK_H)
|
|
$(TARGETPFX)sit.o: sit.c $(HACK_H) ../include/artifact.h
|
|
$(TARGETPFX)sounds.o: sounds.c $(HACK_H)
|
|
$(TARGETPFX)sp_lev.o: sp_lev.c $(HACK_H) ../include/sp_lev.h
|
|
$(TARGETPFX)spell.o: spell.c $(HACK_H)
|
|
$(TARGETPFX)stairs.o: stairs.c $(HACK_H)
|
|
$(TARGETPFX)steal.o: steal.c $(HACK_H)
|
|
$(TARGETPFX)steed.o: steed.c $(HACK_H)
|
|
$(TARGETPFX)strutil.o: strutil.c $(HACK_H)
|
|
$(TARGETPFX)symbols.o: symbols.c $(HACK_H) ../include/tcap.h
|
|
$(TARGETPFX)sys.o: sys.c $(HACK_H)
|
|
$(TARGETPFX)teleport.o: teleport.c $(HACK_H)
|
|
$(TARGETPFX)tile.o: tile.c $(HACK_H)
|
|
$(TARGETPFX)timeout.o: timeout.c $(HACK_H)
|
|
$(TARGETPFX)topten.o: topten.c $(HACK_H) ../include/dlb.h
|
|
$(TARGETPFX)track.o: track.c $(HACK_H)
|
|
$(TARGETPFX)trap.o: trap.c $(HACK_H)
|
|
$(TARGETPFX)u_init.o: u_init.c $(HACK_H)
|
|
$(TARGETPFX)uhitm.o: uhitm.c $(HACK_H)
|
|
$(TARGETPFX)utf8map.o: utf8map.c $(HACK_H)
|
|
$(TARGETPFX)vault.o: vault.c $(HACK_H)
|
|
$(TARGETPFX)version.o: version.c $(HACK_H) ../include/dlb.h
|
|
$(TARGETPFX)vision.o: vision.c $(HACK_H)
|
|
$(TARGETPFX)weapon.o: weapon.c $(HACK_H)
|
|
$(TARGETPFX)were.o: were.c $(HACK_H)
|
|
$(TARGETPFX)wield.o: wield.c $(HACK_H)
|
|
$(TARGETPFX)windows.o: windows.c $(HACK_H) ../include/dlb.h ../include/wintty.h
|
|
$(TARGETPFX)wizard.o: wizard.c $(HACK_H)
|
|
$(TARGETPFX)wizcmds.o: wizcmds.c $(HACK_H) ../include/func_tab.h
|
|
$(TARGETPFX)worm.o: worm.c $(HACK_H)
|
|
$(TARGETPFX)worn.o: worn.c $(HACK_H)
|
|
$(TARGETPFX)write.o: write.c $(HACK_H)
|
|
$(TARGETPFX)zap.o: zap.c $(HACK_H)
|
|
qt_kde0.moc: $(QTn_H) ../win/Qt/qt_kde0.h
|
|
$(MOCPATH) -o $@ ../win/Qt/qt_kde0.h
|
|
qt_main.moc: $(QTn_H) ../win/Qt/qt_kde0.h ../win/Qt/qt_main.h
|
|
$(MOCPATH) -o $@ ../win/Qt/qt_main.h
|
|
qt_map.moc: $(QTn_H) ../win/Qt/qt_clust.h ../win/Qt/qt_map.h ../win/Qt/qt_win.h
|
|
$(MOCPATH) -o $@ ../win/Qt/qt_map.h
|
|
qt_menu.moc: $(QTn_H) ../win/Qt/qt_menu.h ../win/Qt/qt_rip.h ../win/Qt/qt_win.h
|
|
$(MOCPATH) -o $@ ../win/Qt/qt_menu.h
|
|
qt_msg.moc: $(QTn_H) ../win/Qt/qt_msg.h ../win/Qt/qt_win.h
|
|
$(MOCPATH) -o $@ ../win/Qt/qt_msg.h
|
|
qt_plsel.moc: $(QTn_H) ../win/Qt/qt_plsel.h
|
|
$(MOCPATH) -o $@ ../win/Qt/qt_plsel.h
|
|
qt_set.moc: $(QTn_H) ../win/Qt/qt_bind.h ../win/Qt/qt_kde0.h \
|
|
../win/Qt/qt_main.h ../win/Qt/qt_set.h
|
|
$(MOCPATH) -o $@ ../win/Qt/qt_set.h
|
|
qt_stat.moc: $(QTn_H) ../win/Qt/qt_icon.h ../win/Qt/qt_stat.h \
|
|
../win/Qt/qt_win.h
|
|
$(MOCPATH) -o $@ ../win/Qt/qt_stat.h
|
|
qt_xcmd.moc: $(QTn_H) ../win/Qt/qt_xcmd.h
|
|
$(MOCPATH) -o $@ ../win/Qt/qt_xcmd.h
|
|
qt_yndlg.moc: $(QTn_H) ../win/Qt/qt_yndlg.h
|
|
$(MOCPATH) -o $@ ../win/Qt/qt_yndlg.h
|
|
# DEPENDENCIES MUST END AT END OF FILE
|
|
# IF YOU PUT STUFF HERE IT WILL GO AWAY
|
|
# see make depend above
|