#!/bin/bash # build_svcd.sh — meow_svcd 交叉编译(mipsel 静态)+ 宿主编译可选。 # # 目标:R3 Pro II / MeowOS(mipsel-linux-muslsf,静态)。svcd 极简无外部依赖, # 仅 POSIX + Linux 基础接口,故单文件即可满足「固件内、不入卡」(<200KB 阈值)。 # # 用法: # ./build_svcd.sh # 交叉编译 → patch_v2/meow_svcd/meow_svcd(mipsel 静态) # ./build_svcd.sh host # 宿主编译 → patch_v2/meow_svcd/meow_svcd_host(集成测试用) set -e cd "$(dirname "$0")" ROOT="$HOME/Project/R3ProII" CC="$ROOT/.tools/zig-mipsel-cc" if [ "$1" = "host" ]; then HOST_CC="${CC_HOST:-cc}" "$HOST_CC" -Os -Wall -Wextra meow_svcd.c -o meow_svcd_host echo "== host build ==" ls -la meow_svcd_host file meow_svcd_host exit 0 fi # meow_time32.c:独立 o32 time32 取时/睡眠(svcd 不链 meow_ui.a);LIBC_OVERRIDES 在静态 # 链接期接管 clock_gettime/time/usleep/nanosleep,修 musl time64 头与 time32 实现的 ABI 错位。 "$CC" -Os -Wall -Wextra -static -DMEOW_TIME32_LIBC_OVERRIDES \ meow_svcd.c ../sdk/meow_time32.c -o meow_svcd echo "== meow_svcd (mipsel static) ==" ls -la meow_svcd md5sum meow_svcd file meow_svcd