RTU_ALL_AI/release/copy_headers.sh

75 lines
2.1 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# ================================================================
# copy_headers.sh — 公共头文件复制到 release/inc/
#
# 用法:
# release/copy_headers.sh # 从工程根目录调用
# make headers # 通过 makefile 调用
#
# 新增模块时,在本脚本末尾追加一行:
# copy_module "模块名" "头文件名"
# ================================================================
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
ROOT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
SRC_DIR="$ROOT_DIR/src"
DST_DIR="$ROOT_DIR/release/inc"
echo "=== copying public headers to release/inc/ ==="
copy_module()
{
local module="$1"
local header="$2"
local src="$SRC_DIR/public/$module/inc/$header"
if [ -f "$src" ]
then
cp -f "$src" "$DST_DIR/"
echo " [$module] $header"
else
echo " [WARN] $src not found, skip"
fi
}
# --- protocol/ 模块下的头文件 ---
copy_proto_module()
{
local module="$1"
local header="$2"
local src="$SRC_DIR/protocol/$module/inc/$header"
if [ -f "$src" ]
then
cp -f "$src" "$DST_DIR/"
echo " [protocol/$module] $header"
else
echo " [WARN] $src not found, skip"
fi
}
# ================================================================
# 公共库模块(按顺序添加)
# ================================================================
copy_module "liblist" "list.h"
copy_module "libfunc" "myFunc.h"
copy_module "liblog" "myLog.h"
copy_module "libmd5" "myMd5.h"
copy_module "libcJSON" "cJSON.h"
copy_module "libmy_xxhash" "xxhash.h"
copy_module "libtask" "myTask.h"
copy_module "libxml" "myXml.h"
copy_module "libxml" "tinyxml2.h"
copy_module "libcmd" "myCmd.h"
copy_module "libdatacenter" "myDatacenter.h"
copy_module "libcomm" "myComm.h"
# ================================================================
# 协议模块protocol/
# ================================================================
copy_proto_module "libmodbus" "myModbus.h"
copy_proto_module "lib60870" "myIec60870.h"
echo "=== done ==="