1MAKEDEFS(6) Games Manual MAKEDEFS(6)
2
3
4
6 makedefs - NetHack miscellaneous build-time functions
7
9 makedefs { -o | -d | -e | -m | -v | -p | -q | -r | -h | -z }
10
11 makedefs --input file --output file --command
12
14 Makedefs is a build-time tool used for a variety of NetHack(6) source
15 file creation and modification tasks. For historical reasons, makedefs
16 takes two types of command lines. When invoked with a short option,
17 the files operated on are determined when makedefs is compiled. When
18 invoked with a long option, the --input and --output options are used
19 to specify the files for the --command. Each command is only available
20 in one of the two formats.
21
23 Upper and lower case are both accepted for the short commands.
24
25 -o Generate onames.h.
26
27 -d Generate data.base.
28
29 -e Generate dungeon.pdf. The input file dungeon.def is passed
30 through the same logic as that used by the --grep command; see
31 the MDGREP FUNCTIONS section below for details.
32
33 -m Generate monster.c.
34
35 -v Generate date.h and options file. It will read dat/gitinfo.txt,
36 only if it is present, to obtain githash= and gitbranch=
37 info and include related preprocessor #defines in date.h file.
38
39 -p Generate pm.h
40
41 -q Generate quest.dat.
42
43 -r Generate the rumors file.
44
45 -s Generate the bogusmon , engrave and epitaphfiles.
46
47 -h Generate the oracles file.
48
49 -z Generate vis_tab.c and vis_tab.h.
50
52 --debug
53 Show debugging output.
54
55 --make [command]
56 Execute a short command. Command is given without preceding
57 dash.
58
59 --input file
60 Specify the input file for the command (if needed). If the file
61 is - standard input is read.
62
63 --output file
64 Specify the output file for the command (if needed). If the
65 file is - standard output is written.
66
67 --svs [delimiter]
68 Generate a version string to standard output without a trailing
69 newline. If specified, the delimiter is used between each part
70 of the version string.
71
72 --grep Filter the input file to the output file. See the MDGREP FUNC‐
73 TIONS section below for information on controlling the filtering
74 operation.
75
76 --grep-showvars
77 Show the name and value for each variable known to the grep
78 option.
79
80 --grep-trace
81 Turn on debug tracing for the grep function ( --grep must be
82 specified as well).
83
84 --grep-define symbol
85 Force the value of symbol to be "defined." Symbol must already
86 be known to makedefs.
87
88 --grep-undef symbol
89 Force the definition of symbol to be "undefined." Symbol must
90 already be known to makedefs.
91
93 The --grep command (and certain other commands) filter their input, on
94 a line-by-line basis, according to control lines embedded in the input
95 and on information gleaned from the NetHack(6) configuration. This
96 allows certain changes such as embedding platform-specific documenta‐
97 tion into the master documentation files.
98
99 Rules:
100
101 - The default conditional state is printing enabled.
102
103 - Any line NOT starting with a caret (^) is either suppressed
104 or passed through unchanged depending on the current condi‐
105 tional state.
106
107 - Any line starting with a caret is a control line; as in C,
108 zero or more spaces may be embedded in the line almost any‐
109 where (except immediately after the caret); however the
110 caret must be in column 1.
111
112 - Conditionals may be nested.
113
114 - Makedefs will exit with an error code if any errors are
115 detected; processing will continue (if it can) to allow as
116 many errors as possible to be detected.
117
118 - Unknown identifiers are treated as both TRUE and as an
119 error. Note that --undef or #undef in the NetHack(6) con‐
120 figuration are different from unknown.
121
122 Control lines:
123
124 ^^ a line starting with a (single) literal caret
125
126 ^# a comment
127
128 ^?ID
129 if the ID is defined set the conditional state to TRUE
130
131 ^!ID
132 if the ID is not defined set the conditional state to TRUE
133
134 ^: else; invert the conditional state
135
136 ^. end the most recent conditional
137
139 The NetHack Development Team
140
142 dgn_comp(6)
143
145 This file is Copyright (C) Kenneth Lorber and was last modified
146 2018/04/25 (version NetHack-3.6.0:1.10). NetHack may be freely redis‐
147 tributed. See license for details.
148
149
150
151NETHACK 25 May 2015 MAKEDEFS(6)