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 makefile2dotmakefile2dot 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.pngIf you just want to see the graph without saving it, you can provide the
--view flag:
$ makefile2dot -vYou 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 LRdraws 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.
To test this project in the source directory, add the source directory to the python path:
$ export PYTHONPATH=$(pwd)