games/nethack: Added to 12.1 repository
This commit is contained in:
parent
0d24e30cd5
commit
312fe0137e
|
@ -0,0 +1,15 @@
|
|||
NetHack is a rogue-like game.
|
||||
|
||||
This build of NetHack provides the standard console interface as well as the
|
||||
X11 and Qt interfaces.
|
||||
|
||||
The X11 and Qt interfaces as well as the graphical tileset can be enabled via
|
||||
~/.nethackrc and/or ~/.Xdefaults. Menu entries are also provided for desktop
|
||||
enironments that support XDG-style menus.
|
||||
|
||||
In order to save games, have scores listed in the top scores, and write to the
|
||||
nethack logfile, your user must be in the 'games' group.
|
||||
|
||||
Additional documentation is provided at /usr/doc/nethack-3.4.3 and via the
|
||||
nethack manpage.
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
if [ -x /usr/bin/update-desktop-database ]; then
|
||||
/usr/bin/update-desktop-database usr/share/applications >/dev/null 2>&1
|
||||
fi
|
||||
|
|
@ -0,0 +1,97 @@
|
|||
# NetHack Makefile.
|
||||
# SCCS Id: @(#)Makefile.doc 3.4 1996/03/23
|
||||
|
||||
# for Atari
|
||||
# SHELL=E:/GEMINI2/MUPFEL.TTP
|
||||
|
||||
GUIDEBOOK = Guidebook # regular ASCII file
|
||||
#GUIDEBOOK = Guidebook.ps # PostScript file
|
||||
#GUIDEBOOK = Guidebook.dvi # TeX device-independent file
|
||||
|
||||
# Some versions of col need -x to keep them from converting spaces to tabs;
|
||||
# some versions of col don't do the conversion by default and don't
|
||||
# recognize the option. Sigh.
|
||||
COLCMD = col -bx
|
||||
#COLCMD = col -b
|
||||
|
||||
# The command to use to generate a PostScript file
|
||||
# PSCMD = ditroff | psdit
|
||||
PSCMD = groff
|
||||
|
||||
# Use the "cat" GUIDECMD if nroff and/or tbl and/or col are not installed
|
||||
# Not appropriate for creating Guidebook.txt.
|
||||
# GUIDECMD = cat Guidebook.txt
|
||||
# The following works better with groff-1.18, eg on Linux
|
||||
# GUIDECMD = tbl tmac.n Guidebook.mn | nroff -c -Tascii | $(COLCMD)
|
||||
GUIDECMD = tbl tmac.n Guidebook.mn | nroff | $(COLCMD)
|
||||
|
||||
# the basic guidebook
|
||||
Guidebook: Guidebook.mn
|
||||
$(GUIDECMD) > Guidebook
|
||||
|
||||
# Fancier output for those with ditroff, psdit and a PostScript printer.
|
||||
Guidebook.ps: Guidebook.mn
|
||||
tbl tmac.n Guidebook.mn | $(PSCMD) > Guidebook.ps
|
||||
|
||||
# Guidebook.tex is the same as Guidebook.mn but formatted with LaTeX.
|
||||
# - The invocation command for LaTeX may vary in different installations.
|
||||
# - To print Guidebook.dvi you need to use a suitable dvi-driver.
|
||||
Guidebook.dvi: Guidebook.tex
|
||||
latex Guidebook.tex
|
||||
|
||||
|
||||
GAME = nethack
|
||||
MANDIR = /usr/man/man6
|
||||
MANEXT = 6
|
||||
|
||||
# manual installation for most BSD-style systems
|
||||
MANDIRCREATE = mkdir -p $(DESTDIR)/$(MANDIR)
|
||||
GAMEMANCREATE = cp nethack.6
|
||||
LEVMANCREATE = cp lev_comp.6
|
||||
DGNMANCREATE = cp dgn_comp.6
|
||||
RCVRMANCREATE = cp recover.6
|
||||
DLBMANCREATE = cp dlb.6
|
||||
# manual installation for most SYSV-style systems
|
||||
# GAMEMANCREATE = nroff -man nethack.6 >
|
||||
# LEVMANCREATE = nroff -man lev_comp.6 >
|
||||
# DGNMANCREATE = nroff -man dgn_comp.6 >
|
||||
# RCVRMANCREATE = nroff -man recover.6 >
|
||||
# DLBMANCREATE = nroff -man dlb.6 >
|
||||
|
||||
manpages:
|
||||
-$(MANDIRCREATE)
|
||||
-$(GAMEMANCREATE) $(DESTDIR)/$(MANDIR)/$(GAME).$(MANEXT)
|
||||
-$(LEVMANCREATE) $(DESTDIR)/$(MANDIR)/lev_comp.$(MANEXT)
|
||||
-$(DGNMANCREATE) $(DESTDIR)/$(MANDIR)/dgn_comp.$(MANEXT)
|
||||
-$(RCVRMANCREATE) $(DESTDIR)/$(MANDIR)/recover.$(MANEXT)
|
||||
-$(DLBMANCREATE) $(DESTDIR)/$(MANDIR)/dlb.$(MANEXT)
|
||||
|
||||
# manual creation for distribution
|
||||
DISTRIB = Guidebook.txt nethack.txt lev_comp.txt dgn_comp.txt recover.txt dlb.txt
|
||||
|
||||
distrib: $(DISTRIB)
|
||||
@echo "Plain text documentation is up to date."
|
||||
|
||||
Guidebook.txt : Guidebook.mn tmac.n
|
||||
$(GUIDECMD) > Guidebook.txt
|
||||
nethack.txt : nethack.6
|
||||
nroff -man nethack.6 | $(COLCMD) > nethack.txt
|
||||
lev_comp.txt : lev_comp.6
|
||||
nroff -man lev_comp.6 | $(COLCMD) > lev_comp.txt
|
||||
dgn_comp.txt : dgn_comp.6
|
||||
nroff -man dgn_comp.6 | $(COLCMD) > dgn_comp.txt
|
||||
recover.txt : recover.6
|
||||
nroff -man recover.6 | $(COLCMD) > recover.txt
|
||||
dlb.txt : dlb.6
|
||||
nroff -man dlb.6 | $(COLCMD) > dlb.txt
|
||||
|
||||
|
||||
clean:
|
||||
-rm -f Guidebook.aux Guidebook.log
|
||||
|
||||
spotless: clean
|
||||
-rm -f Guidebook Guidebook.ps Guidebook.dvi
|
||||
|
||||
maintainer-clean: spotless
|
||||
-rm -f $(DISTRIB)
|
||||
# -rm -f Makefile
|
|
@ -0,0 +1,816 @@
|
|||
# NetHack Makefile.
|
||||
# SCCS Id: @(#)Makefile.src 3.4 2002/03/02
|
||||
|
||||
# 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
|
||||
|
||||
# Normally, the C compiler driver is used for linking:
|
||||
LINK=$(CC)
|
||||
|
||||
# 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 = ioctl.o unixmain.o unixtty.o unixunix.o 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 = tos.o pcmain.o pcsys.o pctty.o pcunix.o
|
||||
#
|
||||
# for BeOS
|
||||
#SYSSRC = ../sys/be/bemain.c ../sys/share/unixtty.c ../sys/share/ioctl.c
|
||||
#SYSOBJ = bemain.o unixtty.o ioctl.o
|
||||
|
||||
|
||||
# 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
|
||||
#
|
||||
#
|
||||
# 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 -DGCC_WARN
|
||||
|
||||
# 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
|
||||
|
||||
# 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/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_
|
||||
|
||||
# Only used for the Gnome interface.
|
||||
# When including the Gnome interface, you need to include gnome specific
|
||||
# directories. The ones given below is the usual spot for linux systems.
|
||||
# The paths are for glibconfig.h and gnomesupport.h respectively.
|
||||
#
|
||||
GNOMEINC=-I/usr/lib/glib/include -I/usr/lib/gnome-libs/include -I../win/gnome
|
||||
|
||||
# flags for debugging:
|
||||
# CFLAGS = -g -I../include
|
||||
|
||||
CFLAGS = -O -I../include
|
||||
LFLAGS =
|
||||
|
||||
# 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 = $(CFLAGS) -I. -I$(QTDIR)/include
|
||||
CXX=g++
|
||||
#LINK=g++
|
||||
# For cross-compiling, eg. with gcc on Linux (see also CC further up):
|
||||
#CXX=arm-linux-g++
|
||||
#LINK=arm-linux-gcc
|
||||
|
||||
# Set the WINSRC, WINOBJ, and WINLIB lines to correspond to your desired
|
||||
# combination of windowing systems. Also set windowing systems in config.h.
|
||||
# Note that if you are including multiple tiled window systems, you don't
|
||||
# want two copies of tile.o, so comment out all but the first.
|
||||
#
|
||||
# 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 = getline.o termcap.o topl.o wintty.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 = Window.o dialogs.o winX.o winmap.o winmenu.o winmesg.o \
|
||||
winmisc.o winstat.o wintext.o winval.o tile.o
|
||||
#
|
||||
# Files for a Qt port
|
||||
#
|
||||
WINQTSRC = ../win/Qt/qt_win.cpp ../win/Qt/qt_clust.cpp ../win/Qt/qttableview.cpp
|
||||
# WINQTOBJ = qt_win.o qt_clust.o qttableview.o tile.o
|
||||
WINQTOBJ = qt_win.o qt_clust.o qttableview.o
|
||||
#
|
||||
# Files for a Gnome port
|
||||
#
|
||||
WINGNOMESRC = ../win/gnome/gnaskstr.c ../win/gnome/gnbind.c \
|
||||
../win/gnome/gnglyph.c ../win/gnome/gnmain.c ../win/gnome/gnmap.c \
|
||||
../win/gnome/gnmenu.c ../win/gnome/gnmesg.c ../win/gnome/gnopts.c \
|
||||
../win/gnome/gnplayer.c ../win/gnome/gnsignal.c \
|
||||
../win/gnome/gnstatus.c ../win/gnome/gntext.c ../win/gnome/gnyesno.c \
|
||||
../win/gnome/gnworn.c
|
||||
WINGNOMEOBJ = gnaskstr.o gnbind.o gnglyph.o gnmain.o gnmap.o gnmenu.o \
|
||||
gnmesg.o gnopts.o gnplayer.o gnsignal.o gnstatus.o gntext.o \
|
||||
gnyesno.o gnworn.o tile.o
|
||||
#
|
||||
# Files for a Gem port
|
||||
WINGEMSRC = ../win/gem/wingem.c ../win/gem/wingem1.c ../win/gem/load_img.c \
|
||||
../win/gem/gr_rect.c tile.c
|
||||
WINGEMOBJ = wingem.o wingem1.o load_img.o gr_rect.o tile.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 = winbe.o NHWindow.o NHMenuWindow.o NHMapWindow.o tile.o
|
||||
|
||||
#
|
||||
#
|
||||
WINSRC = $(WINTTYSRC) $(WINX11SRC) $(WINQTSRC) $(WINKDESRC)
|
||||
WINOBJ = $(WINTTYOBJ) $(WINX11OBJ) $(WINQTOBJ) $(WINKDEOBJ)
|
||||
|
||||
# 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
|
||||
WINX11LIB = -lXaw -lXmu -lXext -lXt -lXpm -lX11
|
||||
#
|
||||
# libraries for Qt
|
||||
WINQTLIB = -L$(QTDIR)/lib -lqt-mt
|
||||
#
|
||||
# libraries for KDE (with Qt)
|
||||
WINKDELIB = -lkdecore -lkdeui -lXext
|
||||
#
|
||||
# libraries for Gnome
|
||||
WINGNOMELIB = -lgnomeui -lgnome -lart_lgpl -lgtk -lgdk -lpopt
|
||||
#
|
||||
# libraries for Gem port
|
||||
WINGEMLIB = -le_gem -lgem
|
||||
#
|
||||
# libraries for BeOS
|
||||
WINBELIB = -lbe
|
||||
|
||||
WINLIB = $(WINTTYLIB) $(WINX11LIB) $(WINQTLIB) $(WINKDELIB)
|
||||
|
||||
# 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
|
||||
#
|
||||
LIBS =
|
||||
|
||||
# make NetHack
|
||||
GAME = nethack
|
||||
# GAME = nethack.prg
|
||||
|
||||
# if you defined RANDOM in unixconf.h/tosconf.h since your system did not come
|
||||
# with a reasonable random number generator
|
||||
# RANDOBJ = random.o
|
||||
RANDOBJ =
|
||||
|
||||
|
||||
# used by `make depend' to reconstruct this Makefile; you shouldn't need this
|
||||
AWK = gawk
|
||||
|
||||
# ----------------------------------------
|
||||
#
|
||||
# Nothing below this line should have to be changed.
|
||||
#
|
||||
# Other things that have to be reconfigured are in config.h,
|
||||
# {unixconf.h, pcconf.h, tosconf.h}, and possibly system.h
|
||||
|
||||
MAKEDEFS = ../util/makedefs
|
||||
|
||||
# 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
|
||||
HACKCSRC = allmain.c alloc.c apply.c artifact.c attrib.c ball.c bones.c \
|
||||
botl.c cmd.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 invent.c light.c lock.c \
|
||||
mail.c makemon.c mapglyph.c mcastu.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 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 restore.c rip.c \
|
||||
rnd.c role.c rumors.c save.c shk.c shknam.c sit.c sounds.c sp_lev.c \
|
||||
spell.c steal.c steed.c teleport.c timeout.c topten.c track.c trap.c \
|
||||
u_init.c uhitm.c vault.c version.c vision.c weapon.c were.c wield.c \
|
||||
windows.c wizard.c worm.c worn.c write.c zap.c
|
||||
|
||||
# all operating-system-dependent .c (for dependencies and such)
|
||||
SYSCSRC = ../sys/atari/tos.c ../sys/share/pcmain.c ../sys/share/pcsys.c \
|
||||
../sys/share/pctty.c ../sys/share/pcunix.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 ../sys/be/bemain.c
|
||||
|
||||
# generated source files (tile.c is handled separately via WINxxxSRC)
|
||||
GENCSRC = monstr.c vis_tab.c #tile.c
|
||||
|
||||
# all windowing-system-dependent .c (for dependencies and such)
|
||||
WINCSRC = $(WINTTYSRC) $(WINX11SRC) $(WINGNOMESRC) $(WINGEMSRC)
|
||||
# all windowing-system-dependent .cpp (for dependencies and such)
|
||||
WINCXXSRC = $(WINQTSRC) $(WINBESRC)
|
||||
|
||||
# .c files for this version (for date.h)
|
||||
VERSOURCES = $(HACKCSRC) $(SYSSRC) $(WINSRC) $(GENCSRC)
|
||||
|
||||
# .c files for all versions using this Makefile (for lint and tags)
|
||||
CSOURCES = $(HACKCSRC) $(SYSSRC) $(WINCSRC) $(GENCSRC)
|
||||
|
||||
|
||||
# all .h files except date.h, onames.h, pm.h, and vis_tab.h which would
|
||||
# cause dependency loops if run through "make depend"
|
||||
# and dgn_comp.h, dgn_file.h, lev_comp.h, special level & dungeon files.
|
||||
#
|
||||
HACKINCL = align.h amiconf.h artifact.h artilist.h attrib.h beconf.h color.h \
|
||||
config.h config1.h coord.h decl.h def_os2.h display.h dlb.h dungeon.h \
|
||||
edog.h emin.h engrave.h epri.h eshk.h extern.h flag.h func_tab.h \
|
||||
global.h hack.h lev.h macconf.h mfndpos.h micro.h mkroom.h \
|
||||
monattk.h mondata.h monflag.h monst.h monsym.h obj.h objclass.h \
|
||||
os2conf.h patchlevel.h pcconf.h permonst.h prop.h rect.h region.h rm.h \
|
||||
sp_lev.h spell.h system.h tcap.h timeout.h tosconf.h tradstdc.h \
|
||||
trampoli.h trap.h unixconf.h vault.h vision.h vmsconf.h wintty.h \
|
||||
winX.h winprocs.h wintype.h you.h youprop.h
|
||||
|
||||
HSOURCES = $(HACKINCL) date.h onames.h pm.h vis_tab.h\
|
||||
lev_comp.h dgn_comp.h dgn_file.h
|
||||
|
||||
# the following .o's _must_ be made before any others (for makedefs)
|
||||
FIRSTOBJ = monst.o objects.o
|
||||
|
||||
HOBJ = $(FIRSTOBJ) allmain.o alloc.o apply.o artifact.o attrib.o ball.o \
|
||||
bones.o botl.o cmd.o dbridge.o decl.o detect.o dig.o display.o dlb.o \
|
||||
do.o do_name.o do_wear.o dog.o dogmove.o dokick.o dothrow.o \
|
||||
drawing.o dungeon.o eat.o end.o engrave.o exper.o explode.o \
|
||||
extralev.o files.o fountain.o hack.o hacklib.o invent.o light.o \
|
||||
lock.o mail.o makemon.o mapglyph.o mcastu.o mhitm.o mhitu.o \
|
||||
minion.o mklev.o mkmap.o \
|
||||
mkmaze.o mkobj.o mkroom.o mon.o mondata.o monmove.o monstr.o \
|
||||
mplayer.o mthrowu.o muse.o music.o o_init.o objnam.o options.o \
|
||||
pager.o pickup.o pline.o polyself.o potion.o pray.o priest.o \
|
||||
quest.o questpgr.o read.o rect.o region.o restore.o rip.o rnd.o \
|
||||
role.o rumors.o save.o shk.o shknam.o sit.o sounds.o sp_lev.o spell.o \
|
||||
steal.o steed.o teleport.o timeout.o topten.o track.o trap.o u_init.o \
|
||||
uhitm.o vault.o vision.o vis_tab.o weapon.o were.o wield.o windows.o \
|
||||
wizard.o worm.o worn.o write.o zap.o \
|
||||
$(RANDOBJ) $(SYSOBJ) $(WINOBJ) version.o
|
||||
# the .o files from the HACKCSRC, SYSSRC, and WINSRC lists
|
||||
|
||||
$(GAME): $(SYSTEM)
|
||||
@echo "$(GAME) is up to date."
|
||||
|
||||
Sysunix: $(HOBJ) Makefile
|
||||
@echo "Loading ..."
|
||||
$(LINK) $(LFLAGS) -o $(GAME) $(HOBJ) $(WINLIB) $(LIBS)
|
||||
@touch Sysunix
|
||||
|
||||
Sys3B2: $(HOBJ) Makefile
|
||||
@echo "Loading ..."
|
||||
@$(LINK) $(LFLAGS) -o $(GAME) $(HOBJ) $(WINLIB) -lmalloc
|
||||
@touch Sys3B2
|
||||
|
||||
Sysatt: $(HOBJ) Makefile
|
||||
@echo "Loading ..."
|
||||
@$(LD) $(LFLAGS) /lib/crt0s.o /lib/shlib.ifile -o $(GAME) $(HOBJ)
|
||||
@touch Sysatt
|
||||
|
||||
Systos: $(HOBJ) Makefile
|
||||
@echo "Loading ..."
|
||||
@$(LINK) $(LFLAGS) -o $(GAME) $(HOBJ) $(WINLIB)
|
||||
@touch Systos
|
||||
|
||||
SysV-AT: DUMB.Setup $(HOBJ) Makefile
|
||||
@echo "Loading ..."
|
||||
@$(LINK) $(LFLAGS) -o $(GAME) $(HOBJ) $(WINLIB)
|
||||
@touch SysV-AT
|
||||
|
||||
SysBe: $(HOBJ) Makefile
|
||||
@echo "Loading ..."
|
||||
@$(LINK) $(LFLAGS) -o $(GAME) $(HOBJ) $(WINLIB) $(LIBS)
|
||||
@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
|
||||
|
||||
all: $(GAME)
|
||||
|
||||
|
||||
# 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) -c monst.c
|
||||
@rm -f $(MAKEDEFS)
|
||||
|
||||
objects.o:
|
||||
$(CC) $(CFLAGS) -c objects.c
|
||||
@rm -f $(MAKEDEFS)
|
||||
|
||||
# Qt windowport meta-object-compiler output
|
||||
qt_kde0.moc: ../include/qt_kde0.h
|
||||
$(QTDIR)/bin/moc -o qt_kde0.moc ../include/qt_kde0.h
|
||||
|
||||
qt_win.moc: ../include/qt_win.h
|
||||
$(QTDIR)/bin/moc -o qt_win.moc ../include/qt_win.h
|
||||
|
||||
qttableview.moc: ../include/qttableview.h
|
||||
$(QTDIR)/bin/moc -o qttableview.moc ../include/qttableview.h
|
||||
|
||||
$(MAKEDEFS): ../util/makedefs.c $(CONFIG_H) ../include/permonst.h \
|
||||
../include/objclass.h ../include/monsym.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 ../include/qtext.h
|
||||
@( cd ../util ; $(MAKE) makedefs)
|
||||
|
||||
../include/onames.h: $(MAKEDEFS)
|
||||
@( cd ../util ; $(MAKE) ../include/onames.h )
|
||||
../include/pm.h: $(MAKEDEFS)
|
||||
@( cd ../util ; $(MAKE) ../include/pm.h )
|
||||
monstr.c: $(MAKEDEFS)
|
||||
@( cd ../util ; $(MAKE) ../src/monstr.c )
|
||||
../include/vis_tab.h: $(MAKEDEFS)
|
||||
@( cd ../util ; $(MAKE) ../include/vis_tab.h )
|
||||
# makedefs -z makes both vis_tab.h and vis_tab.c, but writes the .h first
|
||||
vis_tab.c: ../include/vis_tab.h
|
||||
tile.c: ../win/share/tilemap.c $(HACK_H)
|
||||
@( cd ../util ; $(MAKE) ../src/tile.c )
|
||||
|
||||
../win/gnome/gn_rip.h: ../win/X11/rip.xpm
|
||||
cp ../win/X11/rip.xpm ../win/gnome/gn_rip.h
|
||||
|
||||
# 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.
|
||||
#
|
||||
# hack.h depends on makedefs' output, so we know makedefs will be
|
||||
# up to date before being executed
|
||||
../include/date.h: $(VERSOURCES) $(HACK_H)
|
||||
../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)
|
||||
|
||||
spotless: clean
|
||||
-rm -f a.out core $(GAME) Sys*
|
||||
-rm -f ../include/date.h ../include/onames.h ../include/pm.h
|
||||
-rm -f monstr.c ../include/vis_tab.h vis_tab.c tile.c *.moc
|
||||
-rm -f ../win/gnome/gn_rip.h
|
||||
|
||||
|
||||
depend: ../sys/unix/depend.awk \
|
||||
$(SYSCSRC) $(WINCSRC) $(WINCXXSRC) $(GENCSRC) $(HACKCSRC)
|
||||
$(AWK) -f ../sys/unix/depend.awk ../include/*.h \
|
||||
$(SYSCSRC) $(WINCSRC) $(WINCXXSRC) $(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 Makefile.bak
|
||||
ed - Makefile < eddep
|
||||
@rm -f eddep makedep
|
||||
@echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
|
||||
@echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
|
||||
@echo '# see make depend above' >> Makefile
|
||||
- diff Makefile.bak Makefile
|
||||
@rm -f Makefile.bak
|
||||
|
||||
# DO NOT DELETE THIS LINE OR CHANGE ANYTHING BEYOND IT
|
||||
|
||||
# config.h timestamp
|
||||
$(CONFIG_H): ../include/config.h ../include/config1.h ../include/tradstdc.h \
|
||||
../include/global.h ../include/coord.h ../include/vmsconf.h \
|
||||
../include/system.h ../include/unixconf.h ../include/os2conf.h \
|
||||
../include/micro.h ../include/pcconf.h ../include/tosconf.h \
|
||||
../include/amiconf.h ../include/macconf.h ../include/beconf.h \
|
||||
../include/wceconf.h ../include/ntconf.h ../include/nhlan.h
|
||||
touch $(CONFIG_H)
|
||||
# hack.h timestamp
|
||||
$(HACK_H): ../include/hack.h $(CONFIG_H) ../include/align.h \
|
||||
../include/dungeon.h ../include/monsym.h ../include/mkroom.h \
|
||||
../include/objclass.h ../include/youprop.h ../include/prop.h \
|
||||
../include/permonst.h ../include/monattk.h \
|
||||
../include/monflag.h ../include/mondata.h ../include/pm.h \
|
||||
../include/wintype.h ../include/decl.h ../include/quest.h \
|
||||
../include/spell.h ../include/color.h ../include/obj.h \
|
||||
../include/you.h ../include/attrib.h ../include/monst.h \
|
||||
../include/skills.h ../include/onames.h ../include/timeout.h \
|
||||
../include/trap.h ../include/flag.h ../include/rm.h \
|
||||
../include/vision.h ../include/display.h ../include/engrave.h \
|
||||
../include/rect.h ../include/region.h ../include/winprocs.h \
|
||||
../include/wintty.h ../include/trampoli.h
|
||||
touch $(HACK_H)
|
||||
#
|
||||
tos.o: ../sys/atari/tos.c $(HACK_H) ../include/tcap.h
|
||||
$(CC) $(CFLAGS) -c ../sys/atari/tos.c
|
||||
pcmain.o: ../sys/share/pcmain.c $(HACK_H) ../include/dlb.h \
|
||||
#../include/win32api.h
|
||||
$(CC) $(CFLAGS) -c ../sys/share/pcmain.c
|
||||
pcsys.o: ../sys/share/pcsys.c $(HACK_H)
|
||||
$(CC) $(CFLAGS) -c ../sys/share/pcsys.c
|
||||
pctty.o: ../sys/share/pctty.c $(HACK_H)
|
||||
$(CC) $(CFLAGS) -c ../sys/share/pctty.c
|
||||
pcunix.o: ../sys/share/pcunix.c $(HACK_H)
|
||||
$(CC) $(CFLAGS) -c ../sys/share/pcunix.c
|
||||
random.o: ../sys/share/random.c $(HACK_H)
|
||||
$(CC) $(CFLAGS) -c ../sys/share/random.c
|
||||
ioctl.o: ../sys/share/ioctl.c $(HACK_H) ../include/tcap.h
|
||||
$(CC) $(CFLAGS) -c ../sys/share/ioctl.c
|
||||
unixtty.o: ../sys/share/unixtty.c $(HACK_H)
|
||||
$(CC) $(CFLAGS) -c ../sys/share/unixtty.c
|
||||
unixmain.o: ../sys/unix/unixmain.c $(HACK_H) ../include/dlb.h
|
||||
$(CC) $(CFLAGS) -c ../sys/unix/unixmain.c
|
||||
unixunix.o: ../sys/unix/unixunix.c $(HACK_H)
|
||||
$(CC) $(CFLAGS) -c ../sys/unix/unixunix.c
|
||||
unixres.o: ../sys/unix/unixres.c $(CONFIG_H)
|
||||
$(CC) $(CFLAGS) -c ../sys/unix/unixres.c
|
||||
bemain.o: ../sys/be/bemain.c $(HACK_H) ../include/dlb.h
|
||||
$(CC) $(CFLAGS) -c ../sys/be/bemain.c
|
||||
getline.o: ../win/tty/getline.c $(HACK_H) ../include/func_tab.h
|
||||
$(CC) $(CFLAGS) -c ../win/tty/getline.c
|
||||
termcap.o: ../win/tty/termcap.c $(HACK_H) ../include/tcap.h
|
||||
$(CC) $(CFLAGS) -c ../win/tty/termcap.c
|
||||
topl.o: ../win/tty/topl.c $(HACK_H) ../include/tcap.h
|
||||
$(CC) $(CFLAGS) -c ../win/tty/topl.c
|
||||
wintty.o: ../win/tty/wintty.c $(HACK_H) ../include/dlb.h \
|
||||
../include/patchlevel.h ../include/tcap.h
|
||||
$(CC) $(CFLAGS) -c ../win/tty/wintty.c
|
||||
Window.o: ../win/X11/Window.c ../include/xwindowp.h ../include/xwindow.h \
|
||||
$(CONFIG_H)
|
||||
$(CC) $(CFLAGS) -c ../win/X11/Window.c
|
||||
dialogs.o: ../win/X11/dialogs.c $(CONFIG_H)
|
||||
$(CC) $(CFLAGS) -c ../win/X11/dialogs.c
|
||||
winX.o: ../win/X11/winX.c $(HACK_H) ../include/winX.h ../include/dlb.h \
|
||||
../include/patchlevel.h ../win/X11/nh72icon \
|
||||
../win/X11/nh56icon ../win/X11/nh32icon
|
||||
$(CC) $(CFLAGS) -c ../win/X11/winX.c
|
||||
winmap.o: ../win/X11/winmap.c ../include/xwindow.h $(HACK_H) ../include/dlb.h \
|
||||
../include/winX.h ../include/tile2x11.h
|
||||
$(CC) $(CFLAGS) -c ../win/X11/winmap.c
|
||||
winmenu.o: ../win/X11/winmenu.c $(HACK_H) ../include/winX.h
|
||||
$(CC) $(CFLAGS) -c ../win/X11/winmenu.c
|
||||
winmesg.o: ../win/X11/winmesg.c ../include/xwindow.h $(HACK_H) ../include/winX.h
|
||||
$(CC) $(CFLAGS) -c ../win/X11/winmesg.c
|
||||
winmisc.o: ../win/X11/winmisc.c $(HACK_H) ../include/func_tab.h \
|
||||
../include/winX.h
|
||||
$(CC) $(CFLAGS) -c ../win/X11/winmisc.c
|
||||
winstat.o: ../win/X11/winstat.c $(HACK_H) ../include/winX.h
|
||||
$(CC) $(CFLAGS) -c ../win/X11/winstat.c
|
||||
wintext.o: ../win/X11/wintext.c $(HACK_H) ../include/winX.h ../include/xwindow.h
|
||||
$(CC) $(CFLAGS) -c ../win/X11/wintext.c
|
||||
winval.o: ../win/X11/winval.c $(HACK_H) ../include/winX.h
|
||||
$(CC) $(CFLAGS) -c ../win/X11/winval.c
|
||||
tile.o: tile.c $(HACK_H)
|
||||
gnaskstr.o: ../win/gnome/gnaskstr.c ../win/gnome/gnaskstr.h \
|
||||
../win/gnome/gnmain.h
|
||||
$(CC) $(CFLAGS) $(GNOMEINC) -c ../win/gnome/gnaskstr.c
|
||||
gnbind.o: ../win/gnome/gnbind.c ../win/gnome/gnbind.h ../win/gnome/gnmain.h \
|
||||
../win/gnome/gnmenu.h ../win/gnome/gnaskstr.h \
|
||||
../win/gnome/gnyesno.h
|
||||
$(CC) $(CFLAGS) $(GNOMEINC) -c ../win/gnome/gnbind.c
|
||||
gnglyph.o: ../win/gnome/gnglyph.c ../win/gnome/gnglyph.h ../include/tile2x11.h
|
||||
$(CC) $(CFLAGS) $(GNOMEINC) -c ../win/gnome/gnglyph.c
|
||||
gnmain.o: ../win/gnome/gnmain.c ../win/gnome/gnmain.h ../win/gnome/gnsignal.h \
|
||||
../win/gnome/gnbind.h ../win/gnome/gnopts.h $(HACK_H) \
|
||||
../include/date.h
|
||||
$(CC) $(CFLAGS) $(GNOMEINC) -c ../win/gnome/gnmain.c
|
||||
gnmap.o: ../win/gnome/gnmap.c ../win/gnome/gnmap.h ../win/gnome/gnglyph.h \
|
||||
../win/gnome/gnsignal.h $(HACK_H)
|
||||
$(CC) $(CFLAGS) $(GNOMEINC) -c ../win/gnome/gnmap.c
|
||||
gnmenu.o: ../win/gnome/gnmenu.c ../win/gnome/gnmenu.h ../win/gnome/gnmain.h \
|
||||
../win/gnome/gnbind.h ../include/func_tab.h
|
||||
$(CC) $(CFLAGS) $(GNOMEINC) -c ../win/gnome/gnmenu.c
|
||||
gnmesg.o: ../win/gnome/gnmesg.c ../win/gnome/gnmesg.h ../win/gnome/gnsignal.h
|
||||
$(CC) $(CFLAGS) $(GNOMEINC) -c ../win/gnome/gnmesg.c
|
||||
gnopts.o: ../win/gnome/gnopts.c ../win/gnome/gnopts.h ../win/gnome/gnglyph.h \
|
||||
../win/gnome/gnmain.h ../win/gnome/gnmap.h $(HACK_H)
|
||||
$(CC) $(CFLAGS) $(GNOMEINC) -c ../win/gnome/gnopts.c
|
||||
gnplayer.o: ../win/gnome/gnplayer.c ../win/gnome/gnplayer.h \
|
||||
../win/gnome/gnmain.h $(HACK_H)
|
||||
$(CC) $(CFLAGS) $(GNOMEINC) -c ../win/gnome/gnplayer.c
|
||||
gnsignal.o: ../win/gnome/gnsignal.c ../win/gnome/gnsignal.h \
|
||||
../win/gnome/gnmain.h
|
||||
$(CC) $(CFLAGS) $(GNOMEINC) -c ../win/gnome/gnsignal.c
|
||||
gnstatus.o: ../win/gnome/gnstatus.c ../win/gnome/gnstatus.h \
|
||||
../win/gnome/gnsignal.h ../win/gnome/gn_xpms.h \
|
||||
../win/gnome/gnomeprv.h
|
||||
$(CC) $(CFLAGS) $(GNOMEINC) -c ../win/gnome/gnstatus.c
|
||||
gntext.o: ../win/gnome/gntext.c ../win/gnome/gntext.h ../win/gnome/gnmain.h \
|
||||
../win/gnome/gn_rip.h
|
||||
$(CC) $(CFLAGS) $(GNOMEINC) -c ../win/gnome/gntext.c
|
||||
gnyesno.o: ../win/gnome/gnyesno.c ../win/gnome/gnbind.h ../win/gnome/gnyesno.h
|
||||
$(CC) $(CFLAGS) $(GNOMEINC) -c ../win/gnome/gnyesno.c
|
||||
gnworn.o: ../win/gnome/gnworn.c ../win/gnome/gnworn.h ../win/gnome/gnglyph.h \
|
||||
../win/gnome/gnsignal.h ../win/gnome/gnomeprv.h
|
||||
$(CC) $(CFLAGS) $(GNOMEINC) -c ../win/gnome/gnworn.c
|
||||
wingem.o: ../win/gem/wingem.c $(HACK_H) ../include/func_tab.h ../include/dlb.h \
|
||||
../include/patchlevel.h ../include/wingem.h
|
||||
$(CC) $(CFLAGS) -c ../win/gem/wingem.c
|
||||
wingem1.o: ../win/gem/wingem1.c ../include/gem_rsc.h ../include/load_img.h \
|
||||
../include/gr_rect.h ../include/wintype.h ../include/wingem.h
|
||||
$(CC) $(CFLAGS) -c ../win/gem/wingem1.c
|
||||
load_img.o: ../win/gem/load_img.c ../include/load_img.h
|
||||
$(CC) $(CFLAGS) -c ../win/gem/load_img.c
|
||||
gr_rect.o: ../win/gem/gr_rect.c ../include/gr_rect.h
|
||||
$(CC) $(CFLAGS) -c ../win/gem/gr_rect.c
|
||||
tile.o: tile.c $(HACK_H)
|
||||
qt_win.o: ../win/Qt/qt_win.cpp $(HACK_H) ../include/func_tab.h \
|
||||
../include/dlb.h ../include/patchlevel.h ../include/tile2x11.h \
|
||||
../include/qt_win.h ../include/qt_clust.h ../include/qt_kde0.h \
|
||||
../include/qt_xpms.h qt_win.moc qt_kde0.moc qttableview.moc
|
||||
$(CXX) $(CXXFLAGS) -c ../win/Qt/qt_win.cpp
|
||||
qt_clust.o: ../win/Qt/qt_clust.cpp ../include/qt_clust.h
|
||||
$(CXX) $(CXXFLAGS) -c ../win/Qt/qt_clust.cpp
|
||||
qttableview.o: ../win/Qt/qttableview.cpp ../include/qttableview.h
|
||||
$(CXX) $(CXXFLAGS) -c ../win/Qt/qttableview.cpp
|
||||
monstr.o: monstr.c $(CONFIG_H)
|
||||
vis_tab.o: vis_tab.c $(CONFIG_H) ../include/vis_tab.h
|
||||
allmain.o: allmain.c $(HACK_H)
|
||||
alloc.o: alloc.c $(CONFIG_H)
|
||||
apply.o: apply.c $(HACK_H) ../include/edog.h
|
||||
artifact.o: artifact.c $(HACK_H) ../include/artifact.h ../include/artilist.h
|
||||
attrib.o: attrib.c $(HACK_H)
|
||||
ball.o: ball.c $(HACK_H)
|
||||
bones.o: bones.c $(HACK_H) ../include/lev.h
|
||||
botl.o: botl.c $(HACK_H)
|
||||
cmd.o: cmd.c $(HACK_H) ../include/func_tab.h
|
||||
dbridge.o: dbridge.c $(HACK_H)
|
||||
decl.o: decl.c $(HACK_H)
|
||||
detect.o: detect.c $(HACK_H) ../include/artifact.h
|
||||
dig.o: dig.c $(HACK_H) ../include/edog.h
|
||||
display.o: display.c $(HACK_H)
|
||||
dlb.o: dlb.c $(CONFIG_H) ../include/dlb.h
|
||||
do.o: do.c $(HACK_H) ../include/lev.h
|
||||
do_name.o: do_name.c $(HACK_H)
|
||||
do_wear.o: do_wear.c $(HACK_H)
|
||||
dog.o: dog.c $(HACK_H) ../include/edog.h
|
||||
dogmove.o: dogmove.c $(HACK_H) ../include/mfndpos.h ../include/edog.h
|
||||
dokick.o: dokick.c $(HACK_H) ../include/eshk.h
|
||||
dothrow.o: dothrow.c $(HACK_H) ../include/edog.h
|
||||
drawing.o: drawing.c $(HACK_H) ../include/tcap.h
|
||||
dungeon.o: dungeon.c $(HACK_H) ../include/dgn_file.h ../include/dlb.h
|
||||
eat.o: eat.c $(HACK_H)
|
||||
end.o: end.c $(HACK_H) ../include/eshk.h ../include/dlb.h
|
||||
engrave.o: engrave.c $(HACK_H) ../include/lev.h
|
||||
exper.o: exper.c $(HACK_H)
|
||||
explode.o: explode.c $(HACK_H)
|
||||
extralev.o: extralev.c $(HACK_H)
|
||||
files.o: files.c $(HACK_H) ../include/dlb.h
|
||||
fountain.o: fountain.c $(HACK_H)
|
||||
hack.o: hack.c $(HACK_H)
|
||||
hacklib.o: hacklib.c $(HACK_H)
|
||||
invent.o: invent.c $(HACK_H)
|
||||
light.o: light.c $(HACK_H) ../include/lev.h
|
||||
lock.o: lock.c $(HACK_H)
|
||||
mail.o: mail.c $(HACK_H) ../include/mail.h
|
||||
makemon.o: makemon.c $(HACK_H) ../include/epri.h ../include/emin.h \
|
||||
../include/edog.h
|
||||
mapglyph.o: mapglyph.c $(HACK_H)
|
||||
mcastu.o: mcastu.c $(HACK_H)
|
||||
mhitm.o: mhitm.c $(HACK_H) ../include/artifact.h ../include/edog.h
|
||||
mhitu.o: mhitu.c $(HACK_H) ../include/artifact.h ../include/edog.h
|
||||
minion.o: minion.c $(HACK_H) ../include/emin.h ../include/epri.h
|
||||
mklev.o: mklev.c $(HACK_H)
|
||||
mkmap.o: mkmap.c $(HACK_H) ../include/sp_lev.h
|
||||
mkmaze.o: mkmaze.c $(HACK_H) ../include/sp_lev.h ../include/lev.h
|
||||
mkobj.o: mkobj.c $(HACK_H)
|
||||
mkroom.o: mkroom.c $(HACK_H)
|
||||
mon.o: mon.c $(HACK_H) ../include/mfndpos.h ../include/edog.h
|
||||
mondata.o: mondata.c $(HACK_H) ../include/eshk.h ../include/epri.h
|
||||
monmove.o: monmove.c $(HACK_H) ../include/mfndpos.h ../include/artifact.h \
|
||||
../include/epri.h
|
||||
monst.o: monst.c $(CONFIG_H) ../include/permonst.h ../include/align.h \
|
||||
../include/monattk.h ../include/monflag.h ../include/monsym.h \
|
||||
../include/dungeon.h ../include/eshk.h ../include/vault.h \
|
||||
../include/epri.h ../include/color.h
|
||||
mplayer.o: mplayer.c $(HACK_H)
|
||||
mthrowu.o: mthrowu.c $(HACK_H)
|
||||
muse.o: muse.c $(HACK_H) ../include/edog.h
|
||||
music.o: music.c $(HACK_H) #interp.c
|
||||
o_init.o: o_init.c $(HACK_H) ../include/lev.h
|
||||
objects.o: objects.c $(CONFIG_H) ../include/obj.h ../include/objclass.h \
|
||||
../include/prop.h ../include/skills.h ../include/color.h
|
||||
objnam.o: objnam.c $(HACK_H)
|
||||
options.o: options.c $(CONFIG_H) ../include/objclass.h ../include/flag.h \
|
||||
$(HACK_H) ../include/tcap.h
|
||||
pager.o: pager.c $(HACK_H) ../include/dlb.h
|
||||
pickup.o: pickup.c $(HACK_H)
|
||||
pline.o: pline.c $(HACK_H) ../include/epri.h ../include/edog.h
|
||||
polyself.o: polyself.c $(HACK_H)
|
||||
potion.o: potion.c $(HACK_H)
|
||||
pray.o: pray.c $(HACK_H) ../include/epri.h
|
||||
priest.o: priest.c $(HACK_H) ../include/mfndpos.h ../include/eshk.h \
|
||||
../include/epri.h ../include/emin.h
|
||||
quest.o: quest.c $(HACK_H) ../include/qtext.h
|
||||
questpgr.o: questpgr.c $(HACK_H) ../include/dlb.h ../include/qtext.h
|
||||
read.o: read.c $(HACK_H)
|
||||
rect.o: rect.c $(HACK_H)
|
||||
region.o: region.c $(HACK_H) ../include/lev.h
|
||||
restore.o: restore.c $(HACK_H) ../include/lev.h ../include/tcap.h
|
||||
rip.o: rip.c $(HACK_H)
|
||||
rnd.o: rnd.c $(HACK_H)
|
||||
role.o: role.c $(HACK_H)
|
||||
rumors.o: rumors.c $(HACK_H) ../include/lev.h ../include/dlb.h
|
||||
save.o: save.c $(HACK_H) ../include/lev.h
|
||||
shk.o: shk.c $(HACK_H) ../include/eshk.h
|
||||
shknam.o: shknam.c $(HACK_H) ../include/eshk.h
|
||||
sit.o: sit.c $(HACK_H) ../include/artifact.h
|
||||
sounds.o: sounds.c $(HACK_H) ../include/edog.h
|
||||
sp_lev.o: sp_lev.c $(HACK_H) ../include/dlb.h ../include/sp_lev.h
|
||||
spell.o: spell.c $(HACK_H)
|
||||
steal.o: steal.c $(HACK_H)
|
||||
steed.o: steed.c $(HACK_H)
|
||||
teleport.o: teleport.c $(HACK_H)
|
||||
timeout.o: timeout.c $(HACK_H) ../include/lev.h
|
||||
topten.o: topten.c $(HACK_H) ../include/dlb.h ../include/patchlevel.h
|
||||
track.o: track.c $(HACK_H)
|
||||
trap.o: trap.c $(HACK_H)
|
||||
u_init.o: u_init.c $(HACK_H)
|
||||
uhitm.o: uhitm.c $(HACK_H)
|
||||
vault.o: vault.c $(HACK_H) ../include/vault.h
|
||||
version.o: version.c $(HACK_H) ../include/date.h ../include/patchlevel.h
|
||||
vision.o: vision.c $(HACK_H) ../include/vis_tab.h
|
||||
weapon.o: weapon.c $(HACK_H)
|
||||
were.o: were.c $(HACK_H)
|
||||
wield.o: wield.c $(HACK_H)
|
||||
windows.o: windows.c $(HACK_H) ../include/wingem.h ../include/winGnome.h
|
||||
wizard.o: wizard.c $(HACK_H) ../include/qtext.h ../include/epri.h
|
||||
worm.o: worm.c $(HACK_H) ../include/lev.h
|
||||
worn.o: worn.c $(HACK_H)
|
||||
write.o: write.c $(HACK_H)
|
||||
zap.o: zap.c $(HACK_H)
|
||||
# DEPENDENCIES MUST END AT END OF FILE
|
||||
# IF YOU PUT STUFF HERE IT WILL GO AWAY
|
||||
# see make depend above
|
|
@ -0,0 +1,266 @@
|
|||
# NetHack Makefile.
|
||||
# SCCS Id: @(#)Makefile.top 3.4 1995/01/05
|
||||
|
||||
# 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 unable to
|
||||
# execute things like 'data' and 'rumors')
|
||||
# MAKE = make
|
||||
|
||||
# make NetHack
|
||||
PREFIX = /usr
|
||||
GAME = nethack
|
||||
# GAME = nethack.prg
|
||||
GAMEUID = root
|
||||
GAMEGRP = games
|
||||
|
||||
# Permissions - some places use setgid instead of setuid, for instance
|
||||
# See also the option "SECURE" in include/config.h
|
||||
GAMEPERM = 02755
|
||||
FILEPERM = 0664
|
||||
EXEPERM = 0755
|
||||
DIRPERM = 0775
|
||||
|
||||
# GAMEDIR also appears in config.h as "HACKDIR".
|
||||
# VARDIR may also appear in unixconf.h as "VAR_PLAYGROUND" else GAMEDIR
|
||||
#
|
||||
# note that 'make install' believes in creating a nice tidy GAMEDIR for
|
||||
# installation, free of debris from previous NetHack versions --
|
||||
# therefore there should not be anything in GAMEDIR that you want to keep
|
||||
# (if there is, you'll have to do the installation by hand or modify the
|
||||
# instructions)
|
||||
GAMEDIR = $(PREFIX)/share/games/nethack
|
||||
VARDIR = /var/lib/nethack
|
||||
SHELLDIR = $(PREFIX)/bin
|
||||
|
||||
# per discussion in Install.X11 and Install.Qt
|
||||
# VARDATND =
|
||||
# VARDATND = x11tiles NetHack.ad pet_mark.xbm
|
||||
VARDATND = x11tiles NetHack.ad pet_mark.xbm rip.xpm nhsplash.xpm
|
||||
# for Atari/Gem
|
||||
# VARDATND = nh16.img title.img GEM_RSC.RSC rip.img
|
||||
# for BeOS
|
||||
# VARDATND = beostiles
|
||||
# for Gnome
|
||||
# VARDATND = x11tiles pet_mark.xbm rip.xpm mapbg.xpm
|
||||
|
||||
VARDATD = data oracles options quest.dat rumors
|
||||
VARDAT = $(VARDATD) $(VARDATND)
|
||||
|
||||
# Some versions of make use the SHELL environment variable as the shell
|
||||
# for running commands. We need this to be a Bourne shell.
|
||||
# SHELL = /bin/sh
|
||||
# for Atari
|
||||
# SHELL=E:/GEMINI2/MUPFEL.TTP
|
||||
|
||||
# Commands for setting the owner and group on files during installation.
|
||||
# Some systems fail with one or the other when installing over NFS or for
|
||||
# other permission-related reasons. If that happens, you may want to set the
|
||||
# command to "true", which is a no-op. Note that disabling chown or chgrp
|
||||
# will only work if setuid (or setgid) behavior is not desired or required.
|
||||
CHOWN = chown
|
||||
CHGRP = chgrp
|
||||
|
||||
#
|
||||
# end of configuration
|
||||
#
|
||||
|
||||
DATHELP = help hh cmdhelp history opthelp wizhelp
|
||||
|
||||
SPEC_LEVS = asmodeus.lev baalz.lev bigrm-?.lev castle.lev fakewiz?.lev \
|
||||
juiblex.lev knox.lev medusa-?.lev minend-?.lev minefill.lev \
|
||||
minetn-?.lev oracle.lev orcus.lev sanctum.lev soko?-?.lev \
|
||||
tower?.lev valley.lev wizard?.lev \
|
||||
astral.lev air.lev earth.lev fire.lev water.lev
|
||||
QUEST_LEVS = ???-goal.lev ???-fil?.lev ???-loca.lev ???-strt.lev
|
||||
|
||||
DATNODLB = $(VARDATND) license
|
||||
DATDLB = $(DATHELP) dungeon $(SPEC_LEVS) $(QUEST_LEVS) $(VARDATD)
|
||||
DAT = $(DATNODLB) $(DATDLB)
|
||||
|
||||
$(GAME):
|
||||
( cd src ; $(MAKE) )
|
||||
|
||||
all: $(GAME) recover Guidebook $(VARDAT) dungeon spec_levs check-dlb
|
||||
@echo "Done."
|
||||
|
||||
# Note: many of the dependencies below are here to allow parallel make
|
||||
# to generate valid output
|
||||
|
||||
Guidebook:
|
||||
( cd doc ; $(MAKE) Guidebook )
|
||||
|
||||
manpages:
|
||||
( cd doc ; $(MAKE) manpages )
|
||||
|
||||
data: $(GAME)
|
||||
( cd dat ; $(MAKE) data )
|
||||
|
||||
rumors: $(GAME)
|
||||
( cd dat ; $(MAKE) rumors )
|
||||
|
||||
oracles: $(GAME)
|
||||
( cd dat ; $(MAKE) oracles )
|
||||
|
||||
# Note: options should have already been made with make, but...
|
||||
options: $(GAME)
|
||||
( cd dat ; $(MAKE) options )
|
||||
|
||||
quest.dat: $(GAME)
|
||||
( cd dat ; $(MAKE) quest.dat )
|
||||
|
||||
spec_levs: dungeon
|
||||
( cd util ; $(MAKE) lev_comp )
|
||||
( cd dat ; $(MAKE) spec_levs )
|
||||
( cd dat ; $(MAKE) quest_levs )
|
||||
|
||||
dungeon: $(GAME)
|
||||
( cd util ; $(MAKE) dgn_comp )
|
||||
( cd dat ; $(MAKE) dungeon )
|
||||
|
||||
nhtiles.bmp: $(GAME)
|
||||
( cd dat ; $(MAKE) nhtiles.bmp )
|
||||
|
||||
x11tiles: $(GAME)
|
||||
( cd util ; $(MAKE) tile2x11 )
|
||||
( cd dat ; $(MAKE) x11tiles )
|
||||
|
||||
beostiles: $(GAME)
|
||||
( cd util ; $(MAKE) tile2beos )
|
||||
( cd dat ; $(MAKE) beostiles )
|
||||
|
||||
NetHack.ad: $(GAME)
|
||||
( cd dat ; $(MAKE) NetHack.ad )
|
||||
|
||||
pet_mark.xbm:
|
||||
( cd dat ; $(MAKE) pet_mark.xbm )
|
||||
|
||||
rip.xpm:
|
||||
( cd dat ; $(MAKE) rip.xpm )
|
||||
|
||||
mapbg.xpm:
|
||||
(cd dat ; $(MAKE) mapbg.xpm )
|
||||
|
||||
nhsplash.xpm:
|
||||
( cd dat ; $(MAKE) nhsplash.xpm )
|
||||
|
||||
nh16.img: $(GAME)
|
||||
( cd util ; $(MAKE) tile2img.ttp )
|
||||
( cd dat ; $(MAKE) nh16.img )
|
||||
|
||||
rip.img:
|
||||
( cd util ; $(MAKE) xpm2img.ttp )
|
||||
( cd dat ; $(MAKE) rip.img )
|
||||
GEM_RSC.RSC:
|
||||
( cd dat ; $(MAKE) GEM_RSC.RSC )
|
||||
|
||||
title.img:
|
||||
( cd dat ; $(MAKE) title.img )
|
||||
|
||||
check-dlb: options
|
||||
@if egrep -s librarian dat/options ; then $(MAKE) dlb ; else true ; fi
|
||||
|
||||
dlb:
|
||||
( cd util ; $(MAKE) dlb )
|
||||
( cd dat ; ../util/dlb cf nhdat $(DATDLB) )
|
||||
|
||||
# recover can be used when INSURANCE is defined in include/config.h
|
||||
# and the checkpoint option is true
|
||||
recover: $(GAME)
|
||||
( cd util ; $(MAKE) recover )
|
||||
|
||||
dofiles:
|
||||
target=`sed -n \
|
||||
-e '/librarian/{' \
|
||||
-e 's/.*/dlb/p' \
|
||||
-e 'q' \
|
||||
-e '}' \
|
||||
-e '$$s/.*/nodlb/p' < dat/options` ; \
|
||||
$(MAKE) dofiles-$${target-nodlb}
|
||||
cp src/$(GAME) $(DESTDIR)/$(GAMEDIR)
|
||||
cp util/recover $(DESTDIR)/$(GAMEDIR)
|
||||
-rm -f $(DESTDIR)/$(SHELLDIR)/$(GAME)
|
||||
sed -e 's;/usr/games/lib/nethackdir;$(GAMEDIR);' \
|
||||
-e 's;HACKDIR/nethack;HACKDIR/$(GAME);' \
|
||||
< sys/unix/nethack.sh \
|
||||
> $(DESTDIR)/$(SHELLDIR)/$(GAME)
|
||||
# set up their permissions
|
||||
-( cd $(DESTDIR)/$(GAMEDIR) ; $(CHOWN) $(GAMEUID) $(GAME) recover ; \
|
||||
$(CHGRP) $(GAMEGRP) $(GAME) recover )
|
||||
chmod $(GAMEPERM) $(DESTDIR)/$(GAMEDIR)/$(GAME)
|
||||
chmod $(EXEPERM) $(DESTDIR)/$(GAMEDIR)/recover
|
||||
-$(CHOWN) $(GAMEUID) $(DESTDIR)/$(SHELLDIR)/$(GAME)
|
||||
$(CHGRP) $(GAMEGRP) $(DESTDIR)/$(SHELLDIR)/$(GAME)
|
||||
chmod $(EXEPERM) $(DESTDIR)/$(SHELLDIR)/$(GAME)
|
||||
|
||||
dofiles-dlb: check-dlb
|
||||
( cd dat ; cp nhdat $(DATNODLB) $(DESTDIR)/$(GAMEDIR) )
|
||||
# set up their permissions
|
||||
-( cd $(DESTDIR)/$(GAMEDIR) ; $(CHOWN) $(GAMEUID) nhdat $(DATNODLB) ; \
|
||||
$(CHGRP) $(GAMEGRP) nhdat $(DATNODLB) ; \
|
||||
chmod $(FILEPERM) nhdat $(DATNODLB) )
|
||||
|
||||
dofiles-nodlb:
|
||||
# copy over the game files
|
||||
( cd dat ; cp $(DAT) $(DESTDIR)/$(GAMEDIR) )
|
||||
# set up their permissions
|
||||
-( cd $(DESTDIR)/$(GAMEDIR) ; $(CHOWN) $(GAMEUID) $(DAT) ; \
|
||||
$(CHGRP) $(GAMEGRP) $(DAT) ; \
|
||||
chmod $(FILEPERM) $(DAT) )
|
||||
|
||||
update: $(GAME) recover $(VARDAT) dungeon spec_levs
|
||||
# (don't yank the old version out from under people who're playing it)
|
||||
-mv $(DESTDIR)/$(GAMEDIR)/$(GAME) $(DESTDIR)/$(GAMEDIR)/$(GAME).old
|
||||
# quest.dat is also kept open and has the same problems over NFS
|
||||
# (quest.dat may be inside nhdat if dlb is in use)
|
||||
-mv $(DESTDIR)/$(GAMEDIR)/quest.dat $(DESTDIR)/$(GAMEDIR)/quest.dat.old
|
||||
-mv $(DESTDIR)/$(GAMEDIR)/nhdat $(DESTDIR)/$(GAMEDIR)/nhdat.old
|
||||
# set up new versions of the game files
|
||||
( $(MAKE) dofiles )
|
||||
# touch time-sensitive files
|
||||
-touch -c $(DESTDIR)/$(VARDIR)/bones* $(DESTDIR)/$(VARDIR)/?lock* $(DESTDIR)/$(VARDIR)/wizard*
|
||||
-touch -c $(DESTDIR)/$(VARDIR)/save/*
|
||||
touch $(DESTDIR)/$(VARDIR)/perm $(DESTDIR)/$(VARDIR)/record
|
||||
# and a reminder
|
||||
@echo You may also want to install the man pages via the doc Makefile.
|
||||
|
||||
install: $(GAME) recover $(VARDAT) dungeon spec_levs
|
||||
# set up the directories
|
||||
# not all mkdirs have -p; those that don't will create a -p directory
|
||||
-mkdir -p $(DESTDIR)/$(SHELLDIR)
|
||||
-rm -rf $(DESTDIR)/$(GAMEDIR) $(DESTDIR)/$(VARDIR)
|
||||
-mkdir -p $(DESTDIR)/$(GAMEDIR) $(DESTDIR)/$(VARDIR) $(DESTDIR)/$(VARDIR)/save
|
||||
-rmdir ./-p
|
||||
-$(CHOWN) $(GAMEUID) $(DESTDIR)/$(GAMEDIR) $(DESTDIR)/$(VARDIR) $(DESTDIR)/$(VARDIR)/save
|
||||
$(CHGRP) $(GAMEGRP) $(DESTDIR)/$(GAMEDIR) $(DESTDIR)/$(VARDIR) $(DESTDIR)/$(VARDIR)/save
|
||||
chmod $(DIRPERM) $(DESTDIR)/$(GAMEDIR) $(DESTDIR)/$(VARDIR) $(DESTDIR)/$(VARDIR)/save
|
||||
# set up the game files
|
||||
( $(MAKE) dofiles )
|
||||
# set up some additional files
|
||||
touch $(DESTDIR)/$(VARDIR)/perm $(DESTDIR)/$(VARDIR)/record $(DESTDIR)/$(VARDIR)/logfile
|
||||
-( cd $(DESTDIR)/$(VARDIR) ; $(CHOWN) $(GAMEUID) perm record logfile ; \
|
||||
$(CHGRP) $(GAMEGRP) perm record logfile ; \
|
||||
chmod $(FILEPERM) perm record logfile )
|
||||
# and a reminder
|
||||
@echo You may also want to reinstall the man pages via the doc Makefile.
|
||||
|
||||
|
||||
# 'make clean' removes all the .o files, but leaves around all the executables
|
||||
# and compiled data files
|
||||
clean:
|
||||
( cd src ; $(MAKE) clean )
|
||||
( cd util ; $(MAKE) clean )
|
||||
|
||||
# 'make spotless' returns the source tree to near-distribution condition.
|
||||
# it removes .o files, executables, and compiled data files
|
||||
spotless:
|
||||
( cd src ; $(MAKE) spotless )
|
||||
( cd util ; $(MAKE) spotless )
|
||||
( cd dat ; $(MAKE) spotless )
|
||||
( cd doc ; $(MAKE) spotless )
|
|
@ -0,0 +1,403 @@
|
|||
# Makefile for NetHack's utility programs.
|
||||
# SCCS Id: @(#)Makefile.utl 3.4 1997/04/19
|
||||
|
||||
# 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 unable to
|
||||
# execute things like 'foo.o')
|
||||
# MAKE = make
|
||||
|
||||
# if you are using gcc as your compiler,
|
||||
# uncomment the CC definition below if it's not in your environment
|
||||
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
|
||||
#
|
||||
# if your make doesn't define a default SHELL properly, you may need
|
||||
# the line below (Atari users will need a bourne work-alike)
|
||||
# SHELL = /bin/sh
|
||||
# for Atari
|
||||
# SHELL=E:/GEMINI2/MUPFEL.TTP
|
||||
|
||||
# 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 -I../include
|
||||
# LFLAGS = -mshort -s
|
||||
|
||||
# flags for Apollos using their native cc
|
||||
# (as long as it claims to be __STDC__ but isn't)
|
||||
# CFLAGS = -DAPOLLO -O -I../include
|
||||
|
||||
# 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
|
||||
# and for AIX 3.2:
|
||||
# CFLAGS = -D_NO_PROTO -D_XOPEN_SOURCE -D_ALL_SOURCE -O -I../include -qchars=signed
|
||||
|
||||
# flags for A/UX 2.01 using native cc or c89
|
||||
# gcc predefines AUX so that's not needed there
|
||||
# CFLAGS = -ZS -D_POSIX_SOURCE -O -I../include -DAUX
|
||||
|
||||
# flags for IRIX 4.0.x using native cc
|
||||
# SGI cc 3.10 will fail to compile makedefs with -O
|
||||
# CFLAGS = -I../include -D__STDC__ -woff 100,293
|
||||
|
||||
# flags for Linux
|
||||
# compile normally
|
||||
# CFLAGS = -O2 -fomit-frame-pointer -I../include
|
||||
LFLAGS = -L/usr/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 using the command line
|
||||
# remember to uncomment flex and bison below
|
||||
# BeOS on a Mac/BeBox:
|
||||
#CC = mwcc
|
||||
#CFLAGS = -I../include
|
||||
# BeOS on Intel:
|
||||
# the default values are fine
|
||||
|
||||
# flags for debugging:
|
||||
# CFLAGS = -g -I../include
|
||||
|
||||
CFLAGS = -O -I../include
|
||||
# LFLAGS =
|
||||
|
||||
LIBS =
|
||||
|
||||
# If you are cross-compiling, you must use this:
|
||||
#OBJDIR = .
|
||||
# otherwise, you can save a little bit of disk space with this:
|
||||
OBJDIR = ../src
|
||||
|
||||
# yacc/lex programs to use to generate *_comp.h, *_lex.c, and *_yacc.c.
|
||||
# if, instead of yacc/lex you have bison/flex, comment/uncomment the following.
|
||||
# YACC = yacc
|
||||
# LEX = lex
|
||||
YACC = bison -y
|
||||
# YACC = byacc
|
||||
LEX = flex
|
||||
|
||||
# these are the names of the output files from YACC/LEX. Under MS-DOS
|
||||
# and similar systems, they may differ
|
||||
YTABC = y.tab.c
|
||||
YTABH = y.tab.h
|
||||
LEXYYC = lex.yy.c
|
||||
# YTABC = y_tab.c
|
||||
# YTABH = y_tab.h
|
||||
# LEXYYC = lexyy.c
|
||||
|
||||
|
||||
|
||||
# ----------------------------------------
|
||||
#
|
||||
# Nothing below this line should have to be changed.
|
||||
|
||||
# timestamps for primary header files, matching src/Makefile
|
||||
CONFIG_H = ../src/config.h-t
|
||||
HACK_H = ../src/hack.h-t
|
||||
|
||||
# utility .c files
|
||||
MAKESRC = makedefs.c
|
||||
SPLEVSRC = lev_yacc.c lev_lex.c lev_main.c
|
||||
DGNCOMPSRC = dgn_yacc.c dgn_lex.c dgn_main.c
|
||||
RECOVSRC = recover.c
|
||||
DLBSRC = dlb_main.c
|
||||
UTILSRCS = $(MAKESRC) panic.c $(SPLEVSRC) $(DGNCOMPSRC) $(RECOVSRC) $(DLBSRC)
|
||||
|
||||
# files that define all monsters and objects
|
||||
CMONOBJ = ../src/monst.c ../src/objects.c
|
||||
OMONOBJ = $(OBJDIR)/monst.o $(OBJDIR)/objects.o
|
||||
# files that provide access to NetHack's names
|
||||
CNAMING = ../src/drawing.c ../src/decl.c $(CMONOBJ)
|
||||
ONAMING = $(OBJDIR)/drawing.o $(OBJDIR)/decl.o $(OMONOBJ)
|
||||
# dynamic memory allocation
|
||||
CALLOC = ../src/alloc.c panic.c
|
||||
OALLOC = $(OBJDIR)/alloc.o panic.o
|
||||
|
||||
# object files for makedefs
|
||||
MAKEOBJS = makedefs.o $(OMONOBJ)
|
||||
|
||||
# object files for special levels compiler
|
||||
SPLEVOBJS = lev_yacc.o lev_lex.o lev_main.o $(OALLOC) $(ONAMING)
|
||||
|
||||
# object files for dungeon compiler
|
||||
DGNCOMPOBJS = dgn_yacc.o dgn_lex.o dgn_main.o $(OALLOC)
|
||||
|
||||
# object files for recovery utility
|
||||
RECOVOBJS = recover.o
|
||||
|
||||
# object files for the data librarian
|
||||
DLBOBJS = dlb_main.o $(OBJDIR)/dlb.o $(OALLOC)
|
||||
|
||||
# flags for creating distribution versions of sys/share/*_lex.c, using
|
||||
# a more portable flex skeleton, which is not included in the distribution.
|
||||
# hopefully keeping this out of the section to be edited will keep too
|
||||
# many people from being confused by it...
|
||||
# FLEXDIST = -L -S../sys/share/flexhack.skl
|
||||
FLEXDIST =
|
||||
#
|
||||
# flags for creating distribution versions of sys/share/*_yacc.c, without
|
||||
# line numbers so patches from version to version are practical
|
||||
# YACCDIST = -l
|
||||
YACCDIST =
|
||||
|
||||
|
||||
# dependencies for makedefs
|
||||
#
|
||||
makedefs: $(MAKEOBJS)
|
||||
$(CC) $(LFLAGS) -o makedefs $(MAKEOBJS)
|
||||
|
||||
makedefs.o: makedefs.c $(CONFIG_H) ../include/permonst.h \
|
||||
../include/objclass.h ../include/monsym.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 ../include/qtext.h
|
||||
|
||||
../include/onames.h: makedefs
|
||||
./makedefs -o
|
||||
../include/pm.h: makedefs
|
||||
./makedefs -p
|
||||
../src/monstr.c: makedefs
|
||||
./makedefs -m
|
||||
../include/vis_tab.h: makedefs
|
||||
./makedefs -z
|
||||
# makedefs -z makes both vis_tab.h and vis_tab.c, but writes the .h first
|
||||
../src/vis_tab.c: ../include/vis_tab.h
|
||||
|
||||
lintdefs:
|
||||
@lint -axbh -I../include -DLINT $(MAKESRC) $(CMONOBJ) | sed '/_flsbuf/d'
|
||||
|
||||
|
||||
# we defer this makedefs call to the src Makefile, since it knows all about
|
||||
# the main src and include files date.h is a timestamp for
|
||||
../include/date.h::
|
||||
@( cd ../src ; $(MAKE) ../include/date.h )
|
||||
|
||||
# support code used by several of the utility programs (but not makedefs)
|
||||
panic.o: panic.c $(CONFIG_H)
|
||||
|
||||
|
||||
# dependencies for lev_comp
|
||||
#
|
||||
lev_comp: $(SPLEVOBJS)
|
||||
$(CC) $(LFLAGS) -o lev_comp $(SPLEVOBJS) $(LIBS)
|
||||
|
||||
lev_yacc.o: lev_yacc.c $(HACK_H) ../include/sp_lev.h
|
||||
lev_main.o: lev_main.c $(HACK_H) ../include/sp_lev.h ../include/tcap.h \
|
||||
../include/date.h
|
||||
|
||||
# see lev_comp.l for WEIRD_LEX discussion
|
||||
# egrep will return failure if it doesn't find anything, but we know there
|
||||
# is one "_cplusplus" inside a comment
|
||||
lev_lex.o: lev_lex.c $(HACK_H) ../include/lev_comp.h ../include/sp_lev.h
|
||||
@echo $(CC) -c $(CFLAGS) lev_lex.c
|
||||
@$(CC) -c $(CFLAGS) -DWEIRD_LEX=`egrep -c _cplusplus lev_lex.c` lev_lex.c
|
||||
|
||||
../include/lev_comp.h: lev_yacc.c
|
||||
|
||||
lev_yacc.c: lev_comp.y
|
||||
$(YACC) $(YACCDIST) -d lev_comp.y
|
||||
mv $(YTABC) lev_yacc.c
|
||||
mv $(YTABH) ../include/lev_comp.h
|
||||
|
||||
lev_lex.c: lev_comp.l
|
||||
$(LEX) $(FLEXDIST) lev_comp.l
|
||||
mv $(LEXYYC) lev_lex.c
|
||||
|
||||
# with all of extern.h's functions to complain about, we drown in
|
||||
# 'defined but not used' without -u
|
||||
lintlev:
|
||||
@lint -axhu -I../include -DLINT $(SPLEVSRC) $(CALLOC) $(CNAMING) | sed '/_flsbuf/d'
|
||||
|
||||
|
||||
# dependencies for dgn_comp
|
||||
#
|
||||
dgn_comp: $(DGNCOMPOBJS)
|
||||
$(CC) $(LFLAGS) -o dgn_comp $(DGNCOMPOBJS) $(LIBS)
|
||||
|
||||
dgn_yacc.o: dgn_yacc.c $(CONFIG_H) ../include/dgn_file.h ../include/date.h
|
||||
dgn_main.o: dgn_main.c $(CONFIG_H) ../include/dlb.h
|
||||
|
||||
# see dgn_comp.l for WEIRD_LEX discussion
|
||||
dgn_lex.o: dgn_lex.c $(CONFIG.H) ../include/dgn_comp.h ../include/dgn_file.h
|
||||
@echo $(CC) -c $(CFLAGS) dgn_lex.c
|
||||
@$(CC) -c $(CFLAGS) -DWEIRD_LEX=`egrep -c _cplusplus dgn_lex.c` dgn_lex.c
|
||||
|
||||
|
||||
../include/dgn_comp.h: dgn_yacc.c
|
||||
|
||||
dgn_yacc.c: dgn_comp.y
|
||||
$(YACC) $(YACCDIST) -d dgn_comp.y
|
||||
mv $(YTABC) dgn_yacc.c
|
||||
mv $(YTABH) ../include/dgn_comp.h
|
||||
|
||||
dgn_lex.c: dgn_comp.l
|
||||
$(LEX) $(FLEXDIST) dgn_comp.l
|
||||
mv $(LEXYYC) dgn_lex.c
|
||||
|
||||
# with all of extern.h's functions to complain about, we drown in
|
||||
# 'defined but not used' without -u
|
||||
lintdgn:
|
||||
@lint -axhu -I../include -DLINT $(DGNCOMPSRC) $(CALLOC) | sed '/_flsbuf/d'
|
||||
|
||||
|
||||
# dependencies for recover
|
||||
#
|
||||
recover: $(RECOVOBJS)
|
||||
$(CC) $(LFLAGS) -o recover $(RECOVOBJS) $(LIBS)
|
||||
|
||||
recover.o: recover.c $(CONFIG_H) ../include/date.h
|
||||
|
||||
|
||||
# dependencies for dlb
|
||||
#
|
||||
dlb: $(DLBOBJS)
|
||||
$(CC) $(LFLAGS) -o dlb $(DLBOBJS) $(LIBS)
|
||||
|
||||
dlb_main.o: dlb_main.c $(CONFIG_H) ../include/dlb.h ../include/date.h
|
||||
$(CC) $(CFLAGS) -c dlb_main.c
|
||||
|
||||
|
||||
|
||||
# dependencies for tile utilities
|
||||
#
|
||||
TEXT_IO = tiletext.o tiletxt.o $(ONAMING)
|
||||
GIFREADERS = gifread.o $(OALLOC)
|
||||
PPMWRITERS = ppmwrite.o $(OALLOC)
|
||||
|
||||
tileutils: tilemap gif2txt txt2ppm tile2x11
|
||||
|
||||
gif2txt: $(GIFREADERS) $(TEXT_IO)
|
||||
$(CC) $(LFLAGS) -o gif2txt $(GIFREADERS) $(TEXT_IO) $(LIBS)
|
||||
txt2ppm: $(PPMWRITERS) $(TEXT_IO)
|
||||
$(CC) $(LFLAGS) -o txt2ppm $(PPMWRITERS) $(TEXT_IO) $(LIBS)
|
||||
|
||||
tile2x11: tile2x11.o $(TEXT_IO)
|
||||
$(CC) $(LFLAGS) -o tile2x11 tile2x11.o $(TEXT_IO) $(LIBS)
|
||||
|
||||
tile2img.ttp: tile2img.o bitmfile.o $(TEXT_IO)
|
||||
$(CC) $(LFLAGS) -o tile2img.ttp tile2img.o bitmfile.o $(TEXT_IO) $(LIBS)
|
||||
|
||||
tile2bmp: tile2bmp.o $(TEXT_IO)
|
||||
$(CC) $(LFLAGS) -o tile2bmp tile2bmp.o $(TEXT_IO)
|
||||
|
||||
xpm2img.ttp: xpm2img.o bitmfile.o
|
||||
$(CC) $(LFLAGS) -o xpm2img.ttp xpm2img.o bitmfile.o $(LIBS)
|
||||
|
||||
tile2beos: tile2beos.o $(TEXT_IO)
|
||||
$(CC) $(LFLAGS) -o tile2beos tile2beos.o $(TEXT_IO) -lbe
|
||||
|
||||
tilemap: ../win/share/tilemap.c $(HACK_H)
|
||||
$(CC) $(CFLAGS) $(LFLAGS) -o tilemap ../win/share/tilemap.c $(LIBS)
|
||||
../src/tile.c: tilemap
|
||||
./tilemap
|
||||
|
||||
../include/tile.h: ../win/share/tile.h
|
||||
cp ../win/share/tile.h ../include/tile.h
|
||||
tiletext.o: ../win/share/tiletext.c $(CONFIG_H) ../include/tile.h
|
||||
$(CC) $(CFLAGS) -c ../win/share/tiletext.c
|
||||
tiletxt.o: ../win/share/tilemap.c $(HACK_H)
|
||||
$(CC) $(CFLAGS) -c -DTILETEXT ../win/share/tilemap.c
|
||||
mv tilemap.o tiletxt.o
|
||||
|
||||
gifread.o: ../win/share/gifread.c $(CONFIG_H) ../include/tile.h
|
||||
$(CC) $(CFLAGS) -c ../win/share/gifread.c
|
||||
ppmwrite.o: ../win/share/ppmwrite.c $(CONFIG_H) ../include/tile.h
|
||||
$(CC) $(CFLAGS) -c ../win/share/ppmwrite.c
|
||||
|
||||
tile2bmp.o: ../win/share/tile2bmp.c $(HACK_H) ../include/tile.h
|
||||
$(CC) $(CFLAGS) -c ../win/share/tile2bmp.c
|
||||
|
||||
tile2x11.o: ../win/X11/tile2x11.c $(HACK_H) ../include/tile.h \
|
||||
../include/tile2x11.h
|
||||
$(CC) $(CFLAGS) -c ../win/X11/tile2x11.c
|
||||
|
||||
tile2img.o: ../win/gem/tile2img.c $(HACK_H) ../include/tile.h \
|
||||
../include/bitmfile.h
|
||||
$(CC) $(CFLAGS) -c ../win/gem/tile2img.c
|
||||
xpm2img.o: ../win/gem/xpm2img.c $(HACK_H) ../include/bitmfile.h
|
||||
$(CC) $(CFLAGS) -c ../win/gem/xpm2img.c
|
||||
bitmfile.o: ../win/gem/bitmfile.c ../include/bitmfile.h
|
||||
$(CC) $(CFLAGS) -c ../win/gem/bitmfile.c
|
||||
|
||||
tile2beos.o: ../win/BeOS/tile2beos.cpp $(HACK_H) ../include/tile.h
|
||||
$(CXX) $(CFLAGS) -c ../win/BeOS/tile2beos.cpp
|
||||
|
||||
# using dependencies like
|
||||
# ../src/foo::
|
||||
# @( cd ../src ; $(MAKE) foo )
|
||||
# would always force foo to be up-to-date according to the src Makefile
|
||||
# when it's needed here. unfortunately, some makes believe this syntax
|
||||
# means foo always changes, instead of foo should always be checked.
|
||||
# therefore, approximate via config.h dependencies, and hope that anybody
|
||||
# changing anything other than basic configuration also knows when not
|
||||
# to improvise things not in the instructions, like 'make makedefs' here
|
||||
# in util...
|
||||
|
||||
# make sure object files from src are available when needed
|
||||
#
|
||||
$(OBJDIR)/alloc.o: ../src/alloc.c $(CONFIG_H)
|
||||
$(CC) $(CFLAGS) -c ../src/alloc.c -o $@
|
||||
$(OBJDIR)/drawing.o: ../src/drawing.c $(CONFIG_H)
|
||||
$(CC) $(CFLAGS) -c ../src/drawing.c -o $@
|
||||
$(OBJDIR)/decl.o: ../src/decl.c $(CONFIG_H)
|
||||
$(CC) $(CFLAGS) -c ../src/decl.c -o $@
|
||||
$(OBJDIR)/monst.o: ../src/monst.c $(CONFIG_H)
|
||||
$(CC) $(CFLAGS) -c ../src/monst.c -o $@
|
||||
$(OBJDIR)/objects.o: ../src/objects.c $(CONFIG_H)
|
||||
$(CC) $(CFLAGS) -c ../src/objects.c -o $@
|
||||
$(OBJDIR)/dlb.o: ../src/dlb.c $(HACK_H) ../include/dlb.h
|
||||
$(CC) $(CFLAGS) -c ../src/dlb.c -o $@
|
||||
|
||||
# make sure hack.h dependencies get transitive information
|
||||
$(HACK_H): $(CONFIG_H)
|
||||
@( cd ../src ; $(MAKE) $(HACK_H) )
|
||||
$(CONFIG_H): ../include/config.h
|
||||
@( cd ../src ; $(MAKE) $(CONFIG_H) )
|
||||
|
||||
tags: $(UTILSRCS)
|
||||
@ctags -tw $(UTILSRCS)
|
||||
|
||||
clean:
|
||||
-rm -f *.o
|
||||
|
||||
spotless: clean
|
||||
-rm -f lev_lex.c lev_yacc.c dgn_lex.c dgn_yacc.c
|
||||
-rm -f ../include/lev_comp.h ../include/dgn_comp.h
|
||||
-rm -f ../include/tile.h
|
||||
-rm -f makedefs lev_comp dgn_comp recover dlb
|
||||
-rm -f gif2txt txt2ppm tile2x11 tile2img.ttp xpm2img.ttp tilemap
|
||||
|
||||
tileedit: tileedit.cpp $(TEXT_IO)
|
||||
$(QTDIR)/bin/moc -o tileedit.moc tileedit.h
|
||||
$(CC) -o tileedit -I../include -I$(QTDIR)/include -L$(QTDIR)/lib tileedit.cpp $(TEXT_IO) -lqt-mt
|
|
@ -0,0 +1,18 @@
|
|||
These files are the edited files from which the contents of the "patches"
|
||||
directry were generated.
|
||||
|
||||
Makefile.src.slack corresponds to nethack-3.4.3/sys/unix/Makefile.src
|
||||
Makefile.top.slack corresponds to nethack-3.4.3/sys/unix/Makefile.top
|
||||
Makefile.utl.slack corresponds to nethack-3.4.3/sys/unix/Makefile.utl
|
||||
|
||||
config.h.slack corresponds to nethack-3.4.3/include/config.h
|
||||
unixconf.h.slack corresponds to nethack-3.4.3/include/unixconf.h
|
||||
|
||||
Makefile-doc.slack corresponds to nethack-3.4.3/doc/Makefile.
|
||||
nethack-3.4.3/doc/Makefile is generated by the setup.sh script in the
|
||||
nethack-3.4.3/sys/unix directory. It is not present when the nethack-3.4.3
|
||||
source tarball is initall unpacked.
|
||||
|
||||
For more information about these files, read the documentation contained
|
||||
in the nethack-3.4.3 source tarball.
|
||||
|
|
@ -0,0 +1,358 @@
|
|||
/* SCCS Id: @(#)config.h 3.4 2003/12/06 */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
#ifndef CONFIG_H /* make sure the compiler does not see the typedefs twice */
|
||||
#define CONFIG_H
|
||||
|
||||
|
||||
/*
|
||||
* Section 1: Operating and window systems selection.
|
||||
* Select the version of the OS you are using.
|
||||
* For "UNIX" select BSD, ULTRIX, SYSV, or HPUX in unixconf.h.
|
||||
* A "VMS" option is not needed since the VMS C-compilers
|
||||
* provide it (no need to change sec#1, vmsconf.h handles it).
|
||||
*/
|
||||
|
||||
#define UNIX /* delete if no fork(), exec() available */
|
||||
|
||||
/* #define MSDOS */ /* in case it's not auto-detected */
|
||||
|
||||
/* #define OS2 */ /* define for OS/2 */
|
||||
|
||||
/* #define TOS */ /* define for Atari ST/TT */
|
||||
|
||||
/* #define STUPID */ /* avoid some complicated expressions if
|
||||
your C compiler chokes on them */
|
||||
/* #define MINIMAL_TERM */
|
||||
/* if a terminal handles highlighting or tabs poorly,
|
||||
try this define, used in pager.c and termcap.c */
|
||||
/* #define ULTRIX_CC20 */
|
||||
/* define only if using cc v2.0 on a DECstation */
|
||||
/* #define ULTRIX_PROTO */
|
||||
/* define for Ultrix 4.0 (or higher) on a DECstation;
|
||||
* if you get compiler errors, don't define this. */
|
||||
/* Hint: if you're not developing code, don't define
|
||||
ULTRIX_PROTO. */
|
||||
|
||||
#include "config1.h" /* should auto-detect MSDOS, MAC, AMIGA, and WIN32 */
|
||||
|
||||
|
||||
/* Windowing systems...
|
||||
* Define all of those you want supported in your binary.
|
||||
* Some combinations make no sense. See the installation document.
|
||||
*/
|
||||
#define TTY_GRAPHICS /* good old tty based graphics */
|
||||
#define X11_GRAPHICS /* X11 interface */
|
||||
#define QT_GRAPHICS /* Qt interface */
|
||||
/* #define GNOME_GRAPHICS */ /* Gnome interface */
|
||||
/* #define MSWIN_GRAPHICS */ /* Windows NT, CE, Graphics */
|
||||
|
||||
/*
|
||||
* Define the default window system. This should be one that is compiled
|
||||
* into your system (see defines above). Known window systems are:
|
||||
*
|
||||
* tty, X11, mac, amii, BeOS, Qt, Gem, Gnome
|
||||
*/
|
||||
|
||||
/* MAC also means MAC windows */
|
||||
#ifdef MAC
|
||||
# ifndef AUX
|
||||
# define DEFAULT_WINDOW_SYS "mac"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Amiga supports AMII_GRAPHICS and/or TTY_GRAPHICS */
|
||||
#ifdef AMIGA
|
||||
# define AMII_GRAPHICS /* (optional) */
|
||||
# define DEFAULT_WINDOW_SYS "amii" /* "amii", "amitile" or "tty" */
|
||||
#endif
|
||||
|
||||
/* Atari supports GEM_GRAPHICS and/or TTY_GRAPHICS */
|
||||
#ifdef TOS
|
||||
# define GEM_GRAPHICS /* Atari GEM interface (optional) */
|
||||
# define DEFAULT_WINDOW_SYS "Gem" /* "Gem" or "tty" */
|
||||
#endif
|
||||
|
||||
#ifdef __BEOS__
|
||||
#define BEOS_GRAPHICS /* (optional) */
|
||||
#define DEFAULT_WINDOW_SYS "BeOS" /* "tty" */
|
||||
#ifndef HACKDIR /* override the default hackdir below */
|
||||
# define HACKDIR "/boot/apps/NetHack"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef QT_GRAPHICS
|
||||
# define DEFAULT_WC_TILED_MAP /* Default to tiles if users doesn't say wc_ascii_map */
|
||||
# define USER_SOUNDS /* Use sounds */
|
||||
# ifndef __APPLE__
|
||||
# define USER_SOUNDS_REGEX
|
||||
# endif
|
||||
# define USE_XPM /* Use XPM format for images (required) */
|
||||
# define GRAPHIC_TOMBSTONE /* Use graphical tombstone (rip.ppm) */
|
||||
# ifndef DEFAULT_WINDOW_SYS
|
||||
# define DEFAULT_WINDOW_SYS "tty"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef GNOME_GRAPHICS
|
||||
# define USE_XPM /* Use XPM format for images (required) */
|
||||
# define GRAPHIC_TOMBSTONE /* Use graphical tombstone (rip.ppm) */
|
||||
# ifndef DEFAULT_WINDOW_SYS
|
||||
# define DEFAULT_WINDOW_SYS "Gnome"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef MSWIN_GRAPHICS
|
||||
# ifdef TTY_GRAPHICS
|
||||
# undef TTY_GRAPHICS
|
||||
# endif
|
||||
# ifndef DEFAULT_WINDOW_SYS
|
||||
# define DEFAULT_WINDOW_SYS "mswin"
|
||||
# endif
|
||||
# define HACKDIR "\\nethack"
|
||||
#endif
|
||||
|
||||
#ifndef DEFAULT_WINDOW_SYS
|
||||
# define DEFAULT_WINDOW_SYS "tty"
|
||||
#endif
|
||||
|
||||
#ifdef X11_GRAPHICS
|
||||
/*
|
||||
* There are two ways that X11 tiles may be defined. (1) using a custom
|
||||
* format loaded by NetHack code, or (2) using the XPM format loaded by
|
||||
* the free XPM library. The second option allows you to then use other
|
||||
* programs to generate tiles files. For example, the PBMPlus tools
|
||||
* would allow:
|
||||
* xpmtoppm <x11tiles.xpm | pnmscale 1.25 | ppmquant 90 >x11tiles_big.xpm
|
||||
*/
|
||||
# define USE_XPM /* Disable if you do not have the XPM library */
|
||||
# ifdef USE_XPM
|
||||
# define GRAPHIC_TOMBSTONE /* Use graphical tombstone (rip.xpm) */
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Section 2: Some global parameters and filenames.
|
||||
* Commenting out WIZARD, LOGFILE, NEWS or PANICLOG removes that
|
||||
* feature from the game; otherwise set the appropriate wizard
|
||||
* name. LOGFILE, NEWS and PANICLOG refer to files in the
|
||||
* playground.
|
||||
*/
|
||||
|
||||
#ifndef WIZARD /* allow for compile-time or Makefile changes */
|
||||
# ifndef KR1ED
|
||||
# define WIZARD "wizard" /* the person allowed to use the -D option */
|
||||
# else
|
||||
# define WIZARD
|
||||
# define WIZARD_NAME "wizard"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define LOGFILE "logfile" /* larger file for debugging purposes */
|
||||
#define NEWS "news" /* the file containing the latest hack news */
|
||||
#define PANICLOG "paniclog" /* log of panic and impossible events */
|
||||
|
||||
/*
|
||||
* If COMPRESS is defined, it should contain the full path name of your
|
||||
* 'compress' program. Defining INTERNAL_COMP causes NetHack to do
|
||||
* simpler byte-stream compression internally. Both COMPRESS and
|
||||
* INTERNAL_COMP create smaller bones/level/save files, but require
|
||||
* additional code and time. Currently, only UNIX fully implements
|
||||
* COMPRESS; other ports should be able to uncompress save files a
|
||||
* la unixmain.c if so inclined.
|
||||
* If you define COMPRESS, you must also define COMPRESS_EXTENSION
|
||||
* as the extension your compressor appends to filenames after
|
||||
* compression.
|
||||
*/
|
||||
|
||||
#ifdef UNIX
|
||||
/* path and file name extension for compression program */
|
||||
/* #define COMPRESS "/usr/bin/compress" */ /* Lempel-Ziv compression */
|
||||
/* #define COMPRESS_EXTENSION ".Z" */ /* compress's extension */
|
||||
/* An example of one alternative you might want to use: */
|
||||
#define COMPRESS "/usr/bin/gzip" /* FSF gzip compression */
|
||||
#define COMPRESS_EXTENSION ".gz" /* normal gzip extension */
|
||||
#endif
|
||||
|
||||
#ifndef COMPRESS
|
||||
# define INTERNAL_COMP /* control use of NetHack's compression routines */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Data librarian. Defining DLB places most of the support files into
|
||||
* a tar-like file, thus making a neater installation. See *conf.h
|
||||
* for detailed configuration.
|
||||
*/
|
||||
#define DLB /* not supported on all platforms */
|
||||
|
||||
/*
|
||||
* Defining INSURANCE slows down level changes, but allows games that
|
||||
* died due to program or system crashes to be resumed from the point
|
||||
* of the last level change, after running a utility program.
|
||||
*/
|
||||
#define INSURANCE /* allow crashed game recovery */
|
||||
|
||||
#ifndef MAC
|
||||
# define CHDIR /* delete if no chdir() available */
|
||||
#endif
|
||||
|
||||
#ifdef CHDIR
|
||||
/*
|
||||
* If you define HACKDIR, then this will be the default playground;
|
||||
* otherwise it will be the current directory.
|
||||
*/
|
||||
# ifndef HACKDIR
|
||||
# define HACKDIR "/usr/share/games/nethack"
|
||||
# endif
|
||||
|
||||
/*
|
||||
* Some system administrators are stupid enough to make Hack suid root
|
||||
* or suid daemon, where daemon has other powers besides that of reading or
|
||||
* writing Hack files. In such cases one should be careful with chdir's
|
||||
* since the user might create files in a directory of his choice.
|
||||
* Of course SECURE is meaningful only if HACKDIR is defined.
|
||||
*/
|
||||
/* #define SECURE */ /* do setuid(getuid()) after chdir() */
|
||||
|
||||
/*
|
||||
* If it is desirable to limit the number of people that can play Hack
|
||||
* simultaneously, define HACKDIR, SECURE and MAX_NR_OF_PLAYERS.
|
||||
* #define MAX_NR_OF_PLAYERS 6
|
||||
*/
|
||||
#endif /* CHDIR */
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Section 3: Definitions that may vary with system type.
|
||||
* For example, both schar and uchar should be short ints on
|
||||
* the AT&T 3B2/3B5/etc. family.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Uncomment the following line if your compiler doesn't understand the
|
||||
* 'void' type (and thus would give all sorts of compile errors without
|
||||
* this definition).
|
||||
*/
|
||||
/* #define NOVOID */ /* define if no "void" data type. */
|
||||
|
||||
/*
|
||||
* Uncomment the following line if your compiler falsely claims to be
|
||||
* a standard C compiler (i.e., defines __STDC__ without cause).
|
||||
* Examples are Apollo's cc (in some versions) and possibly SCO UNIX's rcc.
|
||||
*/
|
||||
/* #define NOTSTDC */ /* define for lying compilers */
|
||||
|
||||
#include "tradstdc.h"
|
||||
|
||||
/*
|
||||
* type schar: small signed integers (8 bits suffice) (eg. TOS)
|
||||
*
|
||||
* typedef char schar;
|
||||
*
|
||||
* will do when you have signed characters; otherwise use
|
||||
*
|
||||
* typedef short int schar;
|
||||
*/
|
||||
#ifdef AZTEC
|
||||
# define schar char
|
||||
#else
|
||||
typedef signed char schar;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* type uchar: small unsigned integers (8 bits suffice - but 7 bits do not)
|
||||
*
|
||||
* typedef unsigned char uchar;
|
||||
*
|
||||
* will be satisfactory if you have an "unsigned char" type;
|
||||
* otherwise use
|
||||
*
|
||||
* typedef unsigned short int uchar;
|
||||
*/
|
||||
#ifndef _AIX32 /* identical typedef in system file causes trouble */
|
||||
typedef unsigned char uchar;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Various structures have the option of using bitfields to save space.
|
||||
* If your C compiler handles bitfields well (e.g., it can initialize structs
|
||||
* containing bitfields), you can define BITFIELDS. Otherwise, the game will
|
||||
* allocate a separate character for each bitfield. (The bitfields used never
|
||||
* have more than 7 bits, and most are only 1 bit.)
|
||||
*/
|
||||
#define BITFIELDS /* Good bitfield handling */
|
||||
|
||||
/* #define STRNCMPI */ /* compiler/library has the strncmpi function */
|
||||
|
||||
/*
|
||||
* There are various choices for the NetHack vision system. There is a
|
||||
* choice of two algorithms with the same behavior. Defining VISION_TABLES
|
||||
* creates huge (60K) tables at compile time, drastically increasing data
|
||||
* size, but runs slightly faster than the alternate algorithm. (MSDOS in
|
||||
* particular cannot tolerate the increase in data size; other systems can
|
||||
* flip a coin weighted to local conditions.)
|
||||
*
|
||||
* If VISION_TABLES is not defined, things will be faster if you can use
|
||||
* MACRO_CPATH. Some cpps, however, cannot deal with the size of the
|
||||
* functions that have been macroized.
|
||||
*/
|
||||
|
||||
/* #define VISION_TABLES */ /* use vision tables generated at compile time */
|
||||
#ifndef VISION_TABLES
|
||||
# ifndef NO_MACRO_CPATH
|
||||
# define MACRO_CPATH /* use clear_path macros instead of functions */
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Section 4: THE FUN STUFF!!!
|
||||
*
|
||||
* Conditional compilation of special options are controlled here.
|
||||
* If you define the following flags, you will add not only to the
|
||||
* complexity of the game but also to the size of the load module.
|
||||
*/
|
||||
|
||||
/* dungeon features */
|
||||
#define SINKS /* Kitchen sinks - Janet Walz */
|
||||
/* dungeon levels */
|
||||
#define WALLIFIED_MAZE /* Fancy mazes - Jean-Christophe Collet */
|
||||
#define REINCARNATION /* Special Rogue-like levels */
|
||||
/* monsters & objects */
|
||||
#define KOPS /* Keystone Kops by Scott R. Turner */
|
||||
#define SEDUCE /* Succubi/incubi seduction, by KAA, suggested by IM */
|
||||
#define STEED /* Riding steeds */
|
||||
#define TOURIST /* Tourist players with cameras and Hawaiian shirts */
|
||||
/* difficulty */
|
||||
#define ELBERETH /* Engraving the E-word repels monsters */
|
||||
/* I/O */
|
||||
#define REDO /* support for redoing last command - DGK */
|
||||
#if !defined(MAC)
|
||||
# define CLIPPING /* allow smaller screens -- ERS */
|
||||
#endif
|
||||
|
||||
#ifdef REDO
|
||||
# define DOAGAIN '\001' /* ^A, the "redo" key used in cmd.c and getline.c */
|
||||
#endif
|
||||
|
||||
#define EXP_ON_BOTL /* Show experience on bottom line */
|
||||
/* #define SCORE_ON_BOTL */ /* added by Gary Erickson (erickson@ucivax) */
|
||||
|
||||
/*
|
||||
* Section 5: EXPERIMENTAL STUFF
|
||||
*
|
||||
* Conditional compilation of new or experimental options are controlled here.
|
||||
* Enable any of these at your own risk -- there are almost certainly
|
||||
* bugs left here.
|
||||
*/
|
||||
|
||||
/*#define GOLDOBJ */ /* Gold is kept on obj chains - Helge Hafting */
|
||||
#define AUTOPICKUP_EXCEPTIONS /* exceptions to autopickup */
|
||||
|
||||
/* End of Section 5 */
|
||||
|
||||
#include "global.h" /* Define everything else according to choices above */
|
||||
|
||||
#endif /* CONFIG_H */
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
NETHACKOPTIONS="windowtype:Qt" nethack
|
|
@ -0,0 +1,10 @@
|
|||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Name=NetHack (Qt)
|
||||
GenericName=Rogue-like Game
|
||||
Comment=Graphical NetHack client
|
||||
Exec=nethack-qt
|
||||
Icon=nethack.xpm
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Application;Game;StrategyGame;
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
NETHACKOPTIONS="windowtype:x11" nethack
|
|
@ -0,0 +1,10 @@
|
|||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Name=NetHack (X11)
|
||||
GenericName=Rogue-like Game
|
||||
Comment=Graphical NetHack client
|
||||
Exec=nethack-x11
|
||||
Icon=nethack.xpm
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Application;Game;StrategyGame;
|
|
@ -0,0 +1,10 @@
|
|||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Name=NetHack
|
||||
GenericName=Rogue-like Game
|
||||
Comment=Standard NetHack client
|
||||
Exec=nethack
|
||||
Icon=nethack.xpm
|
||||
Terminal=true
|
||||
Type=Application
|
||||
Categories=Application;Game;StrategyGame;
|
|
@ -0,0 +1,351 @@
|
|||
/* SCCS Id: @(#)unixconf.h 3.4 1999/07/02 */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
#ifdef UNIX
|
||||
#ifndef UNIXCONF_H
|
||||
#define UNIXCONF_H
|
||||
|
||||
/*
|
||||
* Some include files are in a different place under SYSV
|
||||
* BSD SYSV
|
||||
* <sys/time.h> <time.h>
|
||||
* <sgtty.h> <termio.h>
|
||||
*
|
||||
* Some routines are called differently
|
||||
* index strchr
|
||||
* rindex strrchr
|
||||
*
|
||||
*/
|
||||
|
||||
/* define exactly one of the following four choices */
|
||||
/* #define BSD 1 */ /* define for 4.n/Free/Open/Net BSD */
|
||||
/* also for relatives like SunOS 4.x, DG/UX, and */
|
||||
/* older versions of Linux */
|
||||
/* #define ULTRIX */ /* define for Ultrix v3.0 or higher (but not lower) */
|
||||
/* Use BSD for < v3.0 */
|
||||
/* "ULTRIX" not to be confused with "ultrix" */
|
||||
/* #define SYSV */ /* define for System V, Solaris 2.x, newer versions */
|
||||
/* of Linux */
|
||||
/* #define HPUX */ /* Hewlett-Packard's Unix, version 6.5 or higher */
|
||||
/* use SYSV for < v6.5 */
|
||||
|
||||
|
||||
/* define any of the following that are appropriate */
|
||||
/* #define SVR4 */ /* use in addition to SYSV for System V Release 4 */
|
||||
/* including Solaris 2+ */
|
||||
#define NETWORK /* if running on a networked system */
|
||||
/* e.g. Suns sharing a playground through NFS */
|
||||
/* #define SUNOS4 */ /* SunOS 4.x */
|
||||
#define LINUX /* Another Unix clone */
|
||||
/* #define CYGWIN32 */ /* Unix on Win32 -- use with case sensitive defines */
|
||||
/* #define GENIX */ /* Yet Another Unix Clone */
|
||||
/* #define HISX */ /* Bull Unix for XPS Machines */
|
||||
/* #define BOS */ /* Bull Open Software - Unix for DPX/2 Machines */
|
||||
/* #define UNIXPC */ /* use in addition to SYSV for AT&T 7300/3B1 */
|
||||
/* #define AIX_31 */ /* In AIX 3.1 (IBM RS/6000) use BSD ioctl's to gain
|
||||
* job control (note that AIX is SYSV otherwise)
|
||||
* Also define this for AIX 3.2 */
|
||||
|
||||
#define TERMINFO /* uses terminfo rather than termcap */
|
||||
/* Should be defined for most SYSV, SVR4 (including
|
||||
* Solaris 2+), HPUX, and Linux systems. In
|
||||
* particular, it should NOT be defined for the UNIXPC
|
||||
* unless you remove the use of the shared library in
|
||||
* the Makefile */
|
||||
#define TEXTCOLOR /* Use System V r3.2 terminfo color support */
|
||||
/* and/or ANSI color support on termcap systems */
|
||||
/* and/or X11 color */
|
||||
#define POSIX_JOB_CONTROL /* use System V / Solaris 2.x / POSIX job control */
|
||||
/* (e.g., VSUSP) */
|
||||
#define POSIX_TYPES /* use POSIX types for system calls and termios */
|
||||
/* Define for many recent OS releases, including
|
||||
* those with specific defines (since types are
|
||||
* changing toward the standard from earlier chaos).
|
||||
* For example, platforms using the GNU libraries,
|
||||
* Linux, Solaris 2.x
|
||||
*/
|
||||
|
||||
/* #define OPENWINBUG */ /* avoid a problem using OpenWindows 3.0 for
|
||||
X11 on SunOS 4.1.x, x>= 2. Do not define
|
||||
for other X11 implementations. */
|
||||
/* #define PYRAMID_BUG */ /* avoid a bug on the Pyramid */
|
||||
/* #define BSD_43_BUG */ /* for real 4.3BSD cc's without schain botch fix */
|
||||
/* #define MICROPORT_BUG */ /* problems with large arrays in structs */
|
||||
/* #define MICROPORT_286_BUG */ /* changes needed in termcap.c to get it to
|
||||
run with Microport Sys V/AT version 2.4.
|
||||
By Jay Maynard */
|
||||
/* #define AIXPS_2BUG */ /* avoid a problem with little_to_big() optimization */
|
||||
|
||||
/* #define RANDOM */ /* if neither random/srandom nor lrand48/srand48
|
||||
is available from your system */
|
||||
|
||||
/* see sys/unix/snd86unx.shr for more information on these */
|
||||
/* #define UNIX386MUSIC */ /* play real music through speaker on systems
|
||||
with music driver installed */
|
||||
/* #define VPIX_MUSIC */ /* play real music through speaker on systems
|
||||
with built-in VPIX support */
|
||||
|
||||
|
||||
/*
|
||||
* The next two defines are intended mainly for the Andrew File System,
|
||||
* which does not allow hard links. If NO_FILE_LINKS is defined, lock files
|
||||
* will be created in LOCKDIR using open() instead of in the playground using
|
||||
* link().
|
||||
* Ralf Brown, 7/26/89 (from v2.3 hack of 10/10/88)
|
||||
*/
|
||||
|
||||
/* #define NO_FILE_LINKS */ /* if no hard links */
|
||||
/* #define LOCKDIR "/usr/games/lib/nethackdir" */ /* where to put locks */
|
||||
|
||||
/*
|
||||
* If you want the static parts of your playground on a read-only file
|
||||
* system, define VAR_PLAYGROUND to be where the variable parts are kept.
|
||||
*/
|
||||
#define VAR_PLAYGROUND "/var/lib/nethack"
|
||||
|
||||
|
||||
/*
|
||||
* Define DEF_PAGER as your default pager, e.g. "/bin/cat" or "/usr/ucb/more"
|
||||
* If defined, it can be overridden by the environment variable PAGER.
|
||||
* Hack will use its internal pager if DEF_PAGER is not defined.
|
||||
* (This might be preferable for security reasons.)
|
||||
* #define DEF_PAGER ".../mydir/mypager"
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Define PORT_HELP to be the name of the port-specfic help file.
|
||||
* This file is found in HACKDIR.
|
||||
* Normally, you shouldn't need to change this.
|
||||
* There is currently no port-specific help for Unix systems.
|
||||
*/
|
||||
/* #define PORT_HELP "Unixhelp" */
|
||||
|
||||
#ifdef TTY_GRAPHICS
|
||||
/*
|
||||
* To enable the `timed_delay' option for using a timer rather than extra
|
||||
* screen output when pausing for display effect. Requires that `msleep'
|
||||
* function be available (with time argument specified in milliseconds).
|
||||
* Various output devices can produce wildly varying delays when the
|
||||
* "extra output" method is used, but not all systems provide access to
|
||||
* a fine-grained timer.
|
||||
*/
|
||||
#define TIMED_DELAY /* usleep() */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* If you define MAIL, then the player will be notified of new mail
|
||||
* when it arrives. If you also define DEF_MAILREADER then this will
|
||||
* be the default mail reader, and can be overridden by the environment
|
||||
* variable MAILREADER; otherwise an internal pager will be used.
|
||||
* A stat system call is done on the mailbox every MAILCKFREQ moves.
|
||||
*/
|
||||
|
||||
#define MAIL /* Deliver mail during the game */
|
||||
|
||||
/* The Andrew Message System does mail a little differently from normal
|
||||
* UNIX. Mail is deposited in the user's own directory in ~/Mailbox
|
||||
* (another directory). MAILBOX is the element that will be added on to
|
||||
* the user's home directory path to generate the Mailbox path - just in
|
||||
* case other Andrew sites do it differently from CMU.
|
||||
*
|
||||
* dan lovinger
|
||||
* dl2n+@andrew.cmu.edu (dec 19 1989)
|
||||
*/
|
||||
|
||||
/* #define AMS */ /* use Andrew message system for mail */
|
||||
|
||||
/* NO_MAILREADER is for kerberos authenticating filesystems where it is
|
||||
* essentially impossible to securely exec child processes, like mail
|
||||
* readers, when the game is running under a special token.
|
||||
*
|
||||
* dan
|
||||
*/
|
||||
|
||||
/* #define NO_MAILREADER */ /* have mail daemon just tell player of mail */
|
||||
|
||||
#ifdef MAIL
|
||||
# if defined(BSD) || defined(ULTRIX)
|
||||
# ifdef AMS
|
||||
#define AMS_MAILBOX "/Mailbox"
|
||||
# else
|
||||
# if defined(__FreeBSD__) || defined(__OpenBSD__)
|
||||
#define DEF_MAILREADER "/usr/bin/mail"
|
||||
# else
|
||||
#define DEF_MAILREADER "/usr/ucb/Mail"
|
||||
# endif
|
||||
# endif
|
||||
#else
|
||||
# if (defined(SYSV) || defined(DGUX) || defined(HPUX)) && !defined(LINUX)
|
||||
# if defined(M_XENIX)
|
||||
#define DEF_MAILREADER "/usr/bin/mail"
|
||||
# else
|
||||
# ifdef __sgi
|
||||
#define DEF_MAILREADER "/usr/sbin/Mail"
|
||||
# else
|
||||
#define DEF_MAILREADER "/usr/bin/mailx"
|
||||
# endif
|
||||
# endif
|
||||
# else
|
||||
#define DEF_MAILREADER "/bin/mail"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define MAILCKFREQ 50
|
||||
#endif /* MAIL */
|
||||
|
||||
|
||||
|
||||
#ifdef COMPRESS
|
||||
/* Some implementations of compress need a 'quiet' option.
|
||||
* If you've got one of these versions, put -q here.
|
||||
* You can also include any other strange options your compress needs.
|
||||
* If you have a normal compress, just leave it commented out.
|
||||
*/
|
||||
/* #define COMPRESS_OPTIONS "-q" */
|
||||
#endif
|
||||
|
||||
#define FCMASK 0660 /* file creation mask */
|
||||
|
||||
|
||||
/*
|
||||
* The remainder of the file should not need to be changed.
|
||||
*/
|
||||
|
||||
#ifdef _AUX_SOURCE
|
||||
# ifdef AUX /* gcc ? */
|
||||
# define _SYSV_SOURCE
|
||||
# define _BSD_SOURCE
|
||||
#else
|
||||
# define AUX
|
||||
# endif
|
||||
#endif /* _AUX_SOURCE */
|
||||
|
||||
#if defined(LINUX) || defined(bsdi)
|
||||
# ifndef POSIX_TYPES
|
||||
# define POSIX_TYPES
|
||||
# endif
|
||||
# ifndef POSIX_JOB_CONTROL
|
||||
# define POSIX_JOB_CONTROL
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* BSD/ULTRIX systems are normally the only ones that can suspend processes.
|
||||
* Suspending NetHack processes cleanly should be easy to add to other systems
|
||||
* that have SIGTSTP in the Berkeley sense. Currently the only such systems
|
||||
* known to work are HPUX and AIX 3.1; other systems will probably require
|
||||
* tweaks to unixtty.c and ioctl.c.
|
||||
*
|
||||
* POSIX defines a slightly different type of job control, which should be
|
||||
* equivalent for NetHack's purposes. POSIX_JOB_CONTROL should work on
|
||||
* various recent SYSV versions (with possibly tweaks to unixtty.c again).
|
||||
*/
|
||||
#ifndef POSIX_JOB_CONTROL
|
||||
# if defined(BSD) || defined(ULTRIX) || defined(HPUX) || defined(AIX_31)
|
||||
# define BSD_JOB_CONTROL
|
||||
# else
|
||||
# if defined(SVR4)
|
||||
# define POSIX_JOB_CONTROL
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
#if defined(BSD_JOB_CONTROL) || defined(POSIX_JOB_CONTROL) || defined(AUX)
|
||||
#define SUSPEND /* let ^Z suspend the game */
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(BSD) || defined(ULTRIX)
|
||||
#include <sys/time.h>
|
||||
#else
|
||||
#include <time.h>
|
||||
#endif
|
||||
|
||||
#define HLOCK "perm" /* an empty file used for locking purposes */
|
||||
|
||||
#ifndef REDO
|
||||
#define Getchar nhgetch
|
||||
#endif
|
||||
#define tgetch getchar
|
||||
|
||||
#define SHELL /* do not delete the '!' command */
|
||||
|
||||
#include "system.h"
|
||||
|
||||
#if defined(POSIX_TYPES) || defined(__GNUC__)
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#if defined(POSIX_TYPES) || defined(__GNUC__) || defined(BSD) || defined(ULTRIX)
|
||||
#include <sys/wait.h>
|
||||
#endif
|
||||
|
||||
#if defined(BSD) || defined(ULTRIX)
|
||||
# if !defined(DGUX) && !defined(SUNOS4)
|
||||
#define memcpy(d, s, n) bcopy(s, d, n)
|
||||
#define memcmp(s1, s2, n) bcmp(s2, s1, n)
|
||||
# endif
|
||||
# ifdef SUNOS4
|
||||
#include <memory.h>
|
||||
# endif
|
||||
#else /* therefore SYSV */
|
||||
# ifndef index /* some systems seem to do this for you */
|
||||
#define index strchr
|
||||
# endif
|
||||
# ifndef rindex
|
||||
#define rindex strrchr
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Use the high quality random number routines. */
|
||||
#if defined(BSD) || defined(LINUX) || defined(ULTRIX) || defined(CYGWIN32) || defined(RANDOM) || defined(__APPLE__)
|
||||
#define Rand() random()
|
||||
#else
|
||||
#define Rand() lrand48()
|
||||
#endif
|
||||
|
||||
#ifdef TIMED_DELAY
|
||||
# if defined(SUNOS4) || defined(LINUX) || (defined(BSD) && !defined(ULTRIX))
|
||||
# define msleep(k) usleep((k)*1000)
|
||||
# endif
|
||||
# ifdef ULTRIX
|
||||
# define msleep(k) napms(k)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef hc /* older versions of the MetaWare High-C compiler define this */
|
||||
# ifdef __HC__
|
||||
# undef __HC__
|
||||
# endif
|
||||
# define __HC__ hc
|
||||
# undef hc
|
||||
#endif
|
||||
|
||||
#if defined(GNOME_GRAPHICS)
|
||||
#if defined(LINUX)
|
||||
# include <linux/unistd.h>
|
||||
# if defined(__NR_getresuid) && defined(__NR_getresgid) /* ie., >= v2.1.44 */
|
||||
# define GETRES_SUPPORT
|
||||
# endif
|
||||
#else
|
||||
# if defined(BSD) || defined(SVR4)
|
||||
/*
|
||||
* [ALI] We assume that SVR4 means we can safely include syscall.h
|
||||
* (although it's really a BSDism). This is certainly true for Solaris 2.5,
|
||||
* Solaris 7, Solaris 8 and Compaq Tru64 5.1
|
||||
* Later BSD systems will have the getresid system calls.
|
||||
*/
|
||||
# include <sys/syscall.h>
|
||||
# if (defined (SYS_getuid) || defined(SYS_getresuid)) && \
|
||||
(defined(SYS_getgid) || defined(SYS_getresgid))
|
||||
# define GETRES_SUPPORT
|
||||
# endif
|
||||
# endif /* BSD || SVR4 */
|
||||
#endif /* LINUX */
|
||||
#endif /* GNOME_GRAPHICS */
|
||||
|
||||
#endif /* UNIXCONF_H */
|
||||
#endif /* UNIX */
|
|
@ -0,0 +1,88 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Slackware build script for nethack
|
||||
|
||||
# Written by (Wade Nelson) (wade.nels@gmail.com)
|
||||
|
||||
PRGNAM=nethack
|
||||
VERSION=${VERSION:-3.4.3}
|
||||
SRCSUFFIX=343-src
|
||||
ARCH=${ARCH:-i486}
|
||||
BUILD=${BUILD:-1}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
CWD=$(pwd)
|
||||
TMP=${TMP:-/tmp/SBo}
|
||||
PKG=$TMP/package-$PRGNAM
|
||||
OUTPUT=${OUTPUT:-/tmp}
|
||||
|
||||
if [ "$ARCH" = "i486" ]; then
|
||||
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
|
||||
elif [ "$ARCH" = "i686" ]; then
|
||||
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
|
||||
elif [ "$ARCH" = "x86_64" ]; then
|
||||
SLKCFLAGS="-O2 -fPIC"
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
rm -rf $PKG
|
||||
mkdir -p $TMP $PKG $OUTPUT
|
||||
cd $TMP
|
||||
rm -rf $PRGNAM-$VERSION
|
||||
tar xvf $CWD/$PRGNAM-$SRCSUFFIX.tgz
|
||||
cd $PRGNAM-$VERSION
|
||||
chown -R root:root .
|
||||
find . \
|
||||
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
|
||||
-exec chmod 755 {} \; -o \
|
||||
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
|
||||
-exec chmod 644 {} \;
|
||||
|
||||
# build configuration
|
||||
patch -p0 < $CWD/patches/config_h.patch
|
||||
patch -p0 < $CWD/patches/unixconf_h.patch
|
||||
patch -p0 < $CWD/patches/Makefile_src.patch
|
||||
patch -p0 < $CWD/patches/Makefile_top.patch
|
||||
patch -p0 < $CWD/patches/Makefile_utl.patch
|
||||
cd sys/unix/ && sh setup.sh && cd ../../
|
||||
patch -p0 < $CWD/patches/Makefile_doc.patch
|
||||
|
||||
# build & install
|
||||
make all
|
||||
make install DESTDIR=$PKG
|
||||
make manpages DESTDIR=$PKG
|
||||
|
||||
# launchers & menu entries
|
||||
mkdir -v -p $PKG/usr/share/{applications,pixmaps}
|
||||
cat $CWD/files/nethack-qt > $PKG/usr/bin/nethack-qt
|
||||
cat $CWD/files/nethack-x11 > $PKG/usr/bin/nethack-x11
|
||||
chmod a+x $PKG/usr/bin/nethack{-qt,-x11}
|
||||
cp -v win/X11/nh_icon.xpm $PKG/usr/share/pixmaps/nethack.xpm
|
||||
cat $CWD/files/nethack.desktop > $PKG/usr/share/applications/nethack.desktop
|
||||
cat $CWD/files/nethack-qt.desktop > $PKG/usr/share/applications/nethack-qt.desktop
|
||||
cat $CWD/files/nethack-x11.desktop > $PKG/usr/share/applications/nethack-x11.desktop
|
||||
|
||||
# documentation
|
||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp README doc/{Guidebook,dgn_comp,dlb,lev_comp,nethack,recover}.txt \
|
||||
sys/unix/README.linux win/Qt/Install.Qt win/X11/Install.X11 \
|
||||
$PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||
|
||||
( cd $PKG
|
||||
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
|
||||
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
||||
)
|
||||
|
||||
( cd $PKG/usr/man
|
||||
find . -type f -exec gzip -9 {} \;
|
||||
for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
|
||||
)
|
||||
|
||||
mkdir -p $PKG/install
|
||||
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||
cat $CWD/doinst.sh > $PKG/install/doinst.sh
|
||||
|
||||
cd $PKG
|
||||
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz
|
|
@ -0,0 +1,8 @@
|
|||
PRGNAM="nethack"
|
||||
VERSION="3.4.3"
|
||||
HOMEPAGE="http://www.nethack.org"
|
||||
DOWNLOAD="http://downloads.sourceforge.net/nethack/nethack-343-src.tgz"
|
||||
MD5SUM="21479c95990eefe7650df582426457f9"
|
||||
MAINTAINER="Wade Nelson"
|
||||
EMAIL="wade.nels@gmail.com"
|
||||
APPROVED="David Somero"
|
|
@ -0,0 +1,28 @@
|
|||
--- doc/Makefile 2008-05-15 15:33:13.000000000 -0500
|
||||
+++ doc/Makefile-doc.slack 2008-05-15 15:29:34.000000000 -0500
|
||||
@@ -45,6 +45,7 @@
|
||||
MANEXT = 6
|
||||
|
||||
# manual installation for most BSD-style systems
|
||||
+MANDIRCREATE = mkdir -p $(DESTDIR)/$(MANDIR)
|
||||
GAMEMANCREATE = cp nethack.6
|
||||
LEVMANCREATE = cp lev_comp.6
|
||||
DGNMANCREATE = cp dgn_comp.6
|
||||
@@ -58,11 +59,12 @@
|
||||
# DLBMANCREATE = nroff -man dlb.6 >
|
||||
|
||||
manpages:
|
||||
- -$(GAMEMANCREATE) $(MANDIR)/$(GAME).$(MANEXT)
|
||||
- -$(LEVMANCREATE) $(MANDIR)/lev_comp.$(MANEXT)
|
||||
- -$(DGNMANCREATE) $(MANDIR)/dgn_comp.$(MANEXT)
|
||||
- -$(RCVRMANCREATE) $(MANDIR)/recover.$(MANEXT)
|
||||
- -$(DLBMANCREATE) $(MANDIR)/dlb.$(MANEXT)
|
||||
+ -$(MANDIRCREATE)
|
||||
+ -$(GAMEMANCREATE) $(DESTDIR)/$(MANDIR)/$(GAME).$(MANEXT)
|
||||
+ -$(LEVMANCREATE) $(DESTDIR)/$(MANDIR)/lev_comp.$(MANEXT)
|
||||
+ -$(DGNMANCREATE) $(DESTDIR)/$(MANDIR)/dgn_comp.$(MANEXT)
|
||||
+ -$(RCVRMANCREATE) $(DESTDIR)/$(MANDIR)/recover.$(MANEXT)
|
||||
+ -$(DLBMANCREATE) $(DESTDIR)/$(MANDIR)/dlb.$(MANEXT)
|
||||
|
||||
# manual creation for distribution
|
||||
DISTRIB = Guidebook.txt nethack.txt lev_comp.txt dgn_comp.txt recover.txt dlb.txt
|
|
@ -0,0 +1,83 @@
|
|||
--- sys/unix/Makefile.src 2003-12-07 17:39:13.000000000 -0600
|
||||
+++ sys/unix/Makefile.src.slack 2008-05-15 15:29:14.000000000 -0500
|
||||
@@ -61,7 +61,7 @@
|
||||
# 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
|
||||
+CC = gcc
|
||||
#
|
||||
# For Bull DPX/2 systems at B.O.S. 2.0 or higher use the following:
|
||||
#
|
||||
@@ -125,7 +125,7 @@
|
||||
# flags for Linux
|
||||
# compile normally
|
||||
# CFLAGS = -O2 -fomit-frame-pointer -I../include
|
||||
-# LFLAGS = -L/usr/X11R6/lib
|
||||
+LFLAGS = -L/usr/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
|
||||
@@ -186,7 +186,8 @@
|
||||
# Files for a Qt port
|
||||
#
|
||||
WINQTSRC = ../win/Qt/qt_win.cpp ../win/Qt/qt_clust.cpp ../win/Qt/qttableview.cpp
|
||||
-WINQTOBJ = qt_win.o qt_clust.o qttableview.o tile.o
|
||||
+# WINQTOBJ = qt_win.o qt_clust.o qttableview.o tile.o
|
||||
+WINQTOBJ = qt_win.o qt_clust.o qttableview.o
|
||||
#
|
||||
# Files for a Gnome port
|
||||
#
|
||||
@@ -214,8 +215,8 @@
|
||||
|
||||
#
|
||||
#
|
||||
-WINSRC = $(WINTTYSRC)
|
||||
-WINOBJ = $(WINTTYOBJ)
|
||||
+WINSRC = $(WINTTYSRC) $(WINX11SRC) $(WINQTSRC) $(WINKDESRC)
|
||||
+WINOBJ = $(WINTTYOBJ) $(WINX11OBJ) $(WINQTOBJ) $(WINKDEOBJ)
|
||||
|
||||
# on some systems the termcap library is in -ltermcap or -lcurses
|
||||
# on 386 Xenix, the -ltermlib tputs() seems not to work; use -lcurses instead
|
||||
@@ -230,18 +231,19 @@
|
||||
# WINTTYLIB = -ltermcap
|
||||
# WINTTYLIB = -lcurses
|
||||
# WINTTYLIB = -lcurses16
|
||||
-# WINTTYLIB = -lncurses
|
||||
-WINTTYLIB = -ltermlib
|
||||
+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 -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
|
||||
+WINX11LIB = -lXaw -lXmu -lXext -lXt -lXpm -lX11
|
||||
#
|
||||
# libraries for Qt
|
||||
-WINQTLIB = -L$(QTDIR)/lib -lqt
|
||||
+WINQTLIB = -L$(QTDIR)/lib -lqt-mt
|
||||
#
|
||||
# libraries for KDE (with Qt)
|
||||
WINKDELIB = -lkdecore -lkdeui -lXext
|
||||
@@ -255,7 +257,7 @@
|
||||
# libraries for BeOS
|
||||
WINBELIB = -lbe
|
||||
|
||||
-WINLIB = $(WINTTYLIB)
|
||||
+WINLIB = $(WINTTYLIB) $(WINX11LIB) $(WINQTLIB) $(WINKDELIB)
|
||||
|
||||
# any other strange libraries your system needs (for Sysunix only -- the more
|
||||
# specialized targets should already be right)
|
||||
@@ -295,7 +297,7 @@
|
||||
|
||||
|
||||
# used by `make depend' to reconstruct this Makefile; you shouldn't need this
|
||||
-AWK = nawk
|
||||
+AWK = gawk
|
||||
|
||||
# ----------------------------------------
|
||||
#
|
|
@ -0,0 +1,140 @@
|
|||
--- sys/unix/Makefile.top 2003-12-07 17:39:13.000000000 -0600
|
||||
+++ sys/unix/Makefile.top.slack 2008-05-15 15:29:20.000000000 -0500
|
||||
@@ -17,15 +17,15 @@
|
||||
PREFIX = /usr
|
||||
GAME = nethack
|
||||
# GAME = nethack.prg
|
||||
-GAMEUID = games
|
||||
-GAMEGRP = bin
|
||||
+GAMEUID = root
|
||||
+GAMEGRP = games
|
||||
|
||||
# Permissions - some places use setgid instead of setuid, for instance
|
||||
# See also the option "SECURE" in include/config.h
|
||||
-GAMEPERM = 04755
|
||||
-FILEPERM = 0644
|
||||
+GAMEPERM = 02755
|
||||
+FILEPERM = 0664
|
||||
EXEPERM = 0755
|
||||
-DIRPERM = 0755
|
||||
+DIRPERM = 0775
|
||||
|
||||
# GAMEDIR also appears in config.h as "HACKDIR".
|
||||
# VARDIR may also appear in unixconf.h as "VAR_PLAYGROUND" else GAMEDIR
|
||||
@@ -35,14 +35,14 @@
|
||||
# therefore there should not be anything in GAMEDIR that you want to keep
|
||||
# (if there is, you'll have to do the installation by hand or modify the
|
||||
# instructions)
|
||||
-GAMEDIR = $(PREFIX)/games/lib/$(GAME)dir
|
||||
-VARDIR = $(GAMEDIR)
|
||||
-SHELLDIR = $(PREFIX)/games
|
||||
+GAMEDIR = $(PREFIX)/share/games/nethack
|
||||
+VARDIR = /var/lib/nethack
|
||||
+SHELLDIR = $(PREFIX)/bin
|
||||
|
||||
# per discussion in Install.X11 and Install.Qt
|
||||
-VARDATND =
|
||||
+# VARDATND =
|
||||
# VARDATND = x11tiles NetHack.ad pet_mark.xbm
|
||||
-# VARDATND = x11tiles NetHack.ad pet_mark.xbm rip.xpm
|
||||
+VARDATND = x11tiles NetHack.ad pet_mark.xbm rip.xpm nhsplash.xpm
|
||||
# for Atari/Gem
|
||||
# VARDATND = nh16.img title.img GEM_RSC.RSC rip.img
|
||||
# for BeOS
|
||||
@@ -183,68 +183,68 @@
|
||||
-e '}' \
|
||||
-e '$$s/.*/nodlb/p' < dat/options` ; \
|
||||
$(MAKE) dofiles-$${target-nodlb}
|
||||
- cp src/$(GAME) $(GAMEDIR)
|
||||
- cp util/recover $(GAMEDIR)
|
||||
- -rm -f $(SHELLDIR)/$(GAME)
|
||||
+ cp src/$(GAME) $(DESTDIR)/$(GAMEDIR)
|
||||
+ cp util/recover $(DESTDIR)/$(GAMEDIR)
|
||||
+ -rm -f $(DESTDIR)/$(SHELLDIR)/$(GAME)
|
||||
sed -e 's;/usr/games/lib/nethackdir;$(GAMEDIR);' \
|
||||
-e 's;HACKDIR/nethack;HACKDIR/$(GAME);' \
|
||||
< sys/unix/nethack.sh \
|
||||
- > $(SHELLDIR)/$(GAME)
|
||||
+ > $(DESTDIR)/$(SHELLDIR)/$(GAME)
|
||||
# set up their permissions
|
||||
- -( cd $(GAMEDIR) ; $(CHOWN) $(GAMEUID) $(GAME) recover ; \
|
||||
+ -( cd $(DESTDIR)/$(GAMEDIR) ; $(CHOWN) $(GAMEUID) $(GAME) recover ; \
|
||||
$(CHGRP) $(GAMEGRP) $(GAME) recover )
|
||||
- chmod $(GAMEPERM) $(GAMEDIR)/$(GAME)
|
||||
- chmod $(EXEPERM) $(GAMEDIR)/recover
|
||||
- -$(CHOWN) $(GAMEUID) $(SHELLDIR)/$(GAME)
|
||||
- $(CHGRP) $(GAMEGRP) $(SHELLDIR)/$(GAME)
|
||||
- chmod $(EXEPERM) $(SHELLDIR)/$(GAME)
|
||||
+ chmod $(GAMEPERM) $(DESTDIR)/$(GAMEDIR)/$(GAME)
|
||||
+ chmod $(EXEPERM) $(DESTDIR)/$(GAMEDIR)/recover
|
||||
+ -$(CHOWN) $(GAMEUID) $(DESTDIR)/$(SHELLDIR)/$(GAME)
|
||||
+ $(CHGRP) $(GAMEGRP) $(DESTDIR)/$(SHELLDIR)/$(GAME)
|
||||
+ chmod $(EXEPERM) $(DESTDIR)/$(SHELLDIR)/$(GAME)
|
||||
|
||||
dofiles-dlb: check-dlb
|
||||
- ( cd dat ; cp nhdat $(DATNODLB) $(GAMEDIR) )
|
||||
+ ( cd dat ; cp nhdat $(DATNODLB) $(DESTDIR)/$(GAMEDIR) )
|
||||
# set up their permissions
|
||||
- -( cd $(GAMEDIR) ; $(CHOWN) $(GAMEUID) nhdat $(DATNODLB) ; \
|
||||
+ -( cd $(DESTDIR)/$(GAMEDIR) ; $(CHOWN) $(GAMEUID) nhdat $(DATNODLB) ; \
|
||||
$(CHGRP) $(GAMEGRP) nhdat $(DATNODLB) ; \
|
||||
chmod $(FILEPERM) nhdat $(DATNODLB) )
|
||||
|
||||
dofiles-nodlb:
|
||||
# copy over the game files
|
||||
- ( cd dat ; cp $(DAT) $(GAMEDIR) )
|
||||
+ ( cd dat ; cp $(DAT) $(DESTDIR)/$(GAMEDIR) )
|
||||
# set up their permissions
|
||||
- -( cd $(GAMEDIR) ; $(CHOWN) $(GAMEUID) $(DAT) ; \
|
||||
+ -( cd $(DESTDIR)/$(GAMEDIR) ; $(CHOWN) $(GAMEUID) $(DAT) ; \
|
||||
$(CHGRP) $(GAMEGRP) $(DAT) ; \
|
||||
chmod $(FILEPERM) $(DAT) )
|
||||
|
||||
update: $(GAME) recover $(VARDAT) dungeon spec_levs
|
||||
# (don't yank the old version out from under people who're playing it)
|
||||
- -mv $(GAMEDIR)/$(GAME) $(GAMEDIR)/$(GAME).old
|
||||
+ -mv $(DESTDIR)/$(GAMEDIR)/$(GAME) $(DESTDIR)/$(GAMEDIR)/$(GAME).old
|
||||
# quest.dat is also kept open and has the same problems over NFS
|
||||
# (quest.dat may be inside nhdat if dlb is in use)
|
||||
- -mv $(GAMEDIR)/quest.dat $(GAMEDIR)/quest.dat.old
|
||||
- -mv $(GAMEDIR)/nhdat $(GAMEDIR)/nhdat.old
|
||||
+ -mv $(DESTDIR)/$(GAMEDIR)/quest.dat $(DESTDIR)/$(GAMEDIR)/quest.dat.old
|
||||
+ -mv $(DESTDIR)/$(GAMEDIR)/nhdat $(DESTDIR)/$(GAMEDIR)/nhdat.old
|
||||
# set up new versions of the game files
|
||||
( $(MAKE) dofiles )
|
||||
# touch time-sensitive files
|
||||
- -touch -c $(VARDIR)/bones* $(VARDIR)/?lock* $(VARDIR)/wizard*
|
||||
- -touch -c $(VARDIR)/save/*
|
||||
- touch $(VARDIR)/perm $(VARDIR)/record
|
||||
+ -touch -c $(DESTDIR)/$(VARDIR)/bones* $(DESTDIR)/$(VARDIR)/?lock* $(DESTDIR)/$(VARDIR)/wizard*
|
||||
+ -touch -c $(DESTDIR)/$(VARDIR)/save/*
|
||||
+ touch $(DESTDIR)/$(VARDIR)/perm $(DESTDIR)/$(VARDIR)/record
|
||||
# and a reminder
|
||||
@echo You may also want to install the man pages via the doc Makefile.
|
||||
|
||||
install: $(GAME) recover $(VARDAT) dungeon spec_levs
|
||||
# set up the directories
|
||||
# not all mkdirs have -p; those that don't will create a -p directory
|
||||
- -mkdir -p $(SHELLDIR)
|
||||
- -rm -rf $(GAMEDIR) $(VARDIR)
|
||||
- -mkdir -p $(GAMEDIR) $(VARDIR) $(VARDIR)/save
|
||||
+ -mkdir -p $(DESTDIR)/$(SHELLDIR)
|
||||
+ -rm -rf $(DESTDIR)/$(GAMEDIR) $(DESTDIR)/$(VARDIR)
|
||||
+ -mkdir -p $(DESTDIR)/$(GAMEDIR) $(DESTDIR)/$(VARDIR) $(DESTDIR)/$(VARDIR)/save
|
||||
-rmdir ./-p
|
||||
- -$(CHOWN) $(GAMEUID) $(GAMEDIR) $(VARDIR) $(VARDIR)/save
|
||||
- $(CHGRP) $(GAMEGRP) $(GAMEDIR) $(VARDIR) $(VARDIR)/save
|
||||
- chmod $(DIRPERM) $(GAMEDIR) $(VARDIR) $(VARDIR)/save
|
||||
+ -$(CHOWN) $(GAMEUID) $(DESTDIR)/$(GAMEDIR) $(DESTDIR)/$(VARDIR) $(DESTDIR)/$(VARDIR)/save
|
||||
+ $(CHGRP) $(GAMEGRP) $(DESTDIR)/$(GAMEDIR) $(DESTDIR)/$(VARDIR) $(DESTDIR)/$(VARDIR)/save
|
||||
+ chmod $(DIRPERM) $(DESTDIR)/$(GAMEDIR) $(DESTDIR)/$(VARDIR) $(DESTDIR)/$(VARDIR)/save
|
||||
# set up the game files
|
||||
( $(MAKE) dofiles )
|
||||
# set up some additional files
|
||||
- touch $(VARDIR)/perm $(VARDIR)/record $(VARDIR)/logfile
|
||||
- -( cd $(VARDIR) ; $(CHOWN) $(GAMEUID) perm record logfile ; \
|
||||
+ touch $(DESTDIR)/$(VARDIR)/perm $(DESTDIR)/$(VARDIR)/record $(DESTDIR)/$(VARDIR)/logfile
|
||||
+ -( cd $(DESTDIR)/$(VARDIR) ; $(CHOWN) $(GAMEUID) perm record logfile ; \
|
||||
$(CHGRP) $(GAMEGRP) perm record logfile ; \
|
||||
chmod $(FILEPERM) perm record logfile )
|
||||
# and a reminder
|
|
@ -0,0 +1,51 @@
|
|||
--- sys/unix/Makefile.utl 2003-12-07 17:39:13.000000000 -0600
|
||||
+++ sys/unix/Makefile.utl.slack 2008-05-15 15:29:29.000000000 -0500
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
# if you are using gcc as your compiler,
|
||||
# uncomment the CC definition below if it's not in your environment
|
||||
-# CC = gcc
|
||||
+CC = gcc
|
||||
#
|
||||
# For Bull DPX/2 systems at B.O.S. 2.0 or higher use the following:
|
||||
#
|
||||
@@ -73,7 +73,7 @@
|
||||
# flags for Linux
|
||||
# compile normally
|
||||
# CFLAGS = -O2 -fomit-frame-pointer -I../include
|
||||
-# LFLAGS = -L/usr/X11R6/lib
|
||||
+LFLAGS = -L/usr/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
|
||||
@@ -90,7 +90,7 @@
|
||||
# CFLAGS = -g -I../include
|
||||
|
||||
CFLAGS = -O -I../include
|
||||
-LFLAGS =
|
||||
+# LFLAGS =
|
||||
|
||||
LIBS =
|
||||
|
||||
@@ -101,11 +101,11 @@
|
||||
|
||||
# yacc/lex programs to use to generate *_comp.h, *_lex.c, and *_yacc.c.
|
||||
# if, instead of yacc/lex you have bison/flex, comment/uncomment the following.
|
||||
-YACC = yacc
|
||||
-LEX = lex
|
||||
-# YACC = bison -y
|
||||
+# YACC = yacc
|
||||
+# LEX = lex
|
||||
+YACC = bison -y
|
||||
# YACC = byacc
|
||||
-# LEX = flex
|
||||
+LEX = flex
|
||||
|
||||
# these are the names of the output files from YACC/LEX. Under MS-DOS
|
||||
# and similar systems, they may differ
|
||||
@@ -400,4 +400,4 @@
|
||||
|
||||
tileedit: tileedit.cpp $(TEXT_IO)
|
||||
$(QTDIR)/bin/moc -o tileedit.moc tileedit.h
|
||||
- $(CC) -o tileedit -I../include -I$(QTDIR)/include -L$(QTDIR)/lib tileedit.cpp $(TEXT_IO) -lqt
|
||||
+ $(CC) -o tileedit -I../include -I$(QTDIR)/include -L$(QTDIR)/lib tileedit.cpp $(TEXT_IO) -lqt-mt
|
|
@ -0,0 +1,74 @@
|
|||
--- include/config.h 2003-12-07 17:39:13.000000000 -0600
|
||||
+++ include/config.h.slack 2008-05-15 16:52:38.000000000 -0500
|
||||
@@ -43,8 +43,8 @@
|
||||
* Some combinations make no sense. See the installation document.
|
||||
*/
|
||||
#define TTY_GRAPHICS /* good old tty based graphics */
|
||||
-/* #define X11_GRAPHICS */ /* X11 interface */
|
||||
-/* #define QT_GRAPHICS */ /* Qt interface */
|
||||
+#define X11_GRAPHICS /* X11 interface */
|
||||
+#define QT_GRAPHICS /* Qt interface */
|
||||
/* #define GNOME_GRAPHICS */ /* Gnome interface */
|
||||
/* #define MSWIN_GRAPHICS */ /* Windows NT, CE, Graphics */
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
# define USE_XPM /* Use XPM format for images (required) */
|
||||
# define GRAPHIC_TOMBSTONE /* Use graphical tombstone (rip.ppm) */
|
||||
# ifndef DEFAULT_WINDOW_SYS
|
||||
-# define DEFAULT_WINDOW_SYS "Qt"
|
||||
+# define DEFAULT_WINDOW_SYS "tty"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
* would allow:
|
||||
* xpmtoppm <x11tiles.xpm | pnmscale 1.25 | ppmquant 90 >x11tiles_big.xpm
|
||||
*/
|
||||
-/* # define USE_XPM */ /* Disable if you do not have the XPM library */
|
||||
+# define USE_XPM /* Disable if you do not have the XPM library */
|
||||
# ifdef USE_XPM
|
||||
# define GRAPHIC_TOMBSTONE /* Use graphical tombstone (rip.xpm) */
|
||||
# endif
|
||||
@@ -169,11 +169,11 @@
|
||||
|
||||
#ifdef UNIX
|
||||
/* path and file name extension for compression program */
|
||||
-#define COMPRESS "/usr/bin/compress" /* Lempel-Ziv compression */
|
||||
-#define COMPRESS_EXTENSION ".Z" /* compress's extension */
|
||||
+/* #define COMPRESS "/usr/bin/compress" */ /* Lempel-Ziv compression */
|
||||
+/* #define COMPRESS_EXTENSION ".Z" */ /* compress's extension */
|
||||
/* An example of one alternative you might want to use: */
|
||||
-/* #define COMPRESS "/usr/local/bin/gzip" */ /* FSF gzip compression */
|
||||
-/* #define COMPRESS_EXTENSION ".gz" */ /* normal gzip extension */
|
||||
+#define COMPRESS "/usr/bin/gzip" /* FSF gzip compression */
|
||||
+#define COMPRESS_EXTENSION ".gz" /* normal gzip extension */
|
||||
#endif
|
||||
|
||||
#ifndef COMPRESS
|
||||
@@ -185,7 +185,7 @@
|
||||
* a tar-like file, thus making a neater installation. See *conf.h
|
||||
* for detailed configuration.
|
||||
*/
|
||||
-/* #define DLB */ /* not supported on all platforms */
|
||||
+#define DLB /* not supported on all platforms */
|
||||
|
||||
/*
|
||||
* Defining INSURANCE slows down level changes, but allows games that
|
||||
@@ -204,7 +204,7 @@
|
||||
* otherwise it will be the current directory.
|
||||
*/
|
||||
# ifndef HACKDIR
|
||||
-# define HACKDIR "/usr/games/lib/nethackdir"
|
||||
+# define HACKDIR "/usr/share/games/nethack"
|
||||
# endif
|
||||
|
||||
/*
|
||||
@@ -349,7 +349,7 @@
|
||||
*/
|
||||
|
||||
/*#define GOLDOBJ */ /* Gold is kept on obj chains - Helge Hafting */
|
||||
-/*#define AUTOPICKUP_EXCEPTIONS */ /* exceptions to autopickup */
|
||||
+#define AUTOPICKUP_EXCEPTIONS /* exceptions to autopickup */
|
||||
|
||||
/* End of Section 5 */
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
--- include/unixconf.h 2003-12-07 17:39:13.000000000 -0600
|
||||
+++ include/unixconf.h.slack 2008-05-15 15:29:04.000000000 -0500
|
||||
@@ -25,19 +25,19 @@
|
||||
/* #define ULTRIX */ /* define for Ultrix v3.0 or higher (but not lower) */
|
||||
/* Use BSD for < v3.0 */
|
||||
/* "ULTRIX" not to be confused with "ultrix" */
|
||||
-#define SYSV /* define for System V, Solaris 2.x, newer versions */
|
||||
+/* #define SYSV */ /* define for System V, Solaris 2.x, newer versions */
|
||||
/* of Linux */
|
||||
/* #define HPUX */ /* Hewlett-Packard's Unix, version 6.5 or higher */
|
||||
/* use SYSV for < v6.5 */
|
||||
|
||||
|
||||
/* define any of the following that are appropriate */
|
||||
-#define SVR4 /* use in addition to SYSV for System V Release 4 */
|
||||
+/* #define SVR4 */ /* use in addition to SYSV for System V Release 4 */
|
||||
/* including Solaris 2+ */
|
||||
#define NETWORK /* if running on a networked system */
|
||||
/* e.g. Suns sharing a playground through NFS */
|
||||
/* #define SUNOS4 */ /* SunOS 4.x */
|
||||
-/* #define LINUX */ /* Another Unix clone */
|
||||
+#define LINUX /* Another Unix clone */
|
||||
/* #define CYGWIN32 */ /* Unix on Win32 -- use with case sensitive defines */
|
||||
/* #define GENIX */ /* Yet Another Unix Clone */
|
||||
/* #define HISX */ /* Bull Unix for XPS Machines */
|
||||
@@ -102,7 +102,7 @@
|
||||
* If you want the static parts of your playground on a read-only file
|
||||
* system, define VAR_PLAYGROUND to be where the variable parts are kept.
|
||||
*/
|
||||
-/* #define VAR_PLAYGROUND "/var/lib/games/nethack" */
|
||||
+#define VAR_PLAYGROUND "/var/lib/nethack"
|
||||
|
||||
|
||||
/*
|
||||
@@ -132,7 +132,7 @@
|
||||
* "extra output" method is used, but not all systems provide access to
|
||||
* a fine-grained timer.
|
||||
*/
|
||||
-/* #define TIMED_DELAY */ /* usleep() */
|
||||
+#define TIMED_DELAY /* usleep() */
|
||||
#endif
|
||||
|
||||
/*
|
|
@ -0,0 +1,19 @@
|
|||
# HOW TO EDIT THIS FILE:
|
||||
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||
# up the first '|' above the ':' following the base package name, and the '|'
|
||||
# on the right side marks the last column you can put a character in. You must
|
||||
# make exactly 11 lines for the formatting to be correct. It's also
|
||||
# customary to leave one space after the ':'.
|
||||
|
||||
|-----handy-ruler------------------------------------------------------|
|
||||
nethack: nethack (a rogue-like game)
|
||||
nethack:
|
||||
nethack: NetHack is a popular rogue-like game. This build provides the
|
||||
nethack: standard console interface as well as the X11 and Qt interfaces.
|
||||
nethack:
|
||||
nethack:
|
||||
nethack:
|
||||
nethack:
|
||||
nethack:
|
||||
nethack:
|
||||
nethack:
|
Loading…
Reference in New Issue