digraph g {
	rankdir=LR;
	shape=box;
	maino [label="main.o"];
	mainc [label="main.c"];
	libo [label="lib.o"];
	libc [label="lib.c"];
	libh [label="lib.h"];
	liba [label="lib.a"];
	main -> {maino liba} [color="red" label="main/Makefile" style=dotted];
	maino -> {mainc libh} [color="blue" label="main/main.d" style=dashed];
	libo -> {libc libh} [color="green" label="lib/lib.d" style=bold];
	liba -> libo [color="#FF33FF" label="lib/Makefile"];

	all -> main [label="main/Makefile" color="red" style=dotted];
	all -> exe1 [label="exe1/Makefile" color="#BBBB33" style=dashed];
	all -> exe2 [label="exe2/Makefile"];
	all -> dotdot [label=".../Makefile"];
	all -> exeN [label="exeN/Makefile"];
	exe1o [label="exe1.o"];
	exe1c [label="exe1.c"];
	dotdot [label="..."];
	barh [label="bar.h"];
	exe1 -> {exe1o liba} [color="#BBBB33" label="exe1/Makefile" style=dashed];
	exe1o -> {exe1c barh libh} [color="#BB8866" label="exe1/exe1.d" style=dotted];
};
