summaryrefslogtreecommitdiff
path: root/resolvedeps.sh
diff options
context:
space:
mode:
authoruvok2025-12-25 12:21:19 +0100
committeruvok2025-12-25 12:21:19 +0100
commit7b180db48bcce40afba85d39a8ae73a5514854f3 (patch)
treea2b5c6dda320d26bf2d9c915469895ecb0f6bfee /resolvedeps.sh
parentcfd07649c45036241239668c0e0061e61a5f8440 (diff)
Write my own dep resolve script
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