Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
GNU Make debugger
C Perl Shell C++ Ruby Objective-C Other
branch: master
Failed to load latest commit information.
config Files from GNU Make 4.1 release.
debian In the main branch we don't need up_texi_fixes
debugger Remove gcc warning about variable which can be clobbered by longjump.
doc doc/make.texi needed for travis. config-flags.pm is derived.
glob Files from GNU Make 4.1 release.
htdocs Give process id in output line when jobs != 1.
packaging Give process id in output line when jobs != 1.
po Update POTFILES.in for new sources. Travis 3rd try
tests Add shell input/output separator chevrons with --trace/-x. Redo options
w32 Files from GNU Make 4.1 release.
.cvsignore Changes from Ralf Wildenhues.
.gitignore More ignore and start adding spec for our debugger test (not used for…
.purify * Fix memory leaks, fd leaks, and some long-standing bugs recognizing…
.travis.yml Skip fopen-fail on Travis by setting TRAVIS=1 on make check. Travis 3…
AUTHORS Files from GNU Make 4.1 release.
COPYING * Update to GPLv3
ChangeLog.1 Update copyright years.
ChangeLog.2 * Update to GPLv3
INSTALL Files from GNU Make 4.1 release.
Makefile.am Fixes for other OS's and compile options. Change where to report erro…
Makefile.ami Files from GNU Make 4.1 release.
NEWS Get ready for the first 4.1 release.
NEWS.remake Get ready for the first 4.1 release.
NMakefile.template - Many fixup patches from Savannah.
README.Amiga Files from GNU Make 4.1 release.
README.VMS Files from GNU Make 4.1 release.
README.customs Files from GNU Make 4.1 release.
README.md Remove coderwall endorsement
README.remake Update misc docs.
README.template Remove OS-specific build files that we don't support.
REMAKE.todo Add debugger code and get it to compile. It has not been hook into
Rakefile Get ready for release.
SCOPTIONS Initial repository
SMakefile.template Update copyrights for 2010.
TODO.private Update copyrights for 2010.
acinclude.m4 Files from GNU Make 4.1 release.
alloca.c Files from GNU Make 4.1 release.
amiga.c Files from GNU Make 4.1 release.
amiga.h Files from GNU Make 4.1 release.
ar.c Files from GNU Make 4.1 release.
arscan.c Files from GNU Make 4.1 release.
build.template Update copyrights for 2010.
build_w32.bat Files from GNU Make 4.1 release.
buildargv.c Debugger files now compile with warnings, but without error. And we s…
buildargv.h Debugger files now compile with warnings, but without error. And we s…
commands.c Start adding target stack parameter so we can track it. We stubbed en…
commands.h Closer to having --tasks --targets and tracing working. (Not there ye…
configure.ac Finish adding call stack pops. Bump version. Start using fatal_err() …
configure.bat Files from GNU Make 4.1 release.
debug.c debug.c is now included and compiles. Move things out of main.c that …
debug.h debug.c is now included and compiles. Move things out of main.c that …
default.c Files from GNU Make 4.1 release.
dep.h remake --tasks and remake --targets now works, modulo possible bugs.
dir.c Files from GNU Make 4.1 release.
dosbuild.bat Files from GNU Make 4.1 release.
expand.c Start adding target stack parameter so we can track it. We stubbed en…
expand.h Start parsing remake trace/debugger options
file.c remake --tasks and remake --targets now works, modulo possible bugs.
file.h Closer to having --tasks --targets and tracing working. (Not there ye…
filedef.h Merge floc_t into gmk_loc
function.c Get ready for the first 4.1 release.
function.h Reduce compile warnings
getloadavg.c Files from GNU Make 4.1 release.
getopt.c Squelch some FreeBSD clang warnings
getopt.h Files from GNU Make 4.1 release.
getopt1.c Files from GNU Make 4.1 release.
gettext.h Files from GNU Make 4.1 release.
gmk-default.h Files from GNU Make 4.1 release.
gmk-default.scm Files from GNU Make 4.1 release.
gnumake.h trace.c now compiles and is added to final result. Add some (most?) o…
guile.c Files from GNU Make 4.1 release.
hash.c Files from GNU Make 4.1 release.
hash.h Files from GNU Make 4.1 release.
implicit.c Files from GNU Make 4.1 release.
implicit.h Header for implicit C file
job.c Add shell input/output separator chevrons with --trace/-x. Redo options
job.h Start adding target stack parameter so we can track it. We stubbed en…
load.c Files from GNU Make 4.1 release.
loadapi.c Files from GNU Make 4.1 release.
main.c Fixes for other OS's and compile options. Change where to report erro…
main.h AIX tolerance
maintMakefile Track that changes in GNU without which "make update" would fail.
make.1 Files from GNU Make 4.1 release.
make.h Squelch some FreeBSD clang warnings
make.lnk Files from GNU Make 4.1 release.
make_msvc_net2003.sln Initial repository
make_msvc_net2003.vcproj Files from GNU Make 4.1 release.
makefile.com Files from GNU Make 4.1 release.
makefile.vms Files from GNU Make 4.1 release.
makeint.h Fixes for other OS's and compile options. Change where to report erro…
misc.c Files from GNU Make 4.1 release.
output.c All of the remake-specific print routines are available now. Compilin…
output.h trace.c now compiles and is added to final result. Add some (most?) o…
prepare_w32.bat - Fixed a bug reported by Michael Matz regarding handling of parallel
print.c Finish adding call stack pops. Bump version. Start using fatal_err() …
print.h Finish adding call stack pops. Bump version. Start using fatal_err() …
read.c remake --tasks works now. File locations updated in more targets in e…
read.h All of the remake-specific print routines are available now. Compilin…
readme.vms Update copyrights for 2010.
remake.c Finish adding call stack pops. Bump version. Start using fatal_err() …
remote-cstms.c Files from GNU Make 4.1 release.
remote-stub.c Files from GNU Make 4.1 release.
rule.c Merge floc_t into gmk_loc
rule.h Merge floc_t into gmk_loc
signame.c Files from GNU Make 4.1 release.
strcache.c Files from GNU Make 4.1 release.
subproc.bat Files from GNU Make 4.1 release.
trace.c Merge floc_t into gmk_loc
trace.h Merge floc_t into gmk_loc
types.h Merge floc_t into gmk_loc
variable.c remake --tasks and remake --targets now works, modulo possible bugs.
variable.h remake --tasks and remake --targets now works, modulo possible bugs.
version.c Files from GNU Make 4.1 release.
vmsdir.h Files from GNU Make 4.1 release.
vmsfunctions.c Files from GNU Make 4.1 release.
vmsify.c Files from GNU Make 4.1 release.
vmsjobs.c Files from GNU Make 4.1 release.
vpath.c Files from GNU Make 4.1 release.
vpath.h Start parsing remake trace/debugger options

README.md

Build Status

Patched GNU Make 4.1 sources to add improved error reporting, tracing, target listing, and a debugger. See the remake-3-82 branch for a patched GNU Make 3.82.

Although there's a full debugger here, most of the time I can get by using no options since normal output is a little more verbose and detailed. When that isn't enough, I use the --trace or -x option, e.g:

remake -x <other make options>

But if you want the full debugger, use --debugger or -X:

remake -X <other make options>

To enter the debugger from inside a Makefile, use the built-in function $(debugger). For example here is a Makefile:

all:
    $(debugger 'arg not used')
    echo Nothing here, move along

When GNU Make is inside the all target, it will make a call to the debugger. The string after debugger is not used, but seems to be needed to get parsing right.

If there is project that you want a list of "interesting" Makefile targets, try:

remake --tasks

If the project has commented its Makefile using remake-friendly comments you may get output like this:

ChangeLog   # create ChangeLog fom git log via git2cl
build   # Do what it takes to build software locally
check   # Run all tests
clean   # Remove OS- and platform-specific derived files.
dist    # Create source and binary distribution
distclean   # Remove all derived files. Like "clean" on steroids.
install # Install package
test    # Same as check

To get a list of all targets, interesting or not, use --targets instead of --tasks.

To build:

$ autoreconf -i
$ ./configure
$ make update
$ make && make check && sudo make install

See also https://github.com/rocky/remake/wiki

Author for debugger portion: Rocky Bernstein rocky@gnu.org

Something went wrong with that request. Please try again.