Provided by: remake_4.3+dbg-1.5+dfsg-1_amd64 bug

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
            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

       --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/.