make: Options Summary

 
 9.7 Summary of Options
 ======================
 
 Here is a table of all the options 'make' understands:
 
 '-b'
 '-m'
      These options are ignored for compatibility with other versions of
      'make'.
 
 '-B'
 '--always-make'
      Consider all targets out-of-date.  GNU 'make' proceeds to consider
      targets and their prerequisites using the normal algorithms;
      however, all targets so considered are always remade regardless of
      the status of their prerequisites.  To avoid infinite recursion, if
      'MAKE_RESTARTS' (SeeOther Special Variables Special Variables.)
      is set to a number greater than 0 this option is disabled when
      considering whether to remake makefiles (SeeHow Makefiles Are
      Remade Remaking Makefiles.).
 
 '-C DIR'
 '--directory=DIR'
      Change to directory DIR before reading the makefiles.  If multiple
      '-C' options are specified, each is interpreted relative to the
      previous one: '-C / -C etc' is equivalent to '-C /etc'.  This is
      typically used with recursive invocations of 'make' (See
      Recursive Use of 'make' Recursion.).
 
 '-d'
 
      Print debugging information in addition to normal processing.  The
      debugging information says which files are being considered for
      remaking, which file-times are being compared and with what
      results, which files actually need to be remade, which implicit
      rules are considered and which are applied--everything interesting
      about how 'make' decides what to do.  The '-d' option is equivalent
      to '--debug=a' (see below).
 
 '--debug[=OPTIONS]'
 
      Print debugging information in addition to normal processing.
      Various levels and types of output can be chosen.  With no
      arguments, print the "basic" level of debugging.  Possible
      arguments are below; only the first character is considered, and
      values must be comma- or space-separated.
 
      'a (all)'
           All types of debugging output are enabled.  This is equivalent
           to using '-d'.
 
      'b (basic)'
           Basic debugging prints each target that was found to be
           out-of-date, and whether the build was successful or not.
 
      'v (verbose)'
           A level above 'basic'; includes messages about which makefiles
           were parsed, prerequisites that did not need to be rebuilt,
           etc.  This option also enables 'basic' messages.
 
      'i (implicit)'
           Prints messages describing the implicit rule searches for each
           target.  This option also enables 'basic' messages.
 
      'j (jobs)'
           Prints messages giving details on the invocation of specific
           sub-commands.
 
      'm (makefile)'
           By default, the above messages are not enabled while trying to
           remake the makefiles.  This option enables messages while
           rebuilding makefiles, too.  Note that the 'all' option does
           enable this option.  This option also enables 'basic'
           messages.
 
      'n (none)'
           Disable all debugging currently enabled.  If additional
           debugging flags are encountered after this they will still
           take effect.
 
 '-e'
 '--environment-overrides'
      Give variables taken from the environment precedence over variables
      from makefiles.  SeeVariables from the Environment Environment.
 
 '--eval=STRING'
 
      Evaluate STRING as makefile syntax.  This is a command-line version
      of the 'eval' function (SeeEval Function).  The evaluation is
      performed after the default rules and variables have been defined,
      but before any makefiles are read.
 
 '-f FILE'
 '--file=FILE'
 '--makefile=FILE'
      Read the file named FILE as a makefile.  SeeWriting Makefiles
      Makefiles.
 
 '-h'
 '--help'
 
      Remind you of the options that 'make' understands and then exit.
 
 '-i'
 '--ignore-errors'
      Ignore all errors in recipes executed to remake files.  See
      Errors in Recipes Errors.
 
 '-I DIR'
 '--include-dir=DIR'
      Specifies a directory DIR to search for included makefiles.  See
      Including Other Makefiles Include.  If several '-I' options are
      used to specify several directories, the directories are searched
      in the order specified.
 
 '-j [JOBS]'
 '--jobs[=JOBS]'
      Specifies the number of recipes (jobs) to run simultaneously.  With
      no argument, 'make' runs as many recipes simultaneously as
      possible.  If there is more than one '-j' option, the last one is
      effective.  SeeParallel Execution Parallel, for more
      information on how recipes are run.  Note that this option is
      ignored on MS-DOS.
 
 '-k'
 '--keep-going'
      Continue as much as possible after an error.  While the target that
      failed, and those that depend on it, cannot be remade, the other
      prerequisites of these targets can be processed all the same.
      SeeTesting the Compilation of a Program Testing.
 
 '-l [LOAD]'
 '--load-average[=LOAD]'
 '--max-load[=LOAD]'
      Specifies that no new recipes should be started if there are other
      recipes running and the load average is at least LOAD (a
      floating-point number).  With no argument, removes a previous load
      limit.  SeeParallel Execution Parallel.
 
 '-L'
 '--check-symlink-times'
      On systems that support symbolic links, this option causes 'make'
      to consider the timestamps on any symbolic links in addition to the
      timestamp on the file referenced by those links.  When this option
      is provided, the most recent timestamp among the file and the
      symbolic links is taken as the modification time for this target
      file.
 
 '-n'
 '--just-print'
 '--dry-run'
 '--recon'
 
      Print the recipe that would be executed, but do not execute it
      (except in certain circumstances).  SeeInstead of Executing
      Recipes Instead of Execution.
 
 '-o FILE'
 '--old-file=FILE'
 '--assume-old=FILE'
      Do not remake the file FILE even if it is older than its
      prerequisites, and do not remake anything on account of changes in
      FILE.  Essentially the file is treated as very old and its rules
      are ignored.  SeeAvoiding Recompilation of Some Files Avoiding
      Compilation.
 
 '-O[TYPE]'
 '--output-sync[=TYPE]'
      Ensure that the complete output from each recipe is printed in one
      uninterrupted sequence.  This option is only useful when using the
      '--jobs' option to run multiple recipes simultaneously (See
      Parallel Execution Parallel.) Without this option output will be
      displayed as it is generated by the recipes.
 
      With no type or the type 'target', output from the entire recipe of
      each target is grouped together.  With the type 'line', output from
      each line in the recipe is grouped together.  With the type
      'recurse', the output from an entire recursive make is grouped
      together.  With the type 'none', no output synchronization is
      performed.  SeeOutput During Parallel Execution Parallel
      Output.
 
 '-p'
 '--print-data-base'
      Print the data base (rules and variable values) that results from
      reading the makefiles; then execute as usual or as otherwise
      specified.  This also prints the version information given by the
      '-v' switch (see below).  To print the data base without trying to
      remake any files, use 'make -qp'.  To print the data base of
      predefined rules and variables, use 'make -p -f /dev/null'.  The
      data base output contains file name and line number information for
      recipe and variable definitions, so it can be a useful debugging
      tool in complex environments.
 
 '-q'
 '--question'
      "Question mode".  Do not run any recipes, or print anything; just
      return an exit status that is zero if the specified targets are
      already up to date, one if any remaking is required, or two if an
      error is encountered.  SeeInstead of Executing Recipes Instead
      of Execution.
 
 '-r'
 '--no-builtin-rules'
      Eliminate use of the built-in implicit rules (SeeUsing Implicit
      Rules Implicit Rules.).  You can still define your own by writing
      pattern rules (SeeDefining and Redefining Pattern Rules Pattern
      Rules.).  The '-r' option also clears out the default list of
      suffixes for suffix rules (SeeOld-Fashioned Suffix Rules Suffix
      Rules.).  But you can still define your own suffixes with a rule
      for '.SUFFIXES', and then define your own suffix rules.  Note that
      only _rules_ are affected by the '-r' option; default variables
      remain in effect (SeeVariables Used by Implicit Rules Implicit
      Variables.); see the '-R' option below.
 
 '-R'
 '--no-builtin-variables'
      Eliminate use of the built-in rule-specific variables (See
      Variables Used by Implicit Rules Implicit Variables.).  You can
      still define your own, of course.  The '-R' option also
      automatically enables the '-r' option (see above), since it doesn't
      make sense to have implicit rules without any definitions for the
      variables that they use.
 
 '-s'
 '--silent'
 '--quiet'
 
      Silent operation; do not print the recipes as they are executed.
      SeeRecipe Echoing Echoing.
 
 '-S'
 '--no-keep-going'
 '--stop'
 
      Cancel the effect of the '-k' option.  This is never necessary
      except in a recursive 'make' where '-k' might be inherited from the
      top-level 'make' via 'MAKEFLAGS' (SeeRecursive Use of 'make'
      Recursion.) or if you set '-k' in 'MAKEFLAGS' in your environment.
 
 '-t'
 '--touch'
 
      Touch files (mark them up to date without really changing them)
      instead of running their recipes.  This is used to pretend that the
      recipes were done, in order to fool future invocations of 'make'.
      SeeInstead of Executing Recipes Instead of Execution.
 
 '--trace'
      Show tracing information for 'make' execution.  Prints the entire
      recipe to be executed, even for recipes that are normally silent
      (due to '.SILENT' or '@').  Also prints the makefile name and line
      number where the recipe was defined, and information on why the
      target is being rebuilt.
 
 '-v'
 '--version'
      Print the version of the 'make' program plus a copyright, a list of
      authors, and a notice that there is no warranty; then exit.
 
 '-w'
 '--print-directory'
      Print a message containing the working directory both before and
      after executing the makefile.  This may be useful for tracking down
      errors from complicated nests of recursive 'make' commands.  See
      Recursive Use of 'make' Recursion.  (In practice, you rarely need
      to specify this option since 'make' does it for you; see SeeThe
      '--print-directory' Option -w Option.)
 
 '--no-print-directory'
      Disable printing of the working directory under '-w'.  This option
      is useful when '-w' is turned on automatically, but you do not want
      to see the extra messages.  SeeThe '--print-directory' Option
      -w Option.
 
 '-W FILE'
 '--what-if=FILE'
 '--new-file=FILE'
 '--assume-new=FILE'
      Pretend that the target FILE has just been modified.  When used
      with the '-n' flag, this shows you what would happen if you were to
      modify that file.  Without '-n', it is almost the same as running a
      'touch' command on the given file before running 'make', except
      that the modification time is changed only in the imagination of
      'make'.  SeeInstead of Executing Recipes Instead of Execution.
 
 '--warn-undefined-variables'
      Issue a warning message whenever 'make' sees a reference to an
      undefined variable.  This can be helpful when you are trying to
      debug makefiles which use variables in complex ways.