AUTOM4TE(1)

πŸ“¦ version 2.71, in epel 9

autom4te(1) β€” the M4 generator bestie πŸ’–βœ¨

NAME πŸ’…

autom4te β€” Generate files and scripts thanks to M4. No cap, that's the whole vibe.


SYNOPSIS πŸŒ€

autom4te [OPTION]... [FILES]

DESCRIPTION πŸ¦‹

Okay so here's the tea: autom4te runs GNU M4 on the FILES, and it avoids useless runs like a queen who does not do duplicate work. πŸ’… If you're tracing, it outputs the traces. If you're freezing, it outputs the frozen file. Otherwise? It gives you the expansion of the FILES, periodt.

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. Fr fr, that's the rule. 🫢

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

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
  • --no-cache β€” disable the cache
  • -m, --mode=OCTAL β€” change the non trace output file mode (0666)
  • -M, --melt β€” don't use M4 frozen files

Languages include πŸ—£οΈ

  • 'Autoconf' β€” create Autoconf configure scripts
  • 'Autotest' β€” create Autotest test suites
  • 'M4sh' β€” create M4sh shell scripts
  • 'M4sugar' β€” create M4sugar output

Warning categories include ⚠️

  • cross β€” cross compilation issues
  • gnu β€” GNU coding standards (default in gnu and gnits modes)
  • obsolete β€” obsolete features or constructions (default)
  • override β€” user redefinitions of Automake rules or variables
  • portability β€” portability issues (default in gnu and gnits modes)
  • portability-recursive β€” nested Make variables (default with -Wportability)
  • extra-portability β€” extra portability issues related to obscure tools
  • syntax β€” dubious syntactic constructs (default)
  • unsupported β€” unsupported or incomplete features (default)
  • all β€” all the warnings
  • no-CATEGORY β€” turn off warnings in CATEGORY
  • none β€” turn off all the warnings
  • error β€” treat warnings as errors

The environment variables M4 and WARNINGS are honored. Slay. πŸ’–

Library directories πŸ“š

  • -B, --prepend-include=DIR β€” prepend directory DIR to search path
  • -I, --include=DIR β€” append directory DIR to search path

Tracing πŸ”

  • -t, --trace=MACRO[:FORMAT] β€” report the MACRO invocations
  • -p, --preselect=MACRO β€” prepare to trace MACRO in a future run

Freezing ❄️

  • -F, --freeze β€” produce an M4 frozen state file for FILES

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

  • $$ β€” literal $
  • $f β€” file where macro was called
  • $l β€” line where macro was called
  • $d β€” nesting depth of macro call
  • $n β€” name of the macro
  • $NUM β€” argument NUM, unquoted and with newlines
  • $SEP@ β€” all arguments, with newlines, quoted, and separated by SEP
  • $SEP* β€” all arguments, with newlines, unquoted, and separated by SEP
  • $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. Obsessed with the flexibility tbh. 🌈


AUTHOR ✍️

Written by Akim Demaille.


REPORTING BUGS πŸ›

Report bugs to <bug-autoconf@gnu.org>.

GNU Autoconf home page: <https://www.gnu.org/software/autoconf/>.

General help using GNU software: <https://www.gnu.org/gethelp/>.


Copyright Β© 2021 Free Software Foundation, Inc. License GPLv3+/Autoconf: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>, <https://gnu.org/licenses/exceptions.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Like, none. Zero. Be aware. πŸ’€


SEE ALSO πŸ‘€

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. Go get that lore. πŸ“–βœ¨


okay bye bestie! 🫢 This absolute icon of a page is GNU Autoconf 2.71, dated January 2021. mwah πŸ’‹πŸŽ€

πŸ“¦ where this page comes from