...some of them, at any rate. We shut off (1) warnings provoked by Matt Bishop's "mn" macro package, and (2) warnings spuriously emitted by groff 1.23 and previous when "-wall" (or "-ww") is specified. Also update explanatory comments.
148 lines
5.1 KiB
Makefile
148 lines
5.1 KiB
Makefile
# NetHack Documentation Makefile.
|
|
# NetHack 3.7 Makefile.doc $NHDT-Date: 1700788000 2023/11/24 01:06:40 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.28 $
|
|
# Copyright (c) 2015 by Kenneth Lorber, Kensington, Maryland
|
|
# NetHack may be freely redistributed. See license for details.
|
|
|
|
# Root of source tree:
|
|
NHSROOT=..
|
|
|
|
# for Atari
|
|
# SHELL=E:/GEMINI2/MUPFEL.TTP
|
|
|
|
MAKEDEFS = ../util/makedefs
|
|
|
|
# Which version do we want to build? (XXX These are not used anywhere.)
|
|
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.
|
|
#
|
|
# col is unnecessary, but harmless, with groff. See grotty(1).
|
|
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
|
|
#
|
|
# Single page. Might need adjustment to .pl value
|
|
# GUIDECMD= $(GUIDE_PREFORMAT) | perl -pe 's/^(.mt)$$/.pl 4720v\n.in 0\n.po 8\n.ll 64m\n$$1/' | nroff -c -Tascii | $(COLCMD)
|
|
#
|
|
GUIDECMD = $(GUIDE_PREFORMAT) | nroff -c -Tascii $(NROFF_FLAGS) | $(COLCMD)
|
|
ONEPAGECMD = $(ONEPAGE_PREFORMAT) | nroff -c -Tascii $(NROFF_FLAGS) | $(COLCMD)
|
|
|
|
# Only generate output for the current configuration:
|
|
NHGREP = $(MAKEDEFS) --grep --input - --output -
|
|
NEEDMAKEDEFS = $(MAKEDEFS)
|
|
# Generate output for all configurations:
|
|
#NHGREP = $(MAKEDEFS) --grep --input - --output - --grep-define ALLDOCS
|
|
#NEEDMAKEDEFS = $(MAKEDEFS)
|
|
# Fallback:
|
|
#NHGREP = cat
|
|
#NEEDMAKEDEFS =
|
|
|
|
GUIDEBOOK_MN_SRC = Guidebook.mn
|
|
GUIDEBOOK_MN = $(GUIDEBOOK_MN_SRC)
|
|
GUIDEBOOK_TEX_SRC = Guidebook.tex
|
|
GUIDEBOOK_TEX = $(GUIDEBOOK_TEX_SRC)
|
|
|
|
GUIDE_PREFORMAT = cat $(GUIDEBOOK_MN) | $(NHGREP) | tbl tmac.n -
|
|
# for Guidebook.dat, unpaginated version of Guidebook.txt
|
|
ONEPAGE_PREFORMAT = cat Gbk-1pg-pfx.mn $(GUIDEBOOK_MN) Gbk-1pg-sfx.mn \
|
|
| $(NHGREP) | tbl tmac.n -
|
|
|
|
# the basic guidebook
|
|
Guidebook : $(GUIDEBOOK_MN) tmac.n tmac.nh $(NEEDMAKEDEFS)
|
|
$(GUIDECMD) > Guidebook
|
|
|
|
# Fancier output for those with ditroff, psdit and a PostScript printer.
|
|
# Could be converted to Guidebook.pdf if tool(s) for that are available.
|
|
Guidebook.ps : $(GUIDEBOOK_MN) tmac.n tmac.nh $(NEEDMAKEDEFS)
|
|
$(GUIDE_PREFORMAT) | $(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.
|
|
# - LaTeX needs to be run twice; second pass uses Guidebook.aux made by first.
|
|
Guidebook.dvi : $(GUIDEBOOK_TEX)
|
|
latex $(GUIDEBOOK_TEX)
|
|
latex $(GUIDEBOOK_TEX)
|
|
|
|
# makedefs has more dependencies than these; this is mainly to cope with the
|
|
# case where it hasn't been built yet since it is usually needed for $(NHGREP)
|
|
# (note: 'make makedefs', not 'make $(MAKEDEFS)')
|
|
$(MAKEDEFS) : ../util/makedefs.c ../include/config.h ../src/mdlib.c \
|
|
../util/mdgrep.h
|
|
( cd ../util ; make makedefs )
|
|
|
|
GAME = nethack
|
|
MANDIR ?= /usr/man/man6
|
|
MANEXT = 6
|
|
NROFF ?= nroff
|
|
|
|
# manual installation for most BSD-style systems
|
|
GAMEMANCREATE = cat nethack.6 | $(NHGREP) >
|
|
RCVRMANCREATE = cat recover.6 | $(NHGREP) >
|
|
DLBMANCREATE = cat dlb.6 | $(NHGREP) >
|
|
MDMANCREATE = cat makedefs.6 | $(NHGREP) >
|
|
# manual installation for most SYSV-style systems
|
|
# GAMEMANCREATE = cat nethack.6 | $(NHGREP) | nroff -man - >
|
|
# RCVRMANCREATE = cat recover.6 | $(NHGREP) | nroff -man - >
|
|
# DLBMANCREATE = cat dlb.6 | $(NHGREP) | nroff -man - >
|
|
# MDMANCREATE = cat makedefs.6 | $(NHGREP) | nroff -man - >
|
|
|
|
manpages: $(PREMANPAGES)
|
|
-$(GAMEMANCREATE) $(MANDIR)/$(GAME).$(MANEXT)
|
|
-$(RCVRMANCREATE) $(MANDIR)/recover.$(MANEXT)
|
|
-$(DLBMANCREATE) $(MANDIR)/dlb.$(MANEXT)
|
|
-$(MDMANCREATE) $(MANDIR)/makedefs.$(MANEXT)
|
|
|
|
# manual creation for distribution
|
|
DISTRIB = Guidebook.txt nethack.txt recover.txt \
|
|
dlb.txt makedefs.txt
|
|
|
|
distrib: $(DISTRIB)
|
|
@echo "Plain text documentation is up to date."
|
|
|
|
Guidebook.txt : $(GUIDEBOOK_MN) tmac.n tmac.nh $(NEEDMAKEDEFS)
|
|
$(GUIDECMD) > $@
|
|
Guidebook.dat : Gbk-1pg-pfx.mn Gbk-1pg-sfx.mn $(GUIDEBOOK_MN) tmac.n tmac.nh \
|
|
$(NEEDMAKEDEFS)
|
|
$(ONEPAGECMD) > $@
|
|
|
|
# plain text output
|
|
#
|
|
# MAN2TXTPRE and MAN2TXTPOST are included so that a hints file can alter
|
|
# both of them as required
|
|
MAN2TXTPOST ?= | col -b
|
|
MAN2TXT = $(NHGREP) | $(NROFF) -man $(MAN2TXTPRE) $(MAN2TXTPOST)
|
|
# If you aren't using a hints file, you can uncomment the following
|
|
# line if you have groff 1.23 or greater.
|
|
#MAN2TXT = $(NHGREP) | groff -man -Tascii -P -cbou
|
|
nethack.txt : nethack.6
|
|
cat nethack.6 | $(MAN2TXT) > nethack.txt
|
|
recover.txt : recover.6
|
|
cat recover.6 | $(MAN2TXT) > recover.txt
|
|
dlb.txt : dlb.6
|
|
cat dlb.6 | $(MAN2TXT) > dlb.txt
|
|
makedefs.txt : makedefs.6
|
|
cat makedefs.6 | $(MAN2TXT) > makedefs.txt
|
|
|
|
clean:
|
|
-rm -f Guidebook.aux Guidebook.log $(DOC_EXTRAS)
|
|
|
|
spotless: clean
|
|
-rm -f Guidebook Guidebook.dat Guidebook.ps \
|
|
Guidebook.dvi $(DOC_SPOTLESS_EXTRAS)
|
|
|
|
maintainer-clean: spotless
|
|
-rm -f $(DISTRIB)
|
|
# -rm -f Makefile
|