When calling panic() or impossible(), create the option of opening a browser window with most of the fields already populated. Code for MacOS and linux is included; other ports are affected by argument change to early_init which are done but not tested. To enable, define CRASHREPORT in config.h and set CRASHREPORTURL in sysconf to (for the moment at least) http[s]://www.nethack.org/common/contactcr.html Adds --grep-defined option to makedefs for Makefiles. Adds "bid" (binary identifier), an MD4 of the main nethack binary. This is ONLY for helping (in the future) contact.html to set the "NetHack from" field automatically for our own binaries. This can be faked, but the user can lie so nothing lost. There's nothing magic about MD4; other ports can use anything that prodcues a long apparently random string we can match against. - new option --bidshow for us to get the MD4 of a released binary so I can add it to the website. Only available in wizard mode and not in nethack.6. - typo macos -> macosx in hints file No support for packaging builds as I'm not sure what that would look like. Adds a javascript helper for MacOS. Adds a lua helper for linux (and builds and installs nhlua).
258 lines
4.7 KiB
Groff
258 lines
4.7 KiB
Groff
.\"DO NOT REMOVE NH_DATESUB .TH MAKEDEFS 6 "DATE(%-d %B %Y)" NETHACK
|
|
.TH MAKEDEFS 6 "8 February 2022" NETHACK
|
|
.\"DO NOT REMOVE NH_DATESUB .ds Nd DATE(%Y)
|
|
.ds Nd 2022
|
|
.de NB
|
|
.ds Nb \\$2
|
|
..
|
|
.de NR
|
|
.ds Nr \\$2
|
|
..
|
|
.NB $NHDT-Branch: keni-crashweb2 $
|
|
.NR $NHDT-Revision: 1.21 $
|
|
.ds Na Kenneth Lorber
|
|
.SH NAME
|
|
makedefs \- NetHack miscellaneous build-time functions
|
|
.SH SYNOPSIS
|
|
.B makedefs
|
|
{
|
|
.B -o
|
|
|
|
|
.B -d
|
|
|
|
|
.B -e
|
|
|
|
|
.B -m
|
|
|
|
|
.B -v
|
|
|
|
|
.B -p
|
|
|
|
|
.B -q
|
|
|
|
|
.B -r
|
|
|
|
|
.B -h
|
|
}
|
|
.P
|
|
.B makedefs --input
|
|
.I file
|
|
.B --output
|
|
.I file
|
|
.BI -- command
|
|
.SH DESCRIPTION
|
|
.PP
|
|
.B Makedefs
|
|
is a build-time tool used for a variety of
|
|
.BR NetHack (6)
|
|
source file creation and modification tasks. For historical reasons,
|
|
.B makedefs
|
|
takes two types of command lines. When invoked with a short option, the
|
|
files operated on are determined when
|
|
.B makedefs
|
|
is compiled. When invoked with a long option, the
|
|
.B --input
|
|
and
|
|
.B --output
|
|
options are used to specify the files for the
|
|
.BI -- command.
|
|
Each command is only available in one of the two formats.
|
|
.SH SHORT COMMANDS
|
|
Upper and lower case are both accepted for the short commands.
|
|
.TP
|
|
.B -o
|
|
Generate
|
|
.I onames.h.
|
|
.br
|
|
.TP
|
|
.B -d
|
|
Generate
|
|
.I data.base.
|
|
.br
|
|
.TP
|
|
.B -e
|
|
Generate
|
|
.I dungeon.pdf.
|
|
The input file
|
|
.I dungeon.def
|
|
is passed through the
|
|
same logic as that used by the
|
|
.B --grep
|
|
command; see the
|
|
.B MDGREP FUNCTIONS
|
|
section below for details.
|
|
.br
|
|
.TP
|
|
.B -m
|
|
Generate
|
|
.I date.h
|
|
and
|
|
.I options
|
|
file. It will read
|
|
.IR dat/gitinfo.txt ,
|
|
only if it is present, to obtain
|
|
.B githash=
|
|
and
|
|
.B gitbranch=
|
|
info and include related preprocessor #defines in
|
|
.I date.h
|
|
file.
|
|
.br
|
|
.TP
|
|
.B -p
|
|
Generate
|
|
.I pm.h
|
|
.br
|
|
.TP
|
|
.B -q
|
|
Generate the
|
|
.I rumors
|
|
file.
|
|
.br
|
|
.TP
|
|
.B -s
|
|
Generate the
|
|
.I bogusmon
|
|
,
|
|
.I engrave
|
|
and
|
|
.IR epitaph files.
|
|
.br
|
|
.TP
|
|
.B -h
|
|
Generate the
|
|
.B oracles
|
|
file.
|
|
.br
|
|
.SH LONG COMMANDS
|
|
.TP
|
|
.B --debug
|
|
Show debugging output.
|
|
.br
|
|
.TP
|
|
.B --make \fR[\fIcommand\fR]
|
|
Execute a short command. Command is given without preceding dash.
|
|
.br
|
|
.TP
|
|
.BI --input " file"
|
|
Specify the input
|
|
.I file
|
|
for the command (if needed). If the file is - standard
|
|
input is read.
|
|
.br
|
|
.TP
|
|
.BI --output " file"
|
|
Specify the output
|
|
.I file
|
|
for the command (if needed). If the file is - standard
|
|
output is written.
|
|
.br
|
|
.TP
|
|
.B --svs \fR[\fIdelimiter\fR]
|
|
Generate a version string to standard output without a trailing newline.
|
|
If specified, the delimiter is used between each part of the version string.
|
|
.br
|
|
.TP
|
|
.B --grep
|
|
Filter the input
|
|
.I file to the output
|
|
.IR file .
|
|
See the
|
|
.B MDGREP FUNCTIONS
|
|
section below for information on controlling the filtering operation.
|
|
.br
|
|
.TP
|
|
.B --grep-showvars
|
|
Show the name and value for each variable known to the grep option.
|
|
.br
|
|
.TP
|
|
.B --grep-trace
|
|
Turn on debug tracing for the grep function (
|
|
.B --grep
|
|
must be specified as well).
|
|
.br
|
|
.TP
|
|
.BI --grep-defined " symbol"
|
|
Exit shell true (0) if
|
|
.I symbol
|
|
is known and defined, otherwise exit shell false (1).
|
|
.TP
|
|
.BI --grep-define " symbol"
|
|
Force the value of
|
|
.I symbol
|
|
to be "defined."
|
|
.I Symbol
|
|
must already be known to
|
|
.BR makedefs .
|
|
.br
|
|
.TP
|
|
.BI --grep-undef " symbol"
|
|
Force the definition of
|
|
.I symbol
|
|
to be "undefined."
|
|
.I Symbol
|
|
must already be known to
|
|
.BR makedefs .
|
|
.SH MDGREP FUNCTIONS
|
|
The
|
|
.B --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
|
|
.BR NetHack (6)
|
|
configuration. This allows certain changes such as embedding platform-specific
|
|
documentation into the master documentation files.
|
|
.P
|
|
Rules:
|
|
.RS
|
|
.IP - 4
|
|
The default conditional state is printing enabled.
|
|
.IP - 4
|
|
Any line
|
|
.I NOT
|
|
starting with a caret (^) is either suppressed or passed through unchanged
|
|
depending on the current conditional state.
|
|
.IP - 4
|
|
Any line starting with a caret is a control line; as in C, zero or more spaces
|
|
may be embedded in the line almost anywhere (except immediately after the
|
|
caret); however the caret must be in column 1.
|
|
.IP - 4
|
|
Conditionals may be nested.
|
|
.IP - 4
|
|
.I 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.
|
|
.IP - 4
|
|
Unknown identifiers are treated as both TRUE and as an error. Note that
|
|
.BR --undef " or " #undef
|
|
in the
|
|
.BR NetHack (6)
|
|
configuration are different from unknown.
|
|
.RE
|
|
.P
|
|
Control lines:
|
|
.RS
|
|
.IP ^^ 4
|
|
a line starting with a (single) literal caret
|
|
.IP ^#
|
|
a comment
|
|
.IP ^?\fIID
|
|
if the
|
|
.I ID
|
|
is defined set the conditional state to TRUE
|
|
.IP ^!\fIID
|
|
if the
|
|
.I ID
|
|
is not defined set the conditional state to TRUE
|
|
.IP ^:
|
|
else; invert the conditional state
|
|
.IP ^.
|
|
end the most recent conditional
|
|
.RE
|
|
.\".SH EXAMPLES
|
|
.SH AUTHOR
|
|
The NetHack Development Team
|
|
.SH COPYRIGHT
|
|
This file is Copyright (C) \*(Na, \*(Nd for version \*(Nb:\*(Nr.
|
|
NetHack may be freely redistributed. See license for details.
|