1MAKEDEFS(6)                      Games Manual                      MAKEDEFS(6)
2
3
4

NAME

6       makedefs - NetHack miscellaneous build-time functions
7

SYNOPSIS

9       makedefs { -o | -d | -e | -m | -v | -p | -q | -r | -h | -z }
10
11       makedefs --input file --output file --command
12

DESCRIPTION

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

SHORT COMMANDS

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

LONG COMMANDS

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

MDGREP FUNCTIONS

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

AUTHOR

139       The NetHack Development Team
140

SEE ALSO

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)
Impressum