m4 - macro processor


   m4 [OPTION]... [FILE]...


   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

          output version information and exit

   -E, --fatal-warnings
          once:  warnings  become  errors,  twice: stop execution at first

   -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 if macro definition matches REGEXP,

          default \$\({[^}]*}\|[0-9][0-9]+\)

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

   -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

   -d, --debug[=FLAGS]
          set debug level (no FLAGS implies `aeq')

          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.


   Written by Rene' Seindal.


   Report bugs to: bug-m4@gnu.org
   GNU M4 home page: <http://www.gnu.org/software/m4/>
   General help using GNU software: <http://www.gnu.org/gethelp/>


   Copyright    2013  Free Software Foundation, Inc.  License GPLv3+: GNU
   GPL version 3 or later <http://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.


   The  full  documentation  for m4 is maintained as a Texinfo manual.  If
   the info and m4 programs are  properly  installed  at  your  site,  the

          info m4

   should give you access to the complete manual.


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.

Free Software

Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.

Free Books

The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.