diff options
| author | uvok | 2025-12-25 12:21:19 +0100 |
|---|---|---|
| committer | uvok | 2025-12-25 12:21:19 +0100 |
| commit | 7b180db48bcce40afba85d39a8ae73a5514854f3 (patch) | |
| tree | a2b5c6dda320d26bf2d9c915469895ecb0f6bfee /resolvedeps.sh | |
| parent | cfd07649c45036241239668c0e0061e61a5f8440 (diff) | |
Write my own dep resolve script
Diffstat (limited to 'resolvedeps.sh')
| -rw-r--r-- | resolvedeps.sh | 23 |
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 |
