-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
135 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,135 @@ | ||
NAME=s5light | ||
BINDIR=bin | ||
VERSION=$(shell git describe --tags || echo "unknown version") | ||
BUILDTIME=$(shell date -u) | ||
GOBUILD=CGO_ENABLED=0 go build -trimpath -ldflags '-w -s -buildid=' | ||
|
||
PLATFORM_LIST = \ | ||
darwin-amd64 \ | ||
darwin-amd64-v3 \ | ||
darwin-arm64 \ | ||
linux-386 \ | ||
linux-amd64 \ | ||
linux-amd64-v3 \ | ||
linux-armv5 \ | ||
linux-armv6 \ | ||
linux-armv7 \ | ||
linux-arm64 \ | ||
linux-mips-softfloat \ | ||
linux-mips-hardfloat \ | ||
linux-mipsle-softfloat \ | ||
linux-mipsle-hardfloat \ | ||
linux-mips64 \ | ||
linux-mips64le \ | ||
freebsd-386 \ | ||
freebsd-amd64 \ | ||
freebsd-amd64-v3 \ | ||
freebsd-arm64 | ||
|
||
WINDOWS_ARCH_LIST = \ | ||
windows-386 \ | ||
windows-amd64 \ | ||
windows-amd64-v3 \ | ||
windows-arm64 \ | ||
windows-armv7 | ||
|
||
all: linux-amd64 darwin-amd64 windows-amd64 # Most used | ||
|
||
darwin-amd64: | ||
GOARCH=amd64 GOOS=darwin $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
darwin-amd64-v3: | ||
GOARCH=amd64 GOOS=darwin GOAMD64=v3 $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
darwin-arm64: | ||
GOARCH=arm64 GOOS=darwin $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
linux-386: | ||
GOARCH=386 GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
linux-amd64: | ||
GOARCH=amd64 GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
linux-amd64-v3: | ||
GOARCH=amd64 GOOS=linux GOAMD64=v3 $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
linux-armv5: | ||
GOARCH=arm GOOS=linux GOARM=5 $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
linux-armv6: | ||
GOARCH=arm GOOS=linux GOARM=6 $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
linux-armv7: | ||
GOARCH=arm GOOS=linux GOARM=7 $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
linux-arm64: | ||
GOARCH=arm64 GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
linux-mips-softfloat: | ||
GOARCH=mips GOMIPS=softfloat GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
linux-mips-hardfloat: | ||
GOARCH=mips GOMIPS=hardfloat GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
linux-mipsle-softfloat: | ||
GOARCH=mipsle GOMIPS=softfloat GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
linux-mipsle-hardfloat: | ||
GOARCH=mipsle GOMIPS=hardfloat GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
linux-mips64: | ||
GOARCH=mips64 GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
linux-mips64le: | ||
GOARCH=mips64le GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
freebsd-386: | ||
GOARCH=386 GOOS=freebsd $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
freebsd-amd64: | ||
GOARCH=amd64 GOOS=freebsd $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
freebsd-amd64-v3: | ||
GOARCH=amd64 GOOS=freebsd GOAMD64=v3 $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
freebsd-arm64: | ||
GOARCH=arm64 GOOS=freebsd $(GOBUILD) -o $(BINDIR)/$(NAME)-$@ | ||
|
||
windows-386: | ||
GOARCH=386 GOOS=windows $(GOBUILD) -o $(BINDIR)/$(NAME)-$@.exe | ||
|
||
windows-amd64: | ||
GOARCH=amd64 GOOS=windows $(GOBUILD) -o $(BINDIR)/$(NAME)-$@.exe | ||
|
||
windows-amd64-v3: | ||
GOARCH=amd64 GOOS=windows GOAMD64=v3 $(GOBUILD) -o $(BINDIR)/$(NAME)-$@.exe | ||
|
||
windows-arm64: | ||
GOARCH=arm64 GOOS=windows $(GOBUILD) -o $(BINDIR)/$(NAME)-$@.exe | ||
|
||
windows-armv7: | ||
GOARCH=arm GOOS=windows GOARM=7 $(GOBUILD) -o $(BINDIR)/$(NAME)-$@.exe | ||
|
||
gz_releases=$(addsuffix .gz, $(PLATFORM_LIST)) | ||
zip_releases=$(addsuffix .zip, $(WINDOWS_ARCH_LIST)) | ||
|
||
$(gz_releases): %.gz : % | ||
chmod +x $(BINDIR)/$(NAME)-$(basename $@) | ||
gzip -f -S -$(VERSION).gz $(BINDIR)/$(NAME)-$(basename $@) | ||
|
||
$(zip_releases): %.zip : % | ||
zip -m -j $(BINDIR)/$(NAME)-$(basename $@)-$(VERSION).zip $(BINDIR)/$(NAME)-$(basename $@).exe | ||
|
||
all-arch: $(PLATFORM_LIST) $(WINDOWS_ARCH_LIST) | ||
|
||
releases: $(gz_releases) $(zip_releases) | ||
|
||
lint: | ||
GOOS=darwin golangci-lint run ./... | ||
GOOS=windows golangci-lint run ./... | ||
GOOS=linux golangci-lint run ./... | ||
GOOS=freebsd golangci-lint run ./... | ||
GOOS=openbsd golangci-lint run ./... | ||
|
||
clean: | ||
rm $(BINDIR)/* |