.de URL \\$2 \(laURL: \\$1 \(ra\\$3 .. .if \n[.g] .mso www.tmac .TH REDO-DOT 1 .SH NAME redo-dot \- print .I redo dependency graph for the current directory .SH SYNOPSIS .B redo-dot .RI [pattern] .SH DESCRIPTION .IR redo(1) is a tool for building files and for rebuilding them if any of their dependencies have changed. .I redo-dot prints the dependency graph for the current directory in the file format consumed by .IR dot(1) from the Graphviz layout programs. If the current working directory is not a .IR redo(1) build directory, .I redo-dot exits with a status code indicating failure. .PP In the dependency graph, targets and sources are represented by nodes, dependencies are represented by solid edges, and non-existence dependencies are represented by dotted edges. Targets that have impossible to satisfy dependencies have a bold outline. Targets that are rebuilt depending on input to .IR redo-stamp(1) have a dashed outline. .PP A pattern contains characters that match themselves and the meta-characters “!”, “*”, “?”, and “[”, which lose their special meanings if they are quoted. Asterisks (“*”) match any string of characters. Question marks (“?”) match any single character. Left brackets (“[”) and right brackets (“]”) indicate start and end of a character class. Character classes match any characters between brackets or a range of characters specified using a minus (“-”); to include literal minus, make it the first or last character. Exclamation marks (“!”) as the first character of any character class negates it. .SH EXAMPLES .TP .B redo-dot |dot -Tx11 shows the full dependency graph in an X11 window using .IR dot(1). .TP .B redo-dot '*/stdio.h' outputs a dependency graph with only nodes that match the pattern .IR */stdio.h , dependencies of nodes that match the pattern, and nodes that depend on nodes that match the pattern. .TP .B redo-dot |sed s%"$(pwd)"/%%g >deps.dot; dot deps.dot -Tpng >deps.png outputs the full dependency graph into a file named .IR deps.dot , then generates a PNG (Portable Network Graphics) file named .IR deps.png from it using .IR dot(1) . The .IR sed(1) invocation removes the current working directory from the node names. .SH HISTORY .I redo-dot was designed and implemented by Nils Dagsson Moskopp. .SH AUTHOR .I redo-dot and this man page were written by Nils Dagsson Moskopp. .SH COPYRIGHT Copyright © 2015-2016 Nils Dagsson Moskopp. License AGPLv3+: GNU Affero GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH SEE ALSO .IR sh(1) , .IR redo(1) , .IR redo-always(1) , .IR redo-ifchange(1) , .IR redo-ifcreate(1) , .IR redo-ood(1) , .IR redo-sources(1) , .IR redo-stamp(1) , .IR redo-targets(1) .SH BUGS .I redo-dot may break if the target filename contains a tab or newline character.