Rebuild doc/*.txt (other than Guidebook) with 'nroff -man -c -Tascii' rather than just 'nroff -man' to prevent it generating non-ASCII characters for hyphen, aprostrophe, single and double quotes, long dash, possibly others. Also preprocess with '--grep-define ALLDOCS' so that a few parts of the text don't end up being specific to the local configuration. The next time they're rebuilt they'll probably be subject to the ping-pong effect of inserting padding spaces for justification (alternating right-to-left vs left-to-right as intended but starting with different parity so lots of gratuitous changes) since my quite old version of groff triggers that for Guidebook.txt.
138 lines
4.7 KiB
Makefile
138 lines
4.7 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.
|
|
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
|
|
|
|
# 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:
|
|
-$(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
|
|
MAN2TXT = $(NHGREP) | nroff -man -c -Tascii - | $(COLCMD)
|
|
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
|