Makefile 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. BUILD_DATE = $(shell date +%F-%Z/%T)
  2. TAG=$(shell git describe --tags --abbrev=0)
  3. GO_VERSION=$(shell go version)
  4. GO_VERS := $(shell echo "${GO_VERSION}" | sed -e 's/ /_/g')
  5. build:
  6. clear
  7. mkdir -p ./bin/web/static
  8. mkdir -p ./bin/web/tmpl
  9. cp -r ./web ./bin
  10. # cp ./util/store.so ./bin/store.so
  11. go fmt ./...
  12. go build -ldflags "-w -s -X main.GoVersion=$(GO_VERS) -X main.Version=${TAG} -X main.Date=${BUILD_DATE}" -o ./bin/server ./cmd/server/main.go
  13. strip -s ./bin/server
  14. upx -f ./bin/server
  15. prod2:
  16. clear
  17. mkdir -p ./bin2/web/static
  18. mkdir -p ./bin2/web/tmpl
  19. cp -r ./web ./bin2
  20. # cp ./util/store.so ./bin2/store.so
  21. go fmt ./...
  22. go build -ldflags "-X main.GoVersion=${GO_VERS} -X main.Version=${TAG} -X main.Date=${BUILD_DATE}" -o ./bin2/server2 ./cmd/server/main.go
  23. strip -s ./bin2/server2
  24. upx -f ./bin2/server2
  25. dev:
  26. clear
  27. rm -rdf ./bin_dev
  28. mkdir -p ./bin_dev/web/static
  29. mkdir -p ./bin_dev/web/tmpl
  30. cp -r ./web ./bin_dev
  31. go fmt ./...
  32. # go build -race -o ./bin_dev/wartank_dev ./cmd/server/main.go
  33. go build -ldflags "-w -s -X main.GoVersion=$(GO_VERS) -X main.Version=${TAG} -X main.Date=${BUILD_DATE}" -o ./bin_dev/wartank_dev ./cmd/server/main.go
  34. ./run_dev.sh
  35. prod:
  36. clear
  37. go fmt ./...
  38. go build -o ./bin/wartank ./cmd/server/main.go
  39. ./run_prod.sh
  40. .PHONY: test
  41. test:
  42. clear
  43. go fmt ./...
  44. go test -shuffle=on -vet=all -race -timeout 30s -coverprofile cover.out ./...
  45. go tool cover -func=cover.out
  46. mod:
  47. clear
  48. go get -u ./...
  49. go mod tidy -compat=1.23.6
  50. go mod vendor
  51. go fmt ./...
  52. lint:
  53. clear
  54. go fmt ./...
  55. golangci-lint run ./cmd/server/...
  56. golangci-lint run ./pkg/...
  57. golangci-lint run ./server/...