make [options] [targets] [macro definitions]

Update one or more targets according to dependency instructions in a description file in the current directory. By default, this file is called makefile or Makefile. Options, targets, and macro definitions can be in any order. Macro definitions are typed as:


For more information on make, see Robert Mecklenburg’s Managing Projects with GNU Make (O’Reilly).


-d, --debug

Print detailed debugging information.

-e, --environment-overrides

Override Makefile macro definitions with environment variables.

-f Makefile, --file=Makefile, --makefile=Makefile

Use Makefile as the description file; a filename of - denotes standard input.

-h, --help

Print options to make command.

-i, --ignore-errors

Ignore command error codes (same as .IGNORE).

-j [jobs], --jobs [=jobs]

Attempt to execute this many jobs simultaneously or, if no number is specified, as many jobs as possible.

-k, --keep-going

Abandon the current target when it fails, but keep working with unrelated targets.

-l [load], --load-average [=load], --max-load [=load]

Attempt to keep load below load, which should be a floating-point number. Used with -j.

-n, --just-print, --dry-run, --recon

Print commands but don’t execute (used for testing).

-o file, --old-file=file, --assume-old=file

Never remake file or cause other files to be remade on account of it.

-p, --print-data-base

Print rules and variables in addition to normal execution.

-q, --question

Query; return 0 if file is up to date, ...

Get Linux in a Nutshell, 6th Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.