manpagez: man pages & more
man m4(1)
Home | html | info | man
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 execution 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]+\)

       -W, --word-regexp=REGEXP
              use REGEXP for macro name syntax

   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 [65537]

       -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: <https://www.gnu.org/software/m4/>
       General help using GNU software: <https://www.gnu.org/gethelp/>


COPYRIGHT

       Copyright © 2025 Free Software Foundation, Inc.  License GPLv3+: GNU
       GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
       This is free software: you are free to change and redistribute it.
       There is NO WARRANTY, to the extent permitted 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.20                      May 2025                              m4(1)

m4 1.4.20 - Generated Sat May 10 15:59:50 CDT 2025
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.