Go to the first, previous, next, last section, table of contents.

## 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`.
``-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 section Recursive Use of `make`).
``-d'`
``--debug'`
  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.
``-e'`
``--environment-overrides'`
  Give variables taken from the environment precedence over variables from makefiles. See section Variables from the Environment.
``-f file'`
``--file=file'`
``--makefile=file'`
  Read the file named file as a makefile. See section Writing Makefiles.
``-h'`
``--help'`
  Remind you of the options that `make` understands and then exit.
``-i'`
``--ignore-errors'`
  Ignore all errors in commands executed to remake files. See section Errors in Commands.
``-I dir'`
``--include-dir=dir'`
  Specifies a directory dir to search for included makefiles. See section Including Other Makefiles. 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 jobs (commands) to run simultaneously. With no argument, `make` runs as many jobs simultaneously as possible. If there is more than one ``-j'` option, the last one is effective. See section Parallel Execution, for more information on how commands 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 dependencies of these targets can be processed all the same. See section Testing the Compilation of a Program.
``-l [load]'`
``--load-average[=load]'`
``--max-load[=load]'`
  Specifies that no new jobs (commands) should be started if there are other jobs running and the load average is at least load (a floating-point number). With no argument, removes a previous load limit. See section Parallel Execution.
``-n'`
``--just-print'`
``--dry-run'`
``--recon'`
  Print the commands that would be executed, but do not execute them. See section Instead of Executing the Commands.
``-o file'`
``--old-file=file'`
``--assume-old=file'`
  Do not remake the file file even if it is older than its dependencies, and do not remake anything on account of changes in file. Essentially the file is treated as very old and its rules are ignored. See section Avoiding Recompilation of Some Files.
``-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 -p -f /dev/null'`.
``-q'`
``--question'`
  "Question mode". Do not run any commands, 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. See section Instead of Executing the Commands.
``-r'`
``--no-builtin-rules'`
  Eliminate use of the built-in implicit rules (see section Using Implicit Rules). You can still define your own by writing pattern rules (see section Defining and Redefining Pattern Rules). The ``-r'` option also clears out the default list of suffixes for suffix rules (see section Old-Fashioned 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 (see section Variables Used by Implicit Rules).
``-s'`
``--silent'`
``--quiet'`
  Silent operation; do not print the commands as they are executed. See section Command 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` (see section Recursive Use of `make`) 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 commands. This is used to pretend that the commands were done, in order to fool future invocations of `make`. See section Instead of Executing the Commands.
``-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 section Recursive Use of `make`. (In practice, you rarely need to specify this option since ``make'` does it for you; see section The ``--print-directory'` 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. See section The ``--print-directory'` 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`. See section Instead of Executing the Commands.
``--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.

Go to the first, previous, next, last section, table of contents.