File: generate_headers.sh

package info (click to toggle)
libyang 5.0.2-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 11,212 kB
  • sloc: ansic: 131,170; xml: 671; sh: 448; tcl: 325; makefile: 19
file content (15 lines) | stat: -rwxr-xr-x 398 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/env bash

for YANG_FILE in *.yang; do
    # generate HEX
    HEX=$(echo "$(cat "$YANG_FILE")" | xxd -i)

    # generate array name
    ARRAY_NAME="$(echo "$YANG_FILE" | tr .@- _)"

    # generate header file name with the revision
    HEADER_FILE="$(echo "${YANG_FILE%?????}").h"

    # print into a C header file
    echo -e "char ${ARRAY_NAME}[] = {\n$HEX, 0x00\n};" > "$HEADER_FILE"
done