Mercurial > docs > master
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 |
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 } |