To update, run "perl DEVEL/nhgitset.pl"
Fixes:
- "nhcommit -a" has been fixed
- NHDT was hardwired in places
- no longer complain about a missing dat directory outside of the
NetHack source tree
- make update of gitinfo atomic
- Replace some hardwired directory separators with OS-dependent constructs
Backwards Incompatibilities:
- NH_DATESUB's DATE() is now Date() to match the other variables
- MSYS2 requires an additional Perl package - the MSYS2 docs have
been updated
New Help System:
- git nhhelp
This command mirrors "git help" for nh* commands.
- See git nhhelp nhsub for general help on substitution variables
New Substitution Variables:
-Brev()
An aBREViation of $PREFIX-Branch$:$PREFIX-Revision$ - this
may help get line length under control in file headers.
-Assert(TYPE=VALUE)
If TYPE does not match VALUE, do not substitute on this line.
TYPE P checks VALUE against nethack.substprefix
-Project(arg)
Returns nethack.projectname if there is no arg and an uppercase
version if arg is uc.
Other New Features:
- Add nethack.projectname
- Documentation updates - see "git nhhelp nhsub"
- On checkout or merge of a branch, check for nhgitset version updates
and provide an optional message to the user.
- Move NH_DATESUB substitutions here from cron job to keep dates in sync
- PREFIX-* keywords now available in NH_DATESUB templates
- Support use of nhgitset.pl from a different repo; note that update
checks will be dependent on keeping the original source repo up-to-date
and in the same location.
272 lines
4.8 KiB
Groff
272 lines
4.8 KiB
Groff
.\"DO NOT REMOVE NH_DATESUB .TH MAKEDEFS 6 "DATE(%-d %B %Y)" Project(uc)
|
|
.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: NetHack-3.7 $
|
|
.NR $NHDT-Revision: 1.22 $
|
|
.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
|
|
.IR bogusmon ", " engrave ", and " epitaph " files."
|
|
.br
|
|
.TP
|
|
.B -1
|
|
Generate the
|
|
.IR epitaph
|
|
file.
|
|
.br
|
|
.TP
|
|
.B -2
|
|
Generate the
|
|
.IR engrave
|
|
file.
|
|
.br
|
|
.TP
|
|
.B -3
|
|
Generate the
|
|
.IR bogusmon
|
|
file.
|
|
.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.
|