summaryrefslogtreecommitdiff
path: root/resolvedeps.sh
diff options
context:
space:
mode:
Diffstat (limited to 'resolvedeps.sh')
-rw-r--r--resolvedeps.sh23
1 files changed, 23 insertions, 0 deletions
diff --git a/resolvedeps.sh b/resolvedeps.sh
new file mode 100644
index 0000000..e6363b3
--- /dev/null
+++ b/resolvedeps.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+## recursively resolve verilog dependencies
+
+if [ "$#" -ne 1 ]; then
+ echo "Illegal number of parameters"
+ echo "Usage $0 <in>"
+ exit 1
+fi
+
+filename="$1"
+filename="${filename%.*}"
+
+if test -f "$1"; then
+ echo " Resolve deps for $1"
+ gawk 'match($0, /`include "(.*)\.v"/, ary) {print "'"${filename}"'.json:", ary[1] ".v", ary[1] ".dep"}' "$1" > "${filename}.dep"
+ gawk 'match($0, /`include "(.*)"/, ary) {print ary[1];}' "$1" | while read fi; do
+ sh "$0" "$fi"
+ done
+else
+ echo " File $1 not found"
+ exit 1
+fi