#!/bin/bash
# SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause

TOOL=$(dirname $(realpath $0))/ynl-gen-c.py

force=

while [ ! -z "$1" ]; do
  case "$1" in
    -f ) force=yes; shift ;;
    * )  echo "Unrecognized option '$1'"; exit 1 ;;
  esac
done

KDIR=$(dirname $(dirname $(dirname $(dirname $(realpath $0)))))

files=$(git grep --files-with-matches '^/\* YNL-GEN \(kernel\|uapi\)')
for f in $files; do
    # params:     0       1      2     3
    #         $YAML YNL-GEN kernel $mode
    params=( $(git grep -B1 -h '/\* YNL-GEN' $f | sed 's@/\*\(.*\)\*/@\1@') )

    if [ $f -nt ${params[0]} -a -z "$force" ]; then
	echo -e "\tSKIP $f"
	continue
    fi

    echo -e "\tGEN ${params[2]}\t$f"
    $TOOL --mode ${params[2]} --${params[3]} --spec $KDIR/${params[0]} -o $f
done
