This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
zhuzhenjun-libosfp/gen_c.sh

39 lines
817 B
Bash
Raw Normal View History

2023-09-22 15:59:40 +08:00
#!/bin/bash
which jq >& /dev/null || (echo "error: ${0} require system command \"jq\"." && exit)
DEFAULT_FINGERPRINTS=$1
if [[ ${DEFAULT_FINGERPRINTS} == "" ]]; then
DEFAULT_FINGERPRINTS="./fp.json"
fi
C_FILE_PATH=$2
if [[ ${DEFAULT_FILE_PATH} == "" ]]; then
C_FILE_PATH=src
fi
C_INCLUDE_FILE="${C_FILE_PATH}/libosfp_default_fingerprints.h"
C_SOURCE_FILE="${C_FILE_PATH}/libosfp_default_fingerprints.c"
cat > ${C_INCLUDE_FILE} <<EOF
// File generated by gen_c.sh
#ifndef _LIBOSFP_DEFAULT_FINGERPRINTS_H__
#define _LIBOSFP_DEFAULT_FINGERPRINTS_H__
extern const char *g_default_fingerprints;
#endif
EOF
cat > ${C_SOURCE_FILE} <<EOF
// File generated by gen_c.sh
const char *g_default_fingerprints =
EOF
jq -c . ${DEFAULT_FINGERPRINTS} | jq -R >> ${C_SOURCE_FILE}
cat >> ${C_SOURCE_FILE} <<EOF
;
EOF