Difference between revisions of "Debugging Makefiles"
| 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 18: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:
- Download gmsl (a library of gnu make stuff), from http://gmsl.sf.net/
- Download gmd (the debugger itself), from http://gmd.sf.net/
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: