Update the unix Makefiles and the older OSX hints files to handle the pile marker tile overlay. I didn't touch hints/macosx10.10 and .11 since I think there's still a merge for them pending. A couple of formatting tweaks for bemain.c are included, for no compelling reason. What are the odds that anyone will every build that again?
146 lines
4.7 KiB
Plaintext
146 lines
4.7 KiB
Plaintext
#
|
|
# NetHack 3.6 macosx $NHDT-Date: 1447844580 2015/11/18 11:03:00 $ $NHDT-Branch: master $:$NHDT-Revision: 1.18 $
|
|
# Copyright (c) Kenneth Lorber, Kensington, Maryland, 2007.
|
|
# NetHack may be freely redistributed. See license for details.
|
|
#
|
|
#-PRE
|
|
# Mac OS X (Darwin) hints file
|
|
# This is for Mac OS X 10.4.10 (Darwin 8.10). If this doesn't work for some
|
|
# other version of either Darwin or Mac OS X, make a new file for that OS,
|
|
# don't change this one. And let us know about it.
|
|
# Useful info: http://www.opensource.apple.com/darwinsource/index.html
|
|
|
|
# This hints file can build several different types of installations.
|
|
# Edit the next section to match the type of build you need.
|
|
|
|
# 1. Which window system(s) should be included in this binary?
|
|
WANT_WIN_TTY=1
|
|
#WANT_WIN_X11=1
|
|
#WANT_WIN_QT=1
|
|
|
|
# 1a. What is the default window system?
|
|
WANT_DEFAULT=tty
|
|
#WANT_DEFAULT=x11
|
|
#WANT_DEFAULT=qt
|
|
|
|
# 1b. If you set WANT_WIN_QT, you need to
|
|
# A) set QTDIR either here or in the environment to point to the Qt2 or Qt3
|
|
# library installation root. (Qt4 will not work; Qt3 does not presently
|
|
# compile under Leopard (MacOSX 10.5) out-of-the-box.)
|
|
# B) set XPMLIB to point to the Xpm library
|
|
ifdef WANT_WIN_QT
|
|
QTDIR=/Developer/Qt
|
|
LIBXPM= -L/Developer/SDKs/MacOSX10.3.9.sdk/usr/X11R6/lib -lXpm
|
|
endif
|
|
|
|
# 2. Is this a build for a binary that will be shared among different users
|
|
# or will it be private to you?
|
|
# If it is shared:
|
|
# - it will be owned by the user and group listed
|
|
# - you MUST create the user using System Preferences (this will also
|
|
# create the group if it is the same as the user)
|
|
# - 'make install' must be run as "sudo make install"
|
|
#WANT_SHARE_INSTALL=1
|
|
GAMEUID = games
|
|
GAMEGRP = $(GAMEUID)
|
|
|
|
|
|
#CC=gcc -W -Wimplicit -Wreturn-type -Wunused -Wformat -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -DGCC_WARN
|
|
CC=gcc -Wall -Wextra -Wno-missing-field-initializers -Wimplicit -Wreturn-type -Wunused -Wformat -Wswitch -Wshadow -Wwrite-strings -DGCC_WARN
|
|
|
|
#
|
|
# You shouldn't need to change anything below here.
|
|
#
|
|
|
|
# XXX -g vs -O should go here, -I../include goes in the makefile
|
|
CFLAGS=-g -I../include
|
|
CFLAGS+=-DNOCLIPPING -DNOMAIL -DNOTPARMDECL -DHACKDIR=\"$(HACKDIR)\"
|
|
CFLAGS+= -DDEFAULT_WINDOW_SYS=\"$(WANT_DEFAULT)\" -DDLB
|
|
|
|
ifdef WANT_WIN_TTY
|
|
WINSRC = $(WINTTYSRC)
|
|
WINOBJ = $(WINTTYOBJ)
|
|
WINLIB = $(WINTTYLIB)
|
|
WINTTYLIB=-lncurses
|
|
else
|
|
CFLAGS += -DNOTTYGRAPHICS
|
|
endif
|
|
|
|
ifdef WANT_WIN_X11
|
|
WINSRC += $(WINX11SRC)
|
|
WINOBJ += $(WINX11OBJ)
|
|
WINLIB += $(WINX11LIB)
|
|
LFLAGS=-L/usr/X11R6/lib
|
|
VARDATND = x11tiles NetHack.ad pet_mark.xbm pilemark.xbm
|
|
POSTINSTALL= bdftopcf win/X11/nh10.bdf > $(INSTDIR)/nh10.pcf; (cd $(INSTDIR); mkfontdir)
|
|
CFLAGS += -DX11_GRAPHICS
|
|
endif
|
|
|
|
ifdef WANT_WIN_QT
|
|
CFLAGS += -DQT_GRAPHICS -DNOUSER_SOUNDS
|
|
CFLAGS += -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4
|
|
LINK=g++
|
|
WINSRC += $(WINQTSRC)
|
|
WINLIB += $(WINQTLIB) $(LIBXPM)
|
|
WINLIB += -framework Carbon -framework QuickTime -lz -framework OpenGL
|
|
WINLIB += -framework AGL
|
|
ifdef WANT_WIN_X11
|
|
# prevent duplicate tile.o in WINOBJ
|
|
WINOBJ = $(sort $(WINQTOBJ) $(WINX11OBJ))
|
|
ifdef WANT_WIN_TTY
|
|
WINOBJ += $(WINTTYOBJ)
|
|
endif
|
|
else
|
|
WINOBJ += $(WINQTOBJ)
|
|
endif
|
|
# XXX if /Developer/qt exists and QTDIR not set, use that
|
|
ifndef QTDIR
|
|
$(error QTDIR not defined in the environment or Makefile)
|
|
endif
|
|
# XXX make sure QTDIR points to something reasonable
|
|
else
|
|
LINK=$(CC)
|
|
endif
|
|
|
|
ifdef WANT_SHARE_INSTALL
|
|
# NB: do NOT use $(wildcard ~$(GAMEUID)) since the user may not exist yet.
|
|
PREFIX:=/Users/$(GAMEUID)
|
|
SHELLDIR=$(PREFIX)/bin
|
|
HACKDIR=$(PREFIX)/nethackdir
|
|
INSTDIR=$(HACKDIR)
|
|
VARDIR=$(HACKDIR)
|
|
CHOWN=chown
|
|
CHGRP=chgrp
|
|
# We run sgid so the game has access to both HACKDIR and user preferences.
|
|
GAMEPERM = 02755
|
|
VARFILEPERM = 0664
|
|
VARDIRPERM = 0775
|
|
ROOTCHECK= [[ `id -u` == 0 ]] || ( echo "Must run install with sudo."; exit 1)
|
|
# make sure we have group GAMEUID and group GAMEGRP
|
|
PREINSTALL= . sys/unix/hints/macosx.sh user $(GAMEUID); . sys/unix/hints/macosx.sh group $(GAMEGRP); mkdir $(SHELLDIR); chown $(GAMEUID) $(SHELLDIR)
|
|
POSTINSTALL= touch $(INSTDIR)/sysconf; $(CHOWN) $(GAMEUID) $(INSTDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(INSTDIR)/sysconf; chmod $(VARFILEPERM) $(INSTDIR)/sysconf
|
|
CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
|
|
else
|
|
PREFIX:=$(wildcard ~)
|
|
SHELLDIR=$(PREFIX)/bin
|
|
HACKDIR=$(PREFIX)/nethackdir
|
|
INSTDIR=$(HACKDIR)
|
|
VARDIR=$(HACKDIR)
|
|
CHOWN=true
|
|
CHGRP=true
|
|
GAMEPERM = 0700
|
|
VARFILEPERM = 0600
|
|
VARDIRPERM = 0700
|
|
ifdef WANT_WIN_X11
|
|
# XXX install nethack.rc as ~/.nethackrc if no ~/.nethackrc exists
|
|
endif
|
|
endif
|
|
|
|
|
|
# ~/Library/Preferences/NetHack Defaults
|
|
# OPTIONS=name:player,number_pad,menustyle:partial,!time,showexp
|
|
# OPTIONS=hilite_pet,toptenwin,msghistory:200,windowtype:Qt
|
|
#
|
|
# Install.Qt mentions a patch for macos - it's not there (it seems to be in the Qt binary
|
|
# package under the docs directory).
|