forked from shadowsocks/shadowsocks-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sh
executable file
·61 lines (52 loc) · 1.55 KB
/
build.sh
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
#!/bin/bash
cd "$( dirname "${BASH_SOURCE[0]}" )/.."
version=`grep 'const version = ' ./shadowsocks/util.go | sed -e 's/.*= //' | sed -e 's/"//g'`
echo "creating shadowsocks binary version $version"
ROOT=`pwd`
bindir=$ROOT/bin
mkdir -p $bindir
build() {
local name
local GOOS
local GOARCH
if [[ $1 == "darwin" ]]; then
# Enable CGO for OS X so change network location will not cause problem.
export CGO_ENABLED=1
else
export CGO_ENABLED=0
fi
prog=shadowsocks-$4
pushd cmd/$prog
name=$prog-$3-$version
echo "building $name"
GOOS=$1 GOARCH=$2 go build -a || exit 1
if [[ $1 == "windows" ]]; then
mv $prog.exe $ROOT/script/
pushd $ROOT/script/
cp $ROOT/config.json sample-config.json
cp $ROOT/sample-config/client-multi-server.json multi-server.json
zip $name.zip $prog.exe shadowsocks.exe sample-config.json multi-server.json
rm -f $prog.exe sample-config.json multi-server.json
mv $name.zip $bindir
popd
else
mv $prog $name
gzip -f $name
mv $name.gz $bindir
fi
popd
}
build darwin amd64 mac64 local
build linux amd64 linux64 local
build linux 386 linux32 local
build windows amd64 win64 local
build windows 386 win32 local
build linux amd64 linux64 server
build linux 386 linux32 server
build darwin amd64 mac64 server
build windows amd64 win64 server
build windows 386 win32 server
#script/createdeb.sh amd64
#script/createdeb.sh i386
#mv shadowsocks-go_$version-1-*.deb bin/
#rm -rf shadowsocks-go_$version-1*