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