mirror of https://github.com/wwarthen/RomWBW.git
Browse Source
- Add proper Build and Makefile files in Source/Doc directory - Switch preprocessing from pp to m4 which is more supportable across platforms - Building of documentation is still done manually as needed, but it is now easy to do under either Windows or Linux using provided filespull/259/head
24 changed files with 845 additions and 57 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,4 @@ |
|||
@echo off |
|||
setlocal |
|||
|
|||
pushd Doc && call Build || exit /b & popd |
|||
@ -0,0 +1,48 @@ |
|||
@echo off |
|||
setlocal |
|||
|
|||
:: |
|||
:: NOTE: Pandoc and Latex (MiKTeX or TexLive) must be installed |
|||
:: and available on commandline for this build to work!!! |
|||
:: |
|||
|
|||
set TOOLS=..\..\Tools |
|||
set PATH=%TOOLS%\m4;%PATH% |
|||
|
|||
if not "%1"=="" (call :GenDoc %1 & goto :eof) |
|||
|
|||
call :GenDoc GettingStarted |
|||
:: call :GenDoc UserGuide |
|||
call :GenDoc Applications |
|||
:: call :GenDoc Errata |
|||
:: call :GenDoc ZSystem |
|||
call :GenDoc Architecture |
|||
call :GenDoc Catalog |
|||
call :GenDoc ROM_Applications |
|||
|
|||
if exist GettingStarted.pdf copy GettingStarted.pdf "..\..\Doc\RomWBW Getting Started.pdf" || exit /b |
|||
if exist GettingStarted.gfm copy GettingStarted.gfm ..\..\ReadMe.md || exit /b |
|||
if exist GettingStarted.txt copy GettingStarted.txt ..\..\ReadMe.txt || exit /b |
|||
if exist Applications.pdf copy Applications.pdf "..\..\Doc\RomWBW Applications.pdf" || exit /b |
|||
if exist Architecture.pdf copy Architecture.pdf "..\..\Doc\RomWBW Architecture.pdf" || exit /b |
|||
if exist Catalog.pdf copy Catalog.pdf "..\..\Doc\RomWBW Disk Catalog.pdf" || exit /b |
|||
if exist ROM_Applications.pdf copy ROM_Applications.pdf "..\..\Doc\ROM Applications.pdf" || exit /b |
|||
|
|||
echo. |
|||
goto :eof |
|||
|
|||
:GenDoc |
|||
|
|||
echo. |
|||
|
|||
echo Processing document %1.md... |
|||
|
|||
m4 -D doc_date="%date%" %1.md >%1.tmp |
|||
|
|||
pandoc %1.tmp -f markdown -t latex -s -o %1.pdf --default-image-extension=pdf || exit /b |
|||
pandoc %1.tmp -f markdown -t html -o %1.html --default-image-extension=png || exit /b |
|||
pandoc %1.tmp -f markdown -t dokuwiki -o %1.dw --default-image-extension=png || exit /b |
|||
pandoc %1.tmp -f markdown -t gfm -o %1.gfm --default-image-extension=png || exit /b |
|||
pandoc %1.tmp -f markdown -t plain -o %1.txt --default-image-extension=png || exit /b |
|||
|
|||
goto :eof |
|||
@ -0,0 +1,10 @@ |
|||
@echo off |
|||
setlocal |
|||
|
|||
if exist *.gfm del *.gfm |
|||
if exist *.txt del *.txt |
|||
if exist *.dw del *.dw |
|||
if exist *.html del *.html |
|||
if exist *.tex del *.tex |
|||
if exist *.pdf del *.pdf |
|||
if exist *.tmp del *.tmp |
|||
@ -1,7 +0,0 @@ |
|||
!def(ver)(3.1 Pre-release) |
|||
!def(date)(!mdate) |
|||
!def(product)(RomWBW) |
|||
!def(author)(Wayne Warthen) |
|||
!def(authmail)(wwarthen@gmail.com) |
|||
!def(orgname)(RetroBrew Computers Group) |
|||
!def(orgurl)(www.retrobrewcomputers.org) |
|||
@ -0,0 +1,9 @@ |
|||
changequote(`{{', `}}') |
|||
|
|||
define({{doc_ver}},{{3.1 Pre-release}}) |
|||
define({{doc_product}},{{RomWBW}}) |
|||
define({{doc_title}},{{Document Title}}) |
|||
define({{doc_author}},{{Wayne Warthen}}) |
|||
define({{doc_authmail}},{{wwarthen@gmail.com}}) |
|||
define({{doc_orgname}},{{RetroBrew Computers Group}}) |
|||
define({{doc_orgurl}},{{www.retrobrewcomputers.org}}) |
|||
@ -0,0 +1,40 @@ |
|||
#
|
|||
# NOTE: Pandoc, Latex (MiKTeX or TexLive), and M4 must be installed
|
|||
# and available on commandline for this build to work!!!
|
|||
# Typically "sudo apt install pandoc, texlive-latex-extra, M4"
|
|||
#
|
|||
OBJECTS = GettingStarted.pdf GettingStarted.gfm GettingStarted.txt Applications.pdf Architecture.pdf Catalog.pdf ROM_Applications.pdf |
|||
# DEST = ../../Doc
|
|||
TOOLS = ../../Tools |
|||
OTHERS = *.tmp |
|||
|
|||
include $(TOOLS)/Makefile.inc |
|||
|
|||
all :: deploy |
|||
|
|||
%.tmp : %.md |
|||
m4 -D doc_date="`date +"%d %b %Y"`" $< >$@ |
|||
|
|||
%.pdf : %.tmp |
|||
pandoc $< -f markdown -t latex -s -o $@ --default-image-extension=pdf |
|||
|
|||
%.html : %.tmp |
|||
pandoc $< -f markdown -t html -s -o $@ --default-image-extension=pdf |
|||
|
|||
%.dw : %.tmp |
|||
pandoc $< -f markdown -t dokuwiki -s -o $@ --default-image-extension=pdf |
|||
|
|||
%.gfm : %.tmp |
|||
pandoc $< -f markdown -t gfm -s -o $@ --default-image-extension=pdf |
|||
|
|||
%.txt : %.tmp |
|||
pandoc $< -f markdown -t plain -s -o $@ --default-image-extension=pdf |
|||
|
|||
deploy : |
|||
cp GettingStarted.pdf "../../Doc/RomWBW Getting Started.pdf" |
|||
cp GettingStarted.gfm "../../ReadMe.md" |
|||
cp GettingStarted.txt "../../ReadMe.txt" |
|||
cp Applications.pdf "../../Doc/RomWBW Applications.pdf" |
|||
cp Architecture.pdf "../../Doc/RomWBW Architecture.pdf" |
|||
cp Catalog.pdf "../../Doc/RomWBW Disk Catalog.pdf" |
|||
cp ROM_Applications.pdf "../../Doc/ROM Applications.pdf" |
|||
Binary file not shown.
@ -0,0 +1,147 @@ |
|||
M4(1) User Commands M4(1) |
|||
|
|||
|
|||
|
|||
NAME |
|||
m4 - macro processor |
|||
|
|||
SYNOPSIS |
|||
m4 [OPTION]... [FILE]... |
|||
|
|||
DESCRIPTION |
|||
Process macros in FILEs. If no FILE or if FILE is `-', |
|||
standard input is read. |
|||
|
|||
Mandatory or optional arguments to long options are |
|||
mandatory or optional for short options too. |
|||
|
|||
Operation modes: |
|||
--help display this help and exit |
|||
|
|||
--version |
|||
output version information and exit |
|||
|
|||
-E, --fatal-warnings |
|||
once: warnings become errors, twice: stop execu- |
|||
tion at first error |
|||
|
|||
-i, --interactive |
|||
unbuffer output, ignore interrupts |
|||
|
|||
-P, --prefix-builtins |
|||
force a `m4_' prefix to all builtins |
|||
|
|||
-Q, --quiet, --silent |
|||
suppress some warnings for builtins |
|||
|
|||
--warn-macro-sequence[=REGEXP] |
|||
warn if macro definition matches REGEXP, |
|||
|
|||
default \$\({[^}]*}\|[0-9][0-9]+\) |
|||
|
|||
Preprocessor features: |
|||
-D, --define=NAME[=VALUE] |
|||
define NAME as having VALUE, or empty |
|||
|
|||
-I, --include=DIRECTORY |
|||
append DIRECTORY to include path |
|||
|
|||
-s, --synclines |
|||
generate `#line NUM "FILE"' lines |
|||
|
|||
-U, --undefine=NAME |
|||
undefine NAME |
|||
|
|||
Limits control: |
|||
-g, --gnu |
|||
override -G to re-enable GNU extensions |
|||
|
|||
-G, --traditional |
|||
suppress all GNU extensions |
|||
|
|||
-H, --hashsize=PRIME |
|||
set symbol lookup hash table size [509] |
|||
|
|||
-L, --nesting-limit=NUMBER |
|||
change nesting limit, 0 for unlimited [0] |
|||
|
|||
Frozen state files: |
|||
-F, --freeze-state=FILE |
|||
produce a frozen state on FILE at end |
|||
|
|||
-R, --reload-state=FILE |
|||
reload a frozen state from FILE at start |
|||
|
|||
Debugging: |
|||
-d, --debug[=FLAGS] |
|||
set debug level (no FLAGS implies `aeq') |
|||
|
|||
--debugfile[=FILE] |
|||
redirect debug and trace output to FILE (default |
|||
stderr, discard if empty string) |
|||
|
|||
-l, --arglength=NUM |
|||
restrict macro tracing size |
|||
|
|||
-t, --trace=NAME |
|||
trace NAME when it is defined |
|||
|
|||
FLAGS is any of: |
|||
a show actual arguments |
|||
|
|||
c show before collect, after collect and after call |
|||
|
|||
e show expansion |
|||
|
|||
f say current input file name |
|||
|
|||
i show changes in input files |
|||
|
|||
l say current input line number |
|||
|
|||
p show results of path searches |
|||
|
|||
q quote values as necessary, with a or e flag |
|||
|
|||
t trace for all macro calls, not only traceon'ed |
|||
|
|||
x add a unique macro call id, useful with c flag |
|||
|
|||
V shorthand for all of the above flags |
|||
|
|||
If defined, the environment variable `M4PATH' is a |
|||
colon-separated list of directories included after any |
|||
specified by `-I'. |
|||
|
|||
Exit status is 0 for success, 1 for failure, 63 for |
|||
frozen file version mismatch, or whatever value was |
|||
passed to the m4exit macro. |
|||
|
|||
AUTHOR |
|||
Written by Rene' Seindal. |
|||
|
|||
REPORTING BUGS |
|||
Report bugs to: bug-m4@gnu.org GNU M4 home page: |
|||
<http://www.gnu.org/software/m4/> General help using GNU |
|||
software: <http://www.gnu.org/gethelp/> |
|||
|
|||
COPYRIGHT |
|||
Copyright © 2010 Free Software Foundation, Inc. License |
|||
GPLv3+: GNU GPL version 3 or later |
|||
<http://gnu.org/licenses/gpl.html>. |
|||
This is free software: you are free to change and redis- |
|||
tribute it. There is NO WARRANTY, to the extent permit- |
|||
ted by law. |
|||
|
|||
SEE ALSO |
|||
The full documentation for m4 is maintained as a Texinfo |
|||
manual. If the info and m4 programs are properly |
|||
installed at your site, the command |
|||
|
|||
info m4 |
|||
|
|||
should give you access to the complete manual. |
|||
|
|||
|
|||
|
|||
GNU M4 1.4.14 February 2010 M4(1) |
|||
@ -0,0 +1,530 @@ |
|||
M4(P) POSIX Programmer's Manual M4(P) |
|||
|
|||
|
|||
|
|||
NAME |
|||
m4 - macro processor (DEVELOPMENT) |
|||
|
|||
SYNOPSIS |
|||
m4 [-s][-D name[=val]]...[-U name]... file... |
|||
|
|||
DESCRIPTION |
|||
The m4 utility is a macro processor that shall read one |
|||
or more text files, process them according to their |
|||
included macro statements, and write the results to |
|||
standard output. |
|||
|
|||
OPTIONS |
|||
The m4 utility shall conform to the Base Definitions |
|||
volume of IEEE Std 1003.1-2001, Section 12.2, Utility |
|||
Syntax Guidelines, except that the order of the -D and |
|||
-U options shall be significant. |
|||
|
|||
The following options shall be supported: |
|||
|
|||
-s Enable line synchronization output for the c99 |
|||
preprocessor phase (that is, #line directives). |
|||
|
|||
-D name[=val] |
|||
|
|||
Define name to val or to null if = val is omit- |
|||
ted. |
|||
|
|||
-U name |
|||
Undefine name. |
|||
|
|||
|
|||
OPERANDS |
|||
The following operand shall be supported: |
|||
|
|||
file A pathname of a text file to be processed. If no |
|||
file is given, or if it is '-' , the standard |
|||
input shall be read. |
|||
|
|||
|
|||
STDIN |
|||
The standard input shall be a text file that is used if |
|||
no file operand is given, or if it is '-' . |
|||
|
|||
INPUT FILES |
|||
The input file named by the file operand shall be a text |
|||
file. |
|||
|
|||
ENVIRONMENT VARIABLES |
|||
The following environment variables shall affect the |
|||
execution of m4: |
|||
|
|||
LANG Provide a default value for the internationaliza- |
|||
tion variables that are unset or null. (See the |
|||
Base Definitions volume of IEEE Std 1003.1-2001, |
|||
Section 8.2, Internationalization Variables for |
|||
the precedence of internationalization variables |
|||
used to determine the values of locale cate- |
|||
gories.) |
|||
|
|||
LC_ALL If set to a non-empty string value, override the |
|||
values of all the other internationalization |
|||
variables. |
|||
|
|||
LC_CTYPE |
|||
Determine the locale for the interpretation of |
|||
sequences of bytes of text data as characters |
|||
(for example, single-byte as opposed to multi- |
|||
byte characters in arguments and input files). |
|||
|
|||
LC_MESSAGES |
|||
Determine the locale that should be used to |
|||
affect the format and contents of diagnostic mes- |
|||
sages written to standard error. |
|||
|
|||
NLSPATH |
|||
Determine the location of message catalogs for |
|||
the processing of LC_MESSAGES . |
|||
|
|||
|
|||
ASYNCHRONOUS EVENTS |
|||
Default. |
|||
|
|||
STDOUT |
|||
The standard output shall be the same as the input |
|||
files, after being processed for macro expansion. |
|||
|
|||
STDERR |
|||
The standard error shall be used to display strings with |
|||
the errprint macro, macro tracing enabled by the traceon |
|||
macro, the defined text for macros written by the |
|||
dumpdef macro, or for diagnostic messages. |
|||
|
|||
OUTPUT FILES |
|||
None. |
|||
|
|||
EXTENDED DESCRIPTION |
|||
The m4 utility shall compare each token from the input |
|||
against the set of built-in and user-defined macros. If |
|||
the token matches the name of a macro, then the token |
|||
shall be replaced by the macro's defining text, if any, |
|||
and rescanned for matching macro names. Once no portion |
|||
of the token matches the name of a macro, it shall be |
|||
written to standard output. Macros may have arguments, |
|||
in which case the arguments shall be substituted into |
|||
the defining text before it is rescanned. |
|||
|
|||
Macro calls have the form: |
|||
|
|||
|
|||
name(arg1, arg2, ..., argn) |
|||
|
|||
Macro names shall consist of letters, digits, and under- |
|||
scores, where the first character is not a digit. Tokens |
|||
not of this form shall not be treated as macros. |
|||
|
|||
The application shall ensure that the left parenthesis |
|||
immediately follows the name of the macro. If a token |
|||
matching the name of a macro is not followed by a left |
|||
parenthesis, it is handled as a use of that macro with- |
|||
out arguments. |
|||
|
|||
If a macro name is followed by a left parenthesis, its |
|||
arguments are the comma-separated tokens between the |
|||
left parenthesis and the matching right parenthesis. |
|||
Unquoted <blank>s and <newline>s preceding each argument |
|||
shall be ignored. All other characters, including trail- |
|||
ing <blank>s and <newline>s, are retained. Commas |
|||
enclosed between left and right parenthesis characters |
|||
do not delimit arguments. |
|||
|
|||
Arguments are positionally defined and referenced. The |
|||
string "$1" in the defining text shall be replaced by |
|||
the first argument. Systems shall support at least nine |
|||
arguments; only the first nine can be referenced, using |
|||
the strings "$1" to "$9" , inclusive. The string "$0" is |
|||
replaced with the name of the macro. The string "$#" is |
|||
replaced by the number of arguments as a string. The |
|||
string "$*" is replaced by a list of all of the argu- |
|||
ments, separated by commas. The string "$@" is replaced |
|||
by a list of all of the arguments separated by commas, |
|||
and each argument is quoted using the current left and |
|||
right quoting strings. |
|||
|
|||
If fewer arguments are supplied than are in the macro |
|||
definition, the omitted arguments are taken to be null. |
|||
It is not an error if more arguments are supplied than |
|||
are in the macro definition. |
|||
|
|||
No special meaning is given to any characters enclosed |
|||
between matching left and right quoting strings, but the |
|||
quoting strings are themselves discarded. By default, |
|||
the left quoting string consists of a grave accent ( '`' |
|||
) and the right quoting string consists of an acute |
|||
accent ( '" ); see also the changequote macro. |
|||
|
|||
Comments are written but not scanned for matching macro |
|||
names; by default, the begin-comment string consists of |
|||
the number sign character and the end-comment string |
|||
consists of a <newline>. See also the changecom and dnl |
|||
macros. |
|||
|
|||
The m4 utility shall make available the following built- |
|||
in macros. They can be redefined, but once this is done |
|||
the original meaning is lost. Their values shall be null |
|||
unless otherwise stated. In the descriptions below, the |
|||
term defining text refers to the value of the macro: the |
|||
second argument to the define macro, among other things. |
|||
Except for the first argument to the eval macro, all |
|||
numeric arguments to built-in macros shall be inter- |
|||
preted as decimal values. The string values produced as |
|||
the defining text of the decr, divnum, incr, index, len, |
|||
and sysval built-in macros shall be in the form of a |
|||
decimal-constant as defined in the C language. |
|||
|
|||
changecom |
|||
The changecom macro shall set the begin-comment |
|||
and end-comment strings. With no arguments, the |
|||
comment mechanism shall be disabled. With a sin- |
|||
gle argument, that argument shall become the |
|||
begin-comment string and the <newline> shall |
|||
become the end-comment string. With two argu- |
|||
ments, the first argument shall become the begin- |
|||
comment string and the second argument shall |
|||
become the end-comment string. Systems shall sup- |
|||
port comment strings of at least five characters. |
|||
|
|||
changequote |
|||
The changequote macro shall set the begin-quote |
|||
and end-quote strings. With no arguments, the |
|||
quote strings shall be set to the default values |
|||
(that is, `'). With a single argument, that argu- |
|||
ment shall become the begin-quote string and the |
|||
<newline> shall become the end-quote string. With |
|||
two arguments, the first argument shall become |
|||
the begin-quote string and the second argument |
|||
shall become the end-quote string. Systems shall |
|||
support quote strings of at least five charac- |
|||
ters. |
|||
|
|||
decr The defining text of the decr macro shall be its |
|||
first argument decremented by 1. It shall be an |
|||
error to specify an argument containing any non- |
|||
numeric characters. |
|||
|
|||
define The second argument shall become the defining |
|||
text of the macro whose name is the first argu- |
|||
ment. |
|||
|
|||
defn The defining text of the defn macro shall be the |
|||
quoted definition (using the current quoting |
|||
strings) of its arguments. |
|||
|
|||
divert The m4 utility maintains nine temporary buffers, |
|||
numbered 1 to 9, inclusive. When the last of the |
|||
input has been processed, any output that has |
|||
been placed in these buffers shall be written to |
|||
standard output in buffer-numerical order. The |
|||
divert macro shall divert future output to the |
|||
buffer specified by its argument. Specifying no |
|||
argument or an argument of 0 shall resume the |
|||
normal output process. Output diverted to a |
|||
stream other than 0 to 9 shall be discarded. It |
|||
shall be an error to specify an argument contain- |
|||
ing any non-numeric characters. |
|||
|
|||
divnum The defining text of the divnum macro shall be |
|||
the number of the current output stream as a |
|||
string. |
|||
|
|||
dnl The dnl macro shall cause m4 to discard all input |
|||
characters up to and including the next <new- |
|||
line>. |
|||
|
|||
dumpdef |
|||
The dumpdef macro shall write the defined text to |
|||
standard error for each of the macros specified |
|||
as arguments, or, if no arguments are specified, |
|||
for all macros. |
|||
|
|||
errprint |
|||
The errprint macro shall write its arguments to |
|||
standard error. |
|||
|
|||
eval The eval macro shall evaluate its first argument |
|||
as an arithmetic expression, using 32-bit signed |
|||
integer arithmetic. All of the C-language opera- |
|||
tors shall be supported, except for: |
|||
|
|||
|
|||
[] |
|||
-> |
|||
++ |
|||
-- |
|||
(type) |
|||
unary * |
|||
sizeof, |
|||
. |
|||
?: |
|||
unary & |
|||
|
|||
and all assignment operators. It shall be an error to |
|||
specify any of these operators. Precedence and associa- |
|||
tivity shall be as in the ISO C standard. Systems shall |
|||
support octal and hexadecimal numbers as in the ISO C |
|||
standard. The second argument, if specified, shall set |
|||
the radix for the result; the default is 10. The third |
|||
argument, if specified, sets the minimum number of dig- |
|||
its in the result. It shall be an error to specify the |
|||
second or third argument containing any non-numeric |
|||
characters. |
|||
|
|||
ifdef If the first argument to the ifdef macro is |
|||
defined, the defining text shall be the second |
|||
argument. Otherwise, the defining text shall be |
|||
the third argument, if specified, or the null |
|||
string, if not. |
|||
|
|||
ifelse The ifelse macro takes three or more arguments. |
|||
If the first two arguments compare as equal |
|||
strings (after macro expansion of both argu- |
|||
ments), the defining text shall be the third |
|||
argument. If the first two arguments do not com- |
|||
pare as equal strings and there are three argu- |
|||
ments, the defining text shall be null. If the |
|||
first two arguments do not compare as equal |
|||
strings and there are four or five arguments, the |
|||
defining text shall be the fourth argument. If |
|||
the first two arguments do not compare as equal |
|||
strings and there are six or more arguments, the |
|||
first three arguments shall be discarded and pro- |
|||
cessing shall restart with the remaining argu- |
|||
ments. |
|||
|
|||
include |
|||
The defining text for the include macro shall be |
|||
the contents of the file named by the first argu- |
|||
ment. It shall be an error if the file cannot be |
|||
read. |
|||
|
|||
incr The defining text of the incr macro shall be its |
|||
first argument incremented by 1. It shall be an |
|||
error to specify an argument containing any non- |
|||
numeric characters. |
|||
|
|||
index The defining text of the index macro shall be the |
|||
first character position (as a string) in the |
|||
first argument where a string matching the second |
|||
argument begins (zero origin), or -1 if the sec- |
|||
ond argument does not occur. |
|||
|
|||
len The defining text of the len macro shall be the |
|||
length (as a string) of the first argument. |
|||
|
|||
m4exit Exit from the m4 utility. If the first argument |
|||
is specified, it is the exit code. The default is |
|||
zero. It shall be an error to specify an argument |
|||
containing any non-numeric characters. |
|||
|
|||
m4wrap The first argument shall be processed when EOF is |
|||
reached. If the m4wrap macro is used multiple |
|||
times, the arguments specified shall be processed |
|||
in the order in which the m4wrap macros were pro- |
|||
cessed. |
|||
|
|||
maketemp |
|||
The defining text shall be the first argument, |
|||
with any trailing 'X' characters replaced with |
|||
the current process ID as a string. |
|||
|
|||
popdef The popdef macro shall delete the current defini- |
|||
tion of its arguments, replacing that definition |
|||
with the previous one. If there is no previous |
|||
definition, the macro is undefined. |
|||
|
|||
pushdef |
|||
The pushdef macro shall be equivalent to the |
|||
define macro with the exception that it shall |
|||
preserve any current definition for future |
|||
retrieval using the popdef macro. |
|||
|
|||
shift The defining text for the shift macro shall be |
|||
all of its arguments except for the first one. |
|||
|
|||
sinclude |
|||
The sinclude macro shall be equivalent to the |
|||
include macro, except that it shall not be an |
|||
error if the file is inaccessible. |
|||
|
|||
substr The defining text for the substr macro shall be |
|||
the substring of the first argument beginning at |
|||
the zero-offset character position specified by |
|||
the second argument. The third argument, if spec- |
|||
ified, shall be the number of characters to |
|||
select; if not specified, the characters from the |
|||
starting point to the end of the first argument |
|||
shall become the defining text. It shall not be |
|||
an error to specify a starting point beyond the |
|||
end of the first argument and the defining text |
|||
shall be null. It shall be an error to specify an |
|||
argument containing any non-numeric characters. |
|||
|
|||
syscmd The syscmd macro shall interpret its first argu- |
|||
ment as a shell command line. The defining text |
|||
shall be the string result of that command. No |
|||
output redirection shall be performed by the m4 |
|||
utility. The exit status value from the command |
|||
can be retrieved using the sysval macro. |
|||
|
|||
sysval The defining text of the sysval macro shall be |
|||
the exit value of the utility last invoked by the |
|||
syscmd macro (as a string). |
|||
|
|||
traceon |
|||
The traceon macro shall enable tracing for the |
|||
macros specified as arguments, or, if no argu- |
|||
ments are specified, for all macros. The trace |
|||
output shall be written to standard error in an |
|||
unspecified format. |
|||
|
|||
traceoff |
|||
The traceoff macro shall disable tracing for the |
|||
macros specified as arguments, or, if no argu- |
|||
ments are specified, for all macros. |
|||
|
|||
translit |
|||
The defining text of the translit macro shall be |
|||
the first argument with every character that |
|||
occurs in the second argument replaced with the |
|||
corresponding character from the third argument. |
|||
|
|||
undefine |
|||
The undefine macro shall delete all definitions |
|||
(including those preserved using the pushdef |
|||
macro) of the macros named by its arguments. |
|||
|
|||
undivert |
|||
The undivert macro shall cause immediate output |
|||
of any text in temporary buffers named as argu- |
|||
ments, or all temporary buffers if no arguments |
|||
are specified. Buffers can be undiverted into |
|||
other temporary buffers. Undiverting shall dis- |
|||
card the contents of the temporary buffer. It |
|||
shall be an error to specify an argument contain- |
|||
ing any non-numeric characters. |
|||
|
|||
|
|||
EXIT STATUS |
|||
The following exit values shall be returned: |
|||
|
|||
0 Successful completion. |
|||
|
|||
>0 An error occurred |
|||
|
|||
|
|||
If the m4exit macro is used, the exit value can be spec- |
|||
ified by the input file. |
|||
|
|||
CONSEQUENCES OF ERRORS |
|||
Default. |
|||
|
|||
The following sections are informative. |
|||
|
|||
APPLICATION USAGE |
|||
The defn macro is useful for renaming macros, especially |
|||
built-ins. |
|||
|
|||
EXAMPLES |
|||
If the file m4src contains the lines: |
|||
|
|||
|
|||
The value of `VER' is "VER". |
|||
ifdef(`VER', "VER" is defined to be VER., VER is not defined.) |
|||
ifelse(VER, 1, "VER" is `VER'.) |
|||
ifelse(VER, 2, "VER" is `VER'., "VER" is not 2.) |
|||
end |
|||
|
|||
then the command |
|||
|
|||
|
|||
m4 m4src |
|||
|
|||
or the command: |
|||
|
|||
|
|||
m4 -U VER m4src |
|||
|
|||
produces the output: |
|||
|
|||
|
|||
The value of VER is "VER". |
|||
VER is not defined. |
|||
|
|||
|
|||
VER is not 2. |
|||
end |
|||
|
|||
The command: |
|||
|
|||
|
|||
m4 -D VER m4src |
|||
|
|||
produces the output: |
|||
|
|||
|
|||
The value of VER is "". |
|||
VER is defined to be . |
|||
|
|||
|
|||
VER is not 2. |
|||
end |
|||
|
|||
The command: |
|||
|
|||
|
|||
m4 -D VER=1 m4src |
|||
|
|||
produces the output: |
|||
|
|||
|
|||
The value of VER is "1". |
|||
VER is defined to be 1. |
|||
VER is 1. |
|||
VER is not 2. |
|||
end |
|||
|
|||
The command: |
|||
|
|||
|
|||
m4 -D VER=2 m4src |
|||
|
|||
|
|||
produces the output: |
|||
The value of VER is "2". |
|||
VER is defined to be 2. |
|||
|
|||
|
|||
VER is 2. |
|||
end |
|||
|
|||
RATIONALE |
|||
None. |
|||
|
|||
FUTURE DIRECTIONS |
|||
None. |
|||
|
|||
SEE ALSO |
|||
c99 |
|||
|
|||
COPYRIGHT |
|||
Portions of this text are reprinted and reproduced in |
|||
electronic form from IEEE Std 1003.1, 2003 Edition, |
|||
Standard for Information Technology -- Portable Operat- |
|||
ing System Interface (POSIX), The Open Group Base Speci- |
|||
fications Issue 6, Copyright (C) 2001-2003 by the Insti- |
|||
tute of Electrical and Electronics Engineers, Inc and |
|||
The Open Group. In the event of any discrepancy between |
|||
this version and the original IEEE and The Open Group |
|||
Standard, the original IEEE and The Open Group Standard |
|||
is the referee document. The original Standard can be |
|||
obtained online at http://www.open- |
|||
group.org/unix/online.html . |
|||
|
|||
|
|||
|
|||
IEEE/The Open Group 2003 M4(P) |
|||
Binary file not shown.
Loading…
Reference in new issue