remake manpage


remake [ options ] [target] …


remake remake is forked and enahanced version of GNU Make that adds improved error reporting, better tracing, profiling and a debugger.

See GNU Make for information on GNU Make and its use.


Below we give options that are specific to remake. For the other options, please refer to the GNU Make documentation

-c | –search-parent:

if a Makefile or goal target isn’t found in the current directory, remake will search in the parent directory for a Makefile. On finding a parent the closest parent directory with a Makefile, remake will set its current working directory to the directory where the Makefile was found.

In this respect the short option -c, is like -C except no directory need to be specified.

-! | –post-mortem:

Go into the debugger on an error. This is the Same as options: –debugger –debugger-stop=error


Creates callgrind profile output. Callgrind output can be used with kcachegrind, callgrind_annotate, or gprof2dot to analyze data. You can get not only timings, but a graph of the target dependencies checked


Print a list of explicitly named targets found in read-in makefiles.


Print a list of explicitly-named targets found in read-in makefiles which have description comments. A description comment is added by putting a single comment before the target that starts with #:. For example, for this Makefile:

#: This is the main target
    @echo all here

#: Test things
    @echo check here

#: Build distribution
    @echo dist here

Running remake –tasks gives:

all                  This is the main target
check                Test things
dist                 Build distribution
-x | –trace:

Print debugging information in addition to normal processing.

If flags are omitted, then the behavior is the same as if –trace=normal was specified

flags can be one of:

  • normal: basic tracing and shell tracing; this is the default
  • read: for tracing all Makefiles read in,
  • noshell: which is like `normal but shell tracing is disabled
  • full: for maximum tracing
-X | –debugger [=type]:

Enter debugger.

If type is given it may be one of:

  • normal: basic tracing and shell tracing; this is the default
  • goal: for all tracing Makefiles read
  • preaction like normal but shell tracing is disabled
  • full: for maximum tracing.
  • fatal: for entering the debugger on a fatal error. The –post-mortem option sets this
  • error: for entering the debugger on an error.


Since this is derived from GNU Make, it most of its bugs. See the chapter Problems and Bugs in “The GNU Make Manual” .

For remake-specific bugs see


GNU Make from which remake is derived, was written by Richard Stallman and Roland McGrath, and is currently maintained by Paul Smith.

However remake is the brainstorm of Rocky Bernstein. The help of others though has been, and is, greatly appreciated. Michael Lord Welles however thought of the name, remake.