annotate scripts/makedeps2dot @ 235:e58400695ae2

Added tag final version for changeset 348b92755bef
author markus schnalke <meillo@marmaro.de>
date Mon, 16 Jul 2012 11:25:04 +0200
parents eba3744fb238
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
234
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
1 #!/usr/bin/env awk
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
2 #
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
3 # List dependencies in Makefile input,
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
4 # ignore a set of default targets and 1:1 dependencies
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
5 # and generate dot graph output
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
6
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
7 BEGIN {
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
8 FS = " *: *"
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
9
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
10 ignore["all"] = 1
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
11 ignore["configure"] = 1
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
12 ignore["Makefile"] = 1
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
13 ignore["install"] = 1
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
14 ignore["uninstall"] = 1
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
15 ignore["clean"] = 1
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
16 ignore["distclean"] = 1
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
17 ignore["realclean"] = 1
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
18 ignore["mostlyclean"] = 1
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
19 ignore["superclean"] = 1
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
20 ignore["mmhdist"] = 1
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
21 ignore["lint"] = 1
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
22
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
23 print "digraph foo {"
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
24 }
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
25
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
26 /^\t/ {
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
27 next
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
28 }
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
29
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
30 $1 ~ /^[a-zA-Z_]+$/ {
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
31 if ($1 in ignore) {
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
32 next
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
33 }
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
34 split($2, dep, /[ \t]+/)
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
35 for (i in dep) {
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
36 if (dep[i] ~ /^\$/) {
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
37 continue
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
38 }
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
39 if (dep[i] ~ "^"$1"\\.(o|sh)$") {
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
40 continue
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
41 }
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
42 sub(/\.o$/, ".c", dep[i]);
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
43 print "\t\"" dep[i] "\" [shape=box];"
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
44 print "\t\"" dep[i] "\" -> \"" $1 "\";"
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
45 }
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
46 print ""
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
47 }
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
48
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
49 END {
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
50 print "}"
eba3744fb238 Added my set of helper scripts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
51 }