Here is a table of all the options make
understands:
-b
-m
make
.
-B
--always-make
make
proceeds to
consider targets and their prerequisites using the normal algorithms;
however, all these targets are remade, regardless of the status of
their prerequisites.
-C
dir
--directory=
dir
-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
).
-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)
-d
.
b (
basic)
v (
verbose)
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)
basic
messages.
j (
jobs)
m (
makefile)
all
option does enable this option. This
option also enables basic
messages.
-e
--environment-overrides
-f
file
--file=
file
--makefile=
file
-h
--help
Remind you of the options that make
understands and then exit.
-i
--ignore-errors
-I
dir
--include-dir=
dir
-I
options are used to specify several directories, the directories are
searched in the order specified.
-j [
jobs]
--jobs[=
jobs]
make
runs as many jobs simultaneously as possible. If
there is more than one -j
option, the last one is effective.
See Parallel Execution,
for more information on how commands are run.
Note that this option is ignored on MS-DOS.
-k
--keep-going
-l [
load]
--load-average[=
load]
--max-load[=
load]
-n
--just-print
--dry-run
--recon
Print the commands that would be executed, but do not execute them.
See Instead of Executing the Commands.
-o
file
--old-file=
file
--assume-old=
file
-p
--print-data-base
-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.
-q
--question
-r
--no-builtin-rules
-r
option also clears out the default list of
suffixes for suffix rules (see 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 Variables Used by Implicit Rules); see the -R
option below.
-R
--no-builtin-variables
-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 commands as they are executed.
See 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 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 Instead of Executing the Commands.
-v
--version
make
program plus a copyright, a list
of authors, and a notice that there is no warranty; then exit.
-w
--print-directory
make
commands.
See Recursive Use of make
. (In practice, you
rarely need to specify this option since make
does it for you;
see The --print-directory
Option.)
--no-print-directory
-w
.
This option is useful when -w
is turned on automatically,
but you do not want to see the extra messages.
See The --print-directory
Option.
-W
file
--what-if=
file
--new-file=
file
--assume-new=
file
-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 Instead of Executing the Commands.
--warn-undefined-variables
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.