#!/bin/bash
set -euo pipefail

# 获取脚本绝对目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ASN_FILE="${SCRIPT_DIR}/dlt698_app.asn1"
OUT_DIR="${SCRIPT_DIR}/generated"

# 强制校验ASN源文件存在
if [ ! -f "${ASN_FILE}" ]; then
    echo "ERROR: ASN源文件不存在！路径：${ASN_FILE}" >&2
    exit 2
fi

# 打印路径用于调试，看变量是否解析错误
echo "ASN文件路径: ${ASN_FILE}"
echo "输出目录: ${OUT_DIR}"

# 彻底清理输出目录
rm -rf "${OUT_DIR}"
mkdir -p "${OUT_DIR}"

# 新版asn1c生成代码
asn1c \
    -fcompound-names \
    -gen-PER \
    -no-gen-example \
    -pdu=all \
    -D "${OUT_DIR}" \
    "${ASN_FILE}"

echo "✅ 代码生成完成，目录：${OUT_DIR}"
