.TH MAKEDEFS 6 "25 May 2015" NETHACK .de ND .ds Nd \\$3 .. .de NB .ds Nb \\$2 .. .de NR .ds Nr \\$2 .. .ND $NHDT-Date: 1524689549 2018/04/25 20:52:29 $ .NB $NHDT-Branch: NetHack-3.6.0 $ .NR $NHDT-Revision: 1.10 $ .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 | .B -z } .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 monster.c. .br .TP .B -v 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 .IR quest.dat . .br .TP .B -r 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 .TP .B -z Generate .I vis_tab.c and .IR vis_tab.h . .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-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 "SEE ALSO" .PP .BR dgn_comp (6) .SH COPYRIGHT This file is Copyright (C) \*(Na and was last modified \*(Nd (version \*(Nb:\*(Nr). NetHack may be freely redistributed. See license for details.