Files
nethack/doc/makedefs.txt
PatR 5bf8b3de6b doc/{dlb,makedefs,nethack,recover}.txt update
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.
2023-11-23 17:24:33 -08:00

147 lines
5.2 KiB
Plaintext

MAKEDEFS(6) MAKEDEFS(6)
NAME
makedefs - NetHack miscellaneous build-time functions
SYNOPSIS
makedefs { -o | -d | -e | -m | -v | -p | -q | -r | -h }
makedefs --input file --output file --command
DESCRIPTION
Makedefs is a build-time tool used for a variety of NetHack(6) source
file creation and modification tasks. For historical reasons, makedefs
takes two types of command lines. When invoked with a short option,
the files operated on are determined when makedefs is compiled. When
invoked with a long option, the --input and --output options are used
to specify the files for the --command. Each command is only available
in one of the two formats.
SHORT COMMANDS
Upper and lower case are both accepted for the short commands.
-o Generate onames.h.
-d Generate data.base.
-e Generate dungeon.pdf. The input file dungeon.def is passed
through the same logic as that used by the --grep command; see
the MDGREP FUNCTIONS section below for details.
-m Generate date.h and options file. It will read dat/gitinfo.txt,
only if it is present, to obtain githash= and gitbranch=
info and include related preprocessor #defines in date.h file.
-p Generate pm.h
-q Generate the rumors file.
-s Generate the bogusmon , engrave and epitaphfiles.
-h Generate the oracles file.
LONG COMMANDS
--debug
Show debugging output.
--make [command]
Execute a short command. Command is given without preceding
dash.
--input file
Specify the input file for the command (if needed). If the file
is - standard input is read.
--output file
Specify the output file for the command (if needed). If the
file is - standard output is written.
--svs [delimiter]
Generate a version string to standard output without a trailing
newline. If specified, the delimiter is used between each part
of the version string.
--grep Filter the input file to the output file. See the MDGREP FUNC-
TIONS section below for information on controlling the filtering
operation.
--grep-showvars
Show the name and value for each variable known to the grep
option.
--grep-trace
Turn on debug tracing for the grep function ( --grep must be
specified as well).
--grep-defined symbol
Exit shell true (0) if symbol is known and defined, otherwise
exit shell false (1).
--grep-define symbol
Force the value of symbol to be "defined." Symbol must already
be known to makedefs.
--grep-undef symbol
Force the definition of symbol to be "undefined." Symbol must
already be known to makedefs.
MDGREP FUNCTIONS
The --grep command (and certain other commands) filter their input, on
a line-by-line basis, according to control lines embedded in the input
and on information gleaned from the NetHack(6) configuration. This
allows certain changes such as embedding platform-specific documenta-
tion into the master documentation files.
Rules:
- The default conditional state is printing enabled.
- Any line NOT starting with a caret (^) is either suppressed
or passed through unchanged depending on the current condi-
tional state.
- Any line starting with a caret is a control line; as in C,
zero or more spaces may be embedded in the line almost any-
where (except immediately after the caret); however the
caret must be in column 1.
- Conditionals may be nested.
- Makedefs will exit with an error code if any errors are
detected; processing will continue (if it can) to allow as
many errors as possible to be detected.
- Unknown identifiers are treated as both TRUE and as an
error. Note that --undef or #undef in the NetHack(6) con-
figuration are different from unknown.
Control lines:
^^ a line starting with a (single) literal caret
^# a comment
^?ID
if the ID is defined set the conditional state to TRUE
^!ID
if the ID is not defined set the conditional state to TRUE
^: else; invert the conditional state
^. end the most recent conditional
AUTHOR
The NetHack Development Team
COPYRIGHT
This file is Copyright (C) Kenneth Lorber, 2022 for version keni-crash-
web2:1.21. NetHack may be freely redistributed. See license for
details.
NETHACK 8 February 2022 MAKEDEFS(6)