-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.bat
More file actions
82 lines (66 loc) · 1.69 KB
/
build.bat
File metadata and controls
82 lines (66 loc) · 1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
@echo off
REM build script for windows
REM same as build.sh but for cmd
setlocal enabledelayedexpansion
set BINARY_NAME=ssh-inject
set VERSION=1.0.0
set BUILD_DIR=build
set LDFLAGS=-ldflags "-s -w"
if "%1"=="" goto build
if "%1"=="build" goto build
if "%1"=="all" goto build_all
if "%1"=="clean" goto clean
if "%1"=="install" goto install
echo usage: build.bat [build^|all^|clean^|install]
goto end
:build
echo building...
go build %LDFLAGS% -o %BINARY_NAME%.exe .
echo done -^> %BINARY_NAME%.exe
goto end
:build_all
echo building for all platforms...
if not exist %BUILD_DIR% mkdir %BUILD_DIR%
echo linux/amd64
set GOOS=linux
set GOARCH=amd64
go build %LDFLAGS% -o %BUILD_DIR%\%BINARY_NAME%-linux-amd64 .
echo linux/arm64
set GOOS=linux
set GOARCH=arm64
go build %LDFLAGS% -o %BUILD_DIR%\%BINARY_NAME%-linux-arm64 .
echo darwin/amd64
set GOOS=darwin
set GOARCH=amd64
go build %LDFLAGS% -o %BUILD_DIR%\%BINARY_NAME%-darwin-amd64 .
echo darwin/arm64
set GOOS=darwin
set GOARCH=arm64
go build %LDFLAGS% -o %BUILD_DIR%\%BINARY_NAME%-darwin-arm64 .
echo windows/amd64
set GOOS=windows
set GOARCH=amd64
go build %LDFLAGS% -o %BUILD_DIR%\%BINARY_NAME%-windows-amd64.exe .
echo windows/arm64
set GOOS=windows
set GOARCH=arm64
go build %LDFLAGS% -o %BUILD_DIR%\%BINARY_NAME%-windows-arm64.exe .
echo.
echo all done, check .\%BUILD_DIR%\
dir %BUILD_DIR%
goto end
:clean
echo cleaning...
if exist %BINARY_NAME%.exe del %BINARY_NAME%.exe
if exist %BUILD_DIR% rmdir /s /q %BUILD_DIR%
echo cleaned
goto end
:install
echo building...
go build %LDFLAGS% -o %BINARY_NAME%.exe .
echo.
echo copy %BINARY_NAME%.exe somewhere in your PATH
echo example: copy %BINARY_NAME%.exe C:\Windows\System32\
goto end
:end
endlocal