Makefile 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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.run:
  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. debug.run:
  36. clear
  37. cp -r ./web ./bin_dev
  38. go fmt ./...
  39. # go build -race -o ./bin_dev/wartank_dev ./cmd/server/main.go
  40. 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
  41. ./debug.sh
  42. prod.run:
  43. clear
  44. go fmt ./...
  45. go build -o ./bin/wartank ./cmd/server/main.go
  46. ./run_prod.sh
  47. test.run:
  48. clear
  49. go fmt ./...
  50. go test -shuffle=on -vet=all -race -timeout 30s -coverprofile cover.out ./...
  51. go tool cover -func=cover.out
  52. mod:
  53. clear
  54. go get -u ./...
  55. go mod tidy -compat=1.22.4
  56. go mod vendor
  57. go fmt ./...
  58. lint:
  59. clear
  60. go fmt ./...
  61. golangci-lint run ./cmd/server/...
  62. golangci-lint run ./pkg/...
  63. golangci-lint run ./server/...