(make.info.gz) Options Summary
9.7 Summary of Options
Here is a table of all the options `make' understands:
These options are ignored for compatibility with other versions of
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' ( Other Special Variables Special
Variables.) is set to a number greater than 0 this option is
disabled when considering whether to remake makefiles ( How
Makefiles Are Remade Remaking Makefiles.).
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' (
Recursive Use of `make' Recursion.).
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).
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.
All types of debugging output are enabled. This is
equivalent to using `-d'.
Basic debugging prints each target that was found to be
out-of-date, and whether the build was successful or not.
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.
Prints messages describing the implicit rule searches for
each target. This option also enables `basic' messages.
Prints messages giving details on the invocation of specific
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'
Give variables taken from the environment precedence over
variables from makefiles. Variables from the Environment
Read the file named FILE as a makefile. Writing Makefiles
Remind you of the options that `make' understands and then exit.
Ignore all errors in commands executed to remake files.
Errors in Commands Errors.
Specifies a directory DIR to search for included makefiles.
Including Other Makefiles Include. If several `-I' options are
used to specify several directories, the directories are searched
in the order specified.
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. Parallel Execution Parallel, for more
information on how commands are run. Note that this option is
ignored on MS-DOS.
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.
Testing the Compilation of a Program Testing.
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. Parallel Execution Parallel.
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
Print the commands that would be executed, but do not execute them.
Instead of Executing the Commands Instead of Execution.
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. Avoiding Recompilation of Some Files Avoiding
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 filename and linenumber information for
command and variable definitions, so it can be a useful debugging
tool in complex environments.
"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. Instead of Executing the Commands
Instead of Execution.
Eliminate use of the built-in implicit rules ( Using Implicit
Rules Implicit Rules.). You can still define your own by writing
pattern rules ( Defining and Redefining Pattern Rules
Pattern Rules.). The `-r' option also clears out the default list
of suffixes for suffix rules ( Old-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 ( Variables Used by Implicit
Rules Implicit Variables.); see the `-R' option below.
Eliminate use of the built-in rule-specific variables (
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.
Silent operation; do not print the commands as they are executed.
Command Echoing Echoing.
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' ( Recursive Use of
`make' Recursion.) or if you set `-k' in `MAKEFLAGS' in your
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'. Instead of Executing the Commands Instead of
Print the version of the `make' program plus a copyright, a list
of authors, and a notice that there is no warranty; then exit.
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.
Recursive Use of `make' Recursion. (In practice, you
rarely need to specify this option since `make' does it for you;
see The `--print-directory' Option -w Option.)
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. The `--print-directory'
Option -w Option.
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'. Instead of Executing the Commands
Instead of Execution.
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.
automatically generated byinfo2html