#!/bin/bash # build_sign.sh — meow_sign 宿主编译(产签工具;非目标机二进制,无需 mipsel)。 # # 用法: # ./build_sign.sh # 宿主编译 → patch_v2/meow_sign/meow_sign # ./build_sign.sh static # 静态宿主编译(可选,便于分发/一致验证) set -e cd "$(dirname "$0")" ROOT="$HOME/Project/R3ProII" HOST_CC="${CC_HOST:-cc}" V="$ROOT/patch_v2/meow_verify" # tweetnacl.c 为 vendor 代码:放宽 -Wno-sign-compare / -Wno-unused-function(其 u64/u32 与 int 混比)。 CFLAGS="-Os -Wall -Wextra" if [ "$1" = "static" ]; then "$HOST_CC" $CFLAGS -static meow_sign.c "$V/tweetnacl.c" "$V/sha256.c" -o meow_sign_static echo "== meow_sign (static) ==" ls -la meow_sign_static; md5sum meow_sign_static; file meow_sign_static exit 0 fi # tweetnacl.c 单独编译并放宽警告;meow_sign.c 全警告编译 "$HOST_CC" -Os -Wno-sign-compare -Wno-unused-function -c "$V/tweetnacl.c" -o tweetnacl_meow.o "$HOST_CC" -Os -Wall -Wextra -c "$V/sha256.c" -o sha256_meow.o "$HOST_CC" $CFLAGS meow_sign.c tweetnacl_meow.o sha256_meow.o -o meow_sign rm -f tweetnacl_meow.o sha256_meow.o echo "== meow_sign (host) ==" ls -la meow_sign; md5sum meow_sign; file meow_sign