Makefile 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. NAME=proxypool
  2. BINDIR=bin
  3. VERSION=$(shell git describe --tags || echo "unknown version")
  4. GOBUILD=CGO_ENABLED=0 go build -trimpath -ldflags '-w -s'
  5. PLATFORM_LIST = \
  6. darwin-amd64 \
  7. linux-386 \
  8. linux-amd64 \
  9. linux-armv5 \
  10. linux-armv6 \
  11. linux-armv7 \
  12. linux-armv8 \
  13. linux-mips-softfloat \
  14. linux-mips-hardfloat \
  15. linux-mipsle-softfloat \
  16. linux-mipsle-hardfloat \
  17. linux-mips64 \
  18. linux-mips64le \
  19. freebsd-386 \
  20. freebsd-amd64
  21. all: linux-amd64 darwin-amd64
  22. docker:
  23. $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  24. darwin-amd64:
  25. GOARCH=amd64 GOOS=darwin $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  26. linux-386:
  27. GOARCH=386 GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  28. linux-amd64:
  29. GOARCH=amd64 GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  30. linux-armv5:
  31. GOARCH=arm GOOS=linux GOARM=5 $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  32. linux-armv6:
  33. GOARCH=arm GOOS=linux GOARM=6 $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  34. linux-armv7:
  35. GOARCH=arm GOOS=linux GOARM=7 $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  36. linux-armv8:
  37. GOARCH=arm64 GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  38. linux-mips-softfloat:
  39. GOARCH=mips GOMIPS=softfloat GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  40. linux-mips-hardfloat:
  41. GOARCH=mips GOMIPS=hardfloat GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  42. linux-mipsle-softfloat:
  43. GOARCH=mipsle GOMIPS=softfloat GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  44. linux-mipsle-hardfloat:
  45. GOARCH=mipsle GOMIPS=hardfloat GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  46. linux-mips64:
  47. GOARCH=mips64 GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  48. linux-mips64le:
  49. GOARCH=mips64le GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  50. freebsd-386:
  51. GOARCH=386 GOOS=freebsd $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  52. freebsd-amd64:
  53. GOARCH=amd64 GOOS=freebsd $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
  54. gz_releases=$(addsuffix .gz, $(PLATFORM_LIST))
  55. $(gz_releases): %.gz : %
  56. chmod +x $(BINDIR)/$(NAME)-$(basename $@)
  57. gzip -f -S -$(VERSION).gz $(BINDIR)/$(NAME)-$(basename $@)
  58. all-arch: $(PLATFORM_LIST)
  59. releases: $(gz_releases)
  60. clean:
  61. rm $(BINDIR)/*