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
    stop execution after first warning

-i, --interactive
    unbuffer output, ignore interrupts

-P, --prefix-builtins
    force a `m4_' prefix to all builtins

-Q, --quiet, --silent
    suppress some warnings for builtins

  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, --traditional
    suppress all GNU extensions

-H, --hashsize=PRIME
    set symbol lookup hash table size [509]

-L, --nesting-limit=NUMBER
    change artificial nesting limit [1024]

  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

-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>.

COPYRIGHT
Copyright © 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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.