ssh/example/runetl/Makefile

127 lines
4.2 KiB
Makefile

PROJECT = 数据同步
VERSION = $(shell git describe)
BRANCH = $(shell git name-rev --name-only HEAD)
VERSION ="$(echo $TRAVIS_TAG)"
ARCNAME = $(PROJECT)-$(VERSION)-$(GOOS)-$(GOARCH)
ARTIFACTS_DIR=artifact
# ZIP="zip -9 -r"
# TAR="tar cvf"
# GZIP="gzip -9"
# GZIP_7Z="7za a -tgzip -mx9"
# ZIP_7Z="7za a -tzip -mx9"
ifndef ZIP
ifneq ($(shell which zip 2>/dev/null),)
ZIP := zip -9
endif
ifneq ($(shell which 7z 2>/dev/null),)
ZIP := 7z a -tzip -mx=9
endif
ifneq ($(shell which 7za 2>/dev/null),)
ZIP := 7za a -tzip -mx=9
endif
ifndef ZIP
$(warning "No zip / 7z / 7za in ($(PATH))")
ZIP := : zip_not_found
endif
endif
.PHONY: all release release-all
all: release-all
.PHONY: windows-dependencies
windows-dependencies:
@ go get github.com/josephspurrier/goversioninfo/cmd/goversioninfo
.PHONY: embed-assets
embed-assets:
@ GO111MODULE=off go get -u github.com/jteeuwen/go-bindata/...
@# go-bindata ./logos/microBadger_headert.png ./webpage.html
release:
goversioninfo -icon=rc/icon.ico -manifest=rc/manifest.exe.manifest rc/versioninfo.json
env CGO_ENABLED=0 GOOS=$(GOOS) GOARCH=$(GOARCH) go build $(FLAGS) -ldflags='-s -w -X github.com/rinetd/transfer/version.Version=$(VERSION)' -o build/$(GOOS)-$(GOARCH)/$(PROJECT)$(EXT)
rm resource.syso
- tar czf build/$(ARCNAME).tar.gz -C build/$(GOOS)-$(GOARCH)/ $(PROJECT)$(EXT)
- tar czf build/$(ARCNAME).tar.gz -C build/$(GOOS)-$(GOARCH)/ $(PROJECT)$(EXT)
ifeq ($(OS),Windows_NT)
cd dist; \
rm -f $(ARCNAME)-*-Win.zip; \
$(ZIP) $(ARCNAME)-$(VERSTR)-Win.zip build/$(GOOS)-$(GOARCH)/ $(PROJECT)$(EXT);
$(ZIP) dist/$(ARCNAME)-$(VERSTR)-Win.zip -r0 images/*.png;
endif
release-all:
# -@$(MAKE) release GOOS=darwin GOARCH=amd64
# -@$(MAKE) release GOOS=linux GOARCH=386
# -@$(MAKE) release GOOS=linux GOARCH=amd64
-@$(MAKE) release GOOS=windows GOARCH=386 EXT=.exe
# -@$(MAKE) release GOOS=windows GOARCH=amd64 EXT=.exe
.PHONY: windows
windows: windows-dependencies embed-assets
goversioninfo -icon=rc/icon.ico -manifest=rc/manifest.exe.manifest rc/versioninfo.json
@- rm binaries/*.exe
CGO_ENABLED=0 GOOS=windows GOARCH=386 go build -x -ldflags="-s -w " -o binaries/deploy`date +%m%d`.exe
@# - rm binaries/deploy_windows_64bit.exe
@# - CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags="-s -w -H=windowsgui -linkmode internal" -o binaries/deploy_windows_64bit.exe
rm resource.syso
platform:
# @$(MAKE) releaseGOOS=js GOARCH=wasm
# @$(MAKE) release GOOS=windows GOARCH=386 FLAGS='-ldflags="-H=windowsgui"' EXE=.exe
# @$(MAKE) release GOOS=windows GOARCH=amd64 FLAGS='-ldflags="-H=windowsgui"' EXE=.exe
# @$(MAKE) release GOOS=linux GOARCH=arm
# @$(MAKE) release GOOS=linux GOARCH=arm64
# @$(MAKE) release GOOS=linux GOARCH=mips
# @$(MAKE) release GOOS=linux GOARCH=mips64
# @$(MAKE) release GOOS=linux GOARCH=mips64le
# @$(MAKE) release GOOS=linux GOARCH=mipsle
# @$(MAKE) release GOOS=linux GOARCH=ppc64
# @$(MAKE) release GOOS=linux GOARCH=ppc64le
# @$(MAKE) release GOOS=linux GOARCH=s390x
# @$(MAKE) release GOOS=android GOARCH=386
# @$(MAKE) release GOOS=android GOARCH=amd64
# @$(MAKE) release GOOS=android GOARCH=arm
# @$(MAKE) release GOOS=android GOARCH=arm64
# @$(MAKE) release GOOS=darwin GOARCH=386
# @$(MAKE) release GOOS=darwin GOARCH=arm
# @$(MAKE) release GOOS=darwin GOARCH=arm64
# @$(MAKE) release GOOS=dragonfly GOARCH=amd64
# @$(MAKE) release GOOS=freebsd GOARCH=386
# @$(MAKE) release GOOS=freebsd GOARCH=amd64
# @$(MAKE) release GOOS=freebsd GOARCH=arm
# @$(MAKE) release GOOS=nacl GOARCH=386
# @$(MAKE) release GOOS=nacl GOARCH=amd64p32
# @$(MAKE) release GOOS=nacl GOARCH=arm
# @$(MAKE) release GOOS=netbsd GOARCH=386
# @$(MAKE) release GOOS=netbsd GOARCH=amd64
# @$(MAKE) release GOOS=netbsd GOARCH=arm
# @$(MAKE) release GOOS=openbsd GOARCH=386
# @$(MAKE) release GOOS=openbsd GOARCH=amd64
# @$(MAKE) release GOOS=openbsd GOARCH=arm
# @$(MAKE) release GOOS=plan9 GOARCH=386
# @$(MAKE) release GOOS=plan9 GOARCH=amd64
# @$(MAKE) release GOOS=plan9 GOARCH=arm
# @$(MAKE) release GOOS=solaris GOARCH=amd64
.PHONY: build
build:
go get ./...
.PHONY: test
test:
go get -t ./...
go test -v ...
build-image:
docker build -t rientd/transfer .
clean:
rm -rf build dist