Difference between revisions of "Debugging Makefiles"

From eLinux.org
Jump to: navigation, search
Line 1: Line 1:
 
Here is some information on debugging Makefiles:
 
Here is some information on debugging Makefiles:
  
 +
== showing symbol values, and showing file dependencies ==
 
There's a good Dr. Dobbs article on this topic, by John Graham-Cumming, at:
 
There's a good Dr. Dobbs article on this topic, by John Graham-Cumming, at:
 
* [http://www.ddj.com/development-tools/197003338 Debugging Makefiles]
 
* [http://www.ddj.com/development-tools/197003338 Debugging Makefiles]
Line 6: Line 7:
 
http://www.embedded.com/columns/technicalinsights/197003517?printable=true
 
http://www.embedded.com/columns/technicalinsights/197003517?printable=true
  
 +
This article describes some macros you can put in your Makefiles to show
 +
you the values of symbols, and to show the dependencies that led to a particular
 +
target being built.  This is handy if you have a complex Makefile that you
 +
are trying to debug.
 +
 +
== Makefile Debugger ==
 
John has also written a Makefile Debugger.
 
John has also written a Makefile Debugger.
 
The following resources are needed to use this debugger:
 
The following resources are needed to use this debugger:

Revision as of 11:33, 13 June 2008

Here is some information on debugging Makefiles:

showing symbol values, and showing file dependencies

There's a good Dr. Dobbs article on this topic, by John Graham-Cumming, at:

or printable, all-in-one page, at http://www.embedded.com/columns/technicalinsights/197003517?printable=true

This article describes some macros you can put in your Makefiles to show you the values of symbols, and to show the dependencies that led to a particular target being built. This is handy if you have a complex Makefile that you are trying to debug.

Makefile Debugger

John has also written a Makefile Debugger. The following resources are needed to use this debugger:

Expand the tarballs from these, and place __gmsl, gmsl and gmd in the directory with the Makefile you wish to debug.

Add the following lines to your Makefile:

include gdm

and

all:
        $(__BREAKPOINT)

See the following articles for more information: