Makefile 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. # reference https://github.com/Dreamacro/clash/blob/master/Makefile
  2. NAME=naiyou-service
  3. BINDIR=bin
  4. VERSION=$(shell git describe --tags || echo "unknown version")
  5. GOBUILD=CGO_ENABLED=0 go build -trimpath -ldflags '-w -s -X "github.com/alroyso/clash-for-flutter-service/constant.Version=$(VERSION)"'
  6. PLATFORM_LIST = \
  7. darwin-amd64 \
  8. darwin-arm64 \
  9. linux-amd64 \
  10. linux-arm64
  11. WINDOWS_ARCH_LIST = \
  12. windows-amd64 \
  13. windows-arm64
  14. all: darwin-amd64 darwin-arm64 linux-amd64 linux-arm64 windows-amd64 windows-arm64
  15. darwin-amd64:
  16. GOARCH=amd64 GOOS=darwin $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  17. darwin-arm64:
  18. GOARCH=arm64 GOOS=darwin $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  19. linux-amd64:
  20. GOARCH=amd64 GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  21. linux-arm64:
  22. GOARCH=arm64 GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  23. windows-amd64:
  24. GOARCH=amd64 GOOS=windows $(GOBUILD) -o $(BINDIR)/$(NAME)-$@.exe
  25. windows-arm64:
  26. GOARCH=arm64 GOOS=windows $(GOBUILD) -o $(BINDIR)/$(NAME)-$@.exe
  27. gz_releases=$(addsuffix .gz, $(PLATFORM_LIST))
  28. zip_releases=$(addsuffix .zip, $(WINDOWS_ARCH_LIST))
  29. $(gz_releases): %.gz : %
  30. chmod +x $(BINDIR)/$(NAME)-$(basename $@)
  31. gzip -f -S -$(VERSION).gz $(BINDIR)/$(NAME)-$(basename $@)
  32. $(zip_releases): %.zip : %
  33. zip -m -j $(BINDIR)/$(NAME)-$(basename $@)-$(VERSION).zip $(BINDIR)/$(NAME)-$(basename $@).exe
  34. releases: $(gz_releases) $(zip_releases)