#!/usr/bin/env bash
# Generate a lookup table function for interrupts of all supported chips
set -e
echo "// Autogenerated. Do not edit."
echo "pub fn lookup_vector(chip: &str, intr: &str) -> Option<usize> {"
echo " match chip {"
for intr_path in "$@"; do
chip="$(basename "$(dirname "$intr_path")")"
echo " \"$chip\" => match intr {"
sed '/Interrupt::.\+ =>/!d
s/ \+Interrupt::\(.\+\) => \(.\+\),/ "\1" => Some(\2),/' "$intr_path"
echo " _ => None,"
echo " },"
done
echo " _ => None,"
echo " }"
echo "}"