Scroll to navigation

AUTOM4TE(1) User Commands AUTOM4TE(1)


autom4te - Generate files and scripts thanks to M4


autom4te [OPTION]... [FILES]


Run GNU M4 on the FILES, avoiding useless runs. Output the traces if tracing, the frozen file if freezing, otherwise the expansion of the FILES.

If some of the FILES are named 'FILE.m4f' they are considered to be M4 frozen files of all the previous files (which are therefore not loaded). If 'FILE.m4f' is not found, then 'FILE.m4' will be used, together with all the previous files.

Some files may be optional, i.e., will only be processed if found in the include path, but then must end in '.m4?'; the question mark is not part of the actual file name.

Operation modes:

print this help, then exit
print version number, then exit
verbosely report processing
don't remove temporary files
save output in FILE (defaults to '-', stdout)
don't rely on cached values
report the warnings falling in CATEGORY (comma-separated list accepted)
specify the set of M4 macros to use
preserve results for future runs in DIRECTORY
disable the cache
change the non trace output file mode (0666)
don't use M4 frozen files

Languages include:

create Autoconf configure scripts
create Autotest test suites
create M4sh shell scripts
create M4sugar output

Warning categories are:

cross compilation issues
GNU coding standards (default in gnu and gnits modes)
obsolete features or constructions (default)
user redefinitions of Automake rules or variables
portability issues (default in gnu and gnits modes)
nested Make variables (default with -Wportability)
extra portability issues related to obscure tools
dubious syntactic constructs (default)
unsupported or incomplete features (default)

-W also understands:

turn on all the warnings
turn off all the warnings
turn off warnings in CATEGORY
treat all enabled warnings as errors

The environment variables 'M4' and 'WARNINGS' are honored.

Library directories:

prepend directory DIR to search path
append directory DIR to search path


report the MACRO invocations
prepare to trace MACRO in a future run


produce an M4 frozen state file for FILES

FORMAT defaults to '$f:$l:$n:$%', and can use the following escapes:

literal $
file where macro was called
line where macro was called
nesting depth of macro call
name of the macro
argument NUM, unquoted and with newlines
all arguments, with newlines, quoted, and separated by SEP
all arguments, with newlines, unquoted, and separated by SEP
all arguments, without newlines, unquoted, and separated by SEP

SEP can be empty for the default (comma for @ and *, colon for %), a single character for that character, or {STRING} to use a string.


Written by Akim Demaille.


Report bugs to, or via Savannah:


Copyright © 2023 Free Software Foundation, Inc. License GPLv3+/Autoconf: GNU GPL version 3 or later <>, <>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.


autoconf(1), automake(1), autoreconf(1), autoupdate(1), autoheader(1), autoscan(1), config.guess(1), config.sub(1), ifnames(1), libtool(1).

The full documentation for Autoconf is maintained as a Texinfo manual. To read the manual locally, use the command

info autoconf

You can also consult the Web version of the manual at

December 2023 GNU Autoconf 2.72