Man1 - autom4te.1

Table of Contents


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:

-h, –help
print this help, then exit
-V, –version
print version number, then exit
-v, –verbose
verbosely report processing
-d, –debug
don’t remove temporary files
-o, *–output*=/FILE/
save output in FILE (defaults to ’-’, stdout)
-f, –force
don’t rely on cached values
-W, *–warnings*=/CATEGORY/
report the warnings falling in CATEGORY
-l, *–language*=/LANG/
specify the set of M4 macros to use
-C, *–cache*=/DIRECTORY/
preserve results for future runs in DIRECTORY
disable the cache
-m, *–mode*=/OCTAL/
change the non trace output file mode (0666)
-M, –melt
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 include:

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)
all the warnings
turn off warnings in CATEGORY
turn off all the warnings
treat warnings as errors

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

Library directories:

-B, *–prepend-include*=/DIR/
prepend directory DIR to search path
-I, *–include*=/DIR/
append directory DIR to search path


-t, *–trace*=/MACRO[/:FORMAT]
report the MACRO invocations
-p, *–preselect*=/MACRO/
prepare to trace MACRO in a future run


-F, –freeze
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 <>.
GNU Autoconf home page:
General help using GNU software:


Copyright © 2021 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 autom4te is maintained as a Texinfo manual. If the info and autom4te programs are properly installed at your site, the command

info autom4te

should give you access to the complete manual.

Author: dt

Created: 2022-02-22 Tue 15:53