Browse Source

build: for cross-compiles

pull/22/head
fatedier 9 years ago
parent
commit
6874688e07
  1. 1
      .gitignore
  2. 15
      Makefile.cross-compiles
  3. 45
      cross_compiles_package.sh

1
.gitignore vendored

@ -25,6 +25,7 @@ _testmain.go
# Self
bin/
packages/
# Cache
*.swp

15
Makefile.cross-compiles

@ -0,0 +1,15 @@
export PATH := $(GOPATH)/bin:$(PATH)
export OLDGOPATH := $(GOPATH)
export GOPATH := $(shell pwd)/Godeps/_workspace:$(shell pwd):$(GOPATH)
export OS_TARGETS=linux windows
export ARCH_TARGETS=386 amd64
all: build
build: godep app
godep:
GOPATH=$(OLDGOPATH) go get github.com/mitchellh/gox
app:
gox -os "$(OS_TARGETS)" -arch="$(ARCH_TARGETS)" ./...

45
cross_compiles_package.sh

@ -0,0 +1,45 @@
# compile for version
make
if [ $? -ne 0 ]; then
echo "make error"
exit 1
fi
frp_version=`./bin/frps --version`
echo "build version: $frp_version"
# cross_compiles
make -f ./Makefile.cross-compiles
rm -rf ./packages
mkdir ./packages
os_all='linux windows'
arch_all='386 amd64'
for os in $os_all; do
for arch in $arch_all; do
frp_dir_name="frp_${frp_version}_${os}_${arch}"
frp_path="./packages/frp_${frp_version}_${os}_${arch}"
mkdir ${frp_path}
if [ "x${os}" = x"windows" ]; then
mv ./frpc_${os}_${arch}.exe ${frp_path}/frpc.exe
mv ./frps_${os}_${arch}.exe ${frp_path}/frps.exe
else
mv ./frpc_${os}_${arch} ${frp_path}/frpc
mv ./frps_${os}_${arch} ${frp_path}/frps
fi
cp ./LICENSE ${frp_path}
cp ./conf/* ${frp_path}
# packages
cd ./packages
if [ "x${os}" = x"windows" ]; then
zip -rq ${frp_dir_name}.zip ${frp_dir_name}
else
tar -zcf ${frp_dir_name}.tar.gz ${frp_dir_name}
fi
cd ..
rm -rf ${frp_path}
done
done
Loading…
Cancel
Save