Provided by: remake_4.3+dbg-1.6+dfsg-3_amd64 

NAME
remake - GNU make utility to maintain groups of programs
SYNOPSIS
remake [OPTION]... [TARGET]...
DESCRIPTION
The remake utility will determine automatically which pieces of a large program need to be recompiled,
and issue the commands to recompile them. The manual describes the GNU implementation of make from which
remake is derived, which was written by Richard Stallman and Roland McGrath, and is currently maintained
by Paul Smith. Extended error reporting, debugger, and profiling extensions were written by Rocky
Bernstein. Our examples show C programs, since they are very common, but you can use remake with any
programming language whose compiler can be run with a shell command. In fact, remake or make are not
limited to programs. You can use it to describe any task where some files must be updated automatically
from others whenever the others change.
To prepare to use remake, you must write a file called the makefile that describes the relationships
among files in your program, and the states the commands for updating each file. In a program, typically
the executable file is updated from object files, which are in turn made by compiling source files.
Once a suitable makefile exists, each time you change some source files, this simple shell command:
remake
suffices to perform all necessary recompilations. The remake program uses the makefile description and
the last-modification times of the files to decide which of the files need to be updated. For each of
those files, it issues the commands recorded in the makefile.
remake executes commands in the makefile to update one or more target names, where name is typically a
program. If no -f option is present, remake will look for the makefiles GNUmakefile, makefile, and
Makefile, in that order.
Normally you should call your makefile either makefile or Makefile. (We recommend Makefile because it
appears prominently near the beginning of a directory listing, right near other important files such as
README.) The first name checked, GNUmakefile, is not recommended for most makefiles. You should use
this name if you have a makefile that is specific to GNU remake, and will not be understood by other
versions of remake. If makefile is '-', the standard input is read.
remake updates a target if it depends on prerequisite files that have been modified since the target was
last modified, or if the target does not exist.
OPTIONS
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
-P, --profile [=TYPE]
Enables timing and dependency profiling output using the specified TYPE for formatting. TYPE can be
either callgrind or json. If omitted, it defaults to callgrind. Files generated using callgrind
can be analyzed with kcachegrind, callgrind_annotate, or gprof2dot. Files generated with json have
the format specified in the info manual.
--profile-directory=[PATH]
Specifies the PATH that profiling files should be written to. Must exist before running make. It is
assumed to be a relative path to the initial directory where make is called, unless it begins with a
~ or /.
--targets
Print a list of explicitly-named targets found in read-in makefiles.
--tasks
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 '#:'.
-x, --trace [=FLAGS]
Set trace flags If the FLAGS are omitted, then the behavior is the same as if --trace=normal was
specified. FLAGS may be read for tracing Makefiles read in, noshell which is like normal but shell
tracing is disabled, or full for maximum tracing.
-X, --debugger [=TYPE]
Enter debugger with If the TYPE are omitted, then the behavior is the same as if --debugger=normal
was specified. TYPE may be goal for all tracing Makefiles read preread which stop before any
Makefiles are read goal which stops after the goal target is built normal which is the same as given
no option preaction which is like normal but shell tracing is disabled full for maximum tracing. It
is the same as giving all of the options except "normal" . fatal for entering the debugger on a
fatal error, error for entering the debugger on an error
SEE ALSO
The full documentation for remake is maintained as a Texinfo manual. If the info and remake programs are
properly installed at your site, the command
info remake
should give you access to the remake manual.
BUGS
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 -specifc bugs see https://github.com/rocky/remake/issues/.
AUTHORS
The 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.
COPYRIGHT
Copyright © 1992-1993, 1996-2020 Free Software Foundation, Inc. This file is part of GNU make.
GNU Make is free software; you can redistribute it and/or modify it under the terms of the GNU General
Public License as published by the Free Software Foundation; either version 3 of the License, or (at your
option) any later version.
GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see
http://www.gnu.org/licenses/.
GNU 5 June 2020 REMAKE(1)