61 lines
1.4 KiB
Batchfile
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
|