#!/bin/bash # build_watchdog.sh — meow_watchdog 交叉编译(mipsel 静态)+ 宿主测试构建。 # # 用法: # ./build_watchdog.sh # 交叉编译 → meow_watchdog(mipsel 静态,fw_content.conf 的 /usr/bin/meow_watchdog) # ./build_watchdog.sh host # 宿主编译 test_wd_fw 并跑宿主回归 set -e cd "$(dirname "$0")" ROOT=../.. CC="$ROOT/.tools/zig-mipsel-cc" INC="$ROOT/patch_v2/meow_launcherd" # meow_ipc.h(音量收编 v2:MSG_AUDIO_VOLUME/MSG_ACK) if [ "$1" = "host" ]; then gcc -Wall -Wextra -Os -I"$INC" -DWd_NO_MAIN -Wno-unused-function -Wno-unused-parameter \ -Wno-unused-variable test_wd_fw.c ../sdk/meow_time32.c -o test_wd_fw -lm ./test_wd_fw exit $? fi echo "== meow_watchdog (mipsel static) ==" # meow_time32.c:独立 time32 取时/睡眠(watchdog 不链 meow_ui.a)。LIBC_OVERRIDES 让 # 未逐个改写的 libc 取时/睡眠入口也一并修正(静态链接,本对象强定义覆盖 libc 归档成员)。 "$CC" -Os -Wall -Wextra -static -I"$INC" -DMEOW_TIME32_LIBC_OVERRIDES \ meow_watchdog.c ../sdk/meow_time32.c -o meow_watchdog ls -la meow_watchdog md5sum meow_watchdog file meow_watchdog