NAME
gvmake - A make tool that generates pretty graphs from Makefiles
SYNOPSIS
# print usage info to stdout:
gvmake -h
# if the default target is 'all', the following
# command will generate all.png
gvmake
# this command will generate 'test.png' where
# 'test' is a target defined in the Makefile:
gvmake test
# override the default output file name:
gvmake -o make.png test
# specify the Makefile name explicitly:
gvmake -f t/Makefile.old install
# generate Makefile.png which contains all the goals
gvmake -a
# specify the size of the output image:
gvmake -s 5x8 # width is 5 inch, and height is 8 inch
# use neato rather than the default dot layout program:
gvmake -o foo.dot -f foo.mk -a
neato -o a.png -Tpng foo.dot
DESCRIPTION
This is a make tool that generates pretty graphs for the building process according to user's Makefile instead of actually building something. It is a simple command-line frontend for the Makefile::GraphViz module.
For GNU makefile, it's highly recommended to use Makefile::Parser's makesimple script to convert your GNU makefile to the simplest form before running this script. Because this Makefile::GraphViz uses the toy Makefile::Parser engine which can only handle a very limited set of GNU makefile features while the Makefile::Parser::GmakeDB engine used by the makesimple script reuses the GNU make executable to do the (first-pass) parsing.
Thus you normally should do something like this:
cd dir_where_your_project_lives
makesimple -f your_makefile > simplest.mk
gvmake -f simplest.mk some_target
Currently only PNG format and the default settings for the graph style are used. This inflexible design will be changed soon.
TODO
Add more command-line options to control the graph appearance
To support more output file format
Add support for multiple goals passed in via command-line.
BUGS
Please report bugs or send wish-list to http://rt.cpan.org/NoAuth/Bugs.html?Dist=Makefile-GraphViz.
SEE ALSO
Makefile::GraphViz, Makefile::Parser, plmake.
AUTHOR
Zhang "agentzh" Yichun, <agentzh@gmail.com>
COPYRIGHT AND LICENSE
Copyright (C) 2005, 2006, 2007 by Zhang "agentzh" Yichun. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.