SF Markus Elfring writes: > > A Makefile is basically a human-readable text file with instructions > > on how to create executables with a compiler for example. > > How often do you look for a more visual representation of this content? > > > > It has pretty much nothing to do with creating graphics. > > I got an other opinion. > > * Do you care to display constructed directed acyclic graphs > by other tools? > > * Are you interested in further improvements for data export variants?
I use graphviz. But I work on a tool that generates the Makefiles, and I can have it output a graph description alongside the Makefiles. If you have onlky Makefiles, I can envision a few ways to generate a graph. This is a bit manual, but you could use order-only prerequisites to dump out the dependency tree to different 'node' files (consider '-j'), and post process all the node files into a bigger graph. all: alpha beta ALPHA_PREREQS = alpha.c alpha.h BETA_PREREQS = beta.c beta.h alpha: $(ALPHA_PREREQS) | alpha.node beta: $(BETA_PREREQS) | beta.node alpha.node: $(ALPHA_PREREQS) echo "$@ depends on $^" >$@ beta.node: $(BETA_PREREQS) echo "$@ depends on $^" >$@ You may be able to get some different inspiration from "Gnu Make Unleashed" section in the section called 'Making and XML bill of materials in GNU Make'. Essentially, you need to run Make because of the runtime processing of the variables defined in the Makefiles, or you've got to interpose yourself before Make and know the dependency graph already. thutt -- The gym does not appreciate 'Row Row Row Your Boat' while one is rowing. _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make