OrangePi3588Media/agent/build_rk3588.bat
2026-04-18 12:16:10 +08:00

61 lines
1.4 KiB
Batchfile

@echo off
setlocal enabledelayedexpansion
REM Build rk3588-agent for RK3588 board (Linux arm64) from Windows.
set "SCRIPT_DIR=%~dp0"
pushd "%SCRIPT_DIR%" >nul
where go >nul 2>nul
if errorlevel 1 (
echo [ERR] go not found in PATH.
popd >nul
exit /b 1
)
set "GOOS=linux"
set "GOARCH=arm64"
set "CGO_ENABLED=0"
set "VERSION=%~1"
if "%VERSION%"=="" set "VERSION=0.0.0-dev"
set "BUILDTYPE=%~3"
if "%BUILDTYPE%"=="" set "BUILDTYPE=release"
for /f %%i in ('powershell -NoProfile -Command "Get-Date -Format yyyyMMdd.HHmmss"') do set "BUILDID=%%i"
if "%BUILDID%"=="" set "BUILDID=unknown"
set "GITSHA=unknown"
for /f %%i in ('git rev-parse --short HEAD 2^>nul') do set "GITSHA=%%i"
set "OUTDIR=%SCRIPT_DIR%build"
if not exist "%OUTDIR%" mkdir "%OUTDIR%" >nul
set "OUT=%OUTDIR%\rk3588-agent_linux_arm64"
if not "%~2"=="" set "OUT=%OUTDIR%\%~2"
set "LDFLAGS=-s -w -X main.Version=%VERSION% -X main.BuildID=%BUILDID% -X main.BuildType=%BUILDTYPE% -X main.GitSHA=%GITSHA%"
echo Building: %OUT%
echo GOOS=%GOOS% GOARCH=%GOARCH% CGO_ENABLED=%CGO_ENABLED%
echo Version=%VERSION% BuildID=%BUILDID% BuildType=%BUILDTYPE% GitSHA=%GITSHA%
go mod download
if errorlevel 1 (
echo [ERR] go mod download failed.
popd >nul
exit /b 1
)
go build -trimpath -ldflags "%LDFLAGS%" -o "%OUT%" .\cmd\rk3588-agent
if errorlevel 1 (
echo [ERR] go build failed.
popd >nul
exit /b 1
)
echo [OK] %OUT%
popd >nul
endlocal