Skip to content

Latest commit

 

History

History
53 lines (37 loc) · 1.28 KB

README.md

File metadata and controls

53 lines (37 loc) · 1.28 KB

Visualize Makefile Dependency Graphs

makefile2dot produces a Graphviz dot graph from a Makefile. To run it, install graphviz and python. This version runs on python 3.

# apt-get install graphviz python
$ pip install makefile2dot

Usage

makefile2dot reads the Makefile in the current working directory using the same lookup rules that make does (it actually uses make to parse the Makefile). By default, it writes the resulting dot graph to stdout, which can be read in by graphviz. So a nice trick is to pipe output from makefile2dot directly in to dot.

For example:

$ makefile2dot | dot -Tpng > out.png

If you just want to see the graph without saving it, you can provide the --view flag:

$ makefile2dot -v

You can select the graph orientation so that it is drawn from top to bottom (TB), bottom to top (BT), left to right (LR) or right to left (RL). For example:

$ makefile2dot -v --direction LR

draws the graph from left to right, rather than the default bottom to top.

Normal targets are drawn as rectangles, and .PHONY targets are drawn as circles.

Tips

To test this project in the source directory, add the source directory to the python path:

$ export PYTHONPATH=$(pwd)