René Nyffenegger's collection of things on the web | |
René Nyffenegger on Oracle - Most wanted - Feedback
- Follow @renenyffenegger
|
File dependencies in a ./configure project | ||
The following image depicts the dependencies of executables, input files and produced files in the GNU Build System:
![]()
The graphic was produced with dot and the following file:
map.dot
digraph map { node [shape=hexagon fontsize=12 fontname=verdana]; configure_in Makefile_am acconfig_h code acinclude_m4 man_created; node [shape=box fontsize=12 fontname=verdana]; aclocal_m4 configure config_h_in Makefile_in Makefile config_status config_log configure_scan created; node [shape=ellipse fontsize=12 fontname=verdana]; aclocal autoheader autoconf automake autoscan gnu_tools; configure_in [label="configure.ac" ]; Makefile_am [label="Makefile.am" ]; configure [label="./configure" ]; aclocal [label="aclocal" ]; autoheader [label="autoheader" ]; autoconf [label="autoconf" ]; autoscan [label="autoscan" ]; config_h_in [label="config.h.in" ]; aclocal_m4 [label="aclocal.m4" ]; config_h [label="config.h" ]; Makefile_in [label="Makefile.in" ]; gnu_tools [label="GNU Tools" ]; created [label="created" ]; man_created [label="manually created" ]; acconfig_h [label="acconfig.h" ]; acinclude_m4 [label="acinclude.m4" ]; config_status [label="config.status" ]; config_log [label="config.log" ]; configure_scan [label="configure.scan" ]; code [label="code" ]; code -> autoscan; configure_in -> autoconf; autoconf -> configure; autoscan -> configure_scan; configure_scan -> configure_in [label="Manually editing" fontname=verdana fontsize=12]; configure_in -> aclocal [label=reads fontname=verdana fontsize=12]; acinclude_m4 -> aclocal; aclocal -> aclocal_m4; aclocal_m4 -> autoconf [label=reads fontname=verdana fontsize=12]; aclocal_m4 -> autoheader [label=reads fontname=verdana fontsize=12]; /*see http://www.lrde.epita.fr/~adl/dl/autotools.pdf*/ aclocal_m4 -> automake [label=reads fontname=verdana fontsize=12]; /*see http://www.lrde.epita.fr/~adl/dl/autotools.pdf*/ acconfig_h -> autoheader; configure_in -> autoheader [label=reads fontname=verdana fontsize=12]; autoheader -> config_h_in; Makefile_am -> automake; automake -> Makefile_in; configure_in -> automake [label=reads fontname=verdana fontsize=12]; /*see http://www.lrde.epita.fr/~adl/dl/autotools.pdf*/ config_h_in -> configure [label=reads fontname=verdana fontsize=12]; Makefile_in -> configure [label=reads fontname=verdana fontsize=12]; configure -> config_h [label=writes fontname=verdana fontsize=12]; configure -> Makefile [label=writes fontname=verdana fontsize=12]; configure -> config_status [label=writes fontname=verdana fontsize=12 style=dotted]; configure -> config_log [label=writes fontname=verdana fontsize=12]; Makefile -> make; }
The command to produce the file was:
dot.exe -Tpng -omap.png map.dot Thanks
Thanks to Bram Adams who enhanced my previous version of the dot file with input from this GNU Build System description. Thanks also to
Matthew Harris who corrected an error on this page.
|