summaryrefslogtreecommitdiff
path: root/resolvedeps.sh
blob: e6363b36e8c3c2b6dd17bea1f2845e96bd9b16f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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