Makefile 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. go build -o ./bin/server ./cmd/server/main.go
  14. strip -s ./bin/server
  15. upx -f ./bin/server
  16. prod2:
  17. clear
  18. mkdir -p ./bin2/web/static
  19. mkdir -p ./bin2/web/tmpl
  20. cp -r ./web ./bin2
  21. # cp ./util/store.so ./bin2/store.so
  22. go fmt ./...
  23. go build -ldflags "-X main.GoVersion=${GO_VERS} -X main.Version=${TAG} -X main.Date=${BUILD_DATE}" -o ./bin2/server2 ./cmd/server/main.go
  24. strip -s ./bin2/server2
  25. upx -f ./bin2/server2
  26. dev:
  27. clear
  28. rm -rdf ./bin_dev
  29. mkdir -p ./bin_dev/web/static
  30. mkdir -p ./bin_dev/web/tmpl
  31. cp -r ./web ./bin_dev
  32. go fmt ./...
  33. # go build -race -o ./bin_dev/wartank_dev ./cmd/server/main.go
  34. # 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
  35. go build -race -o ./bin_dev/wartank_dev ./cmd/server/main.go
  36. ./run_dev.sh
  37. prod:
  38. clear
  39. go fmt ./...
  40. go build -o ./bin/wartank ./cmd/server/main.go
  41. ./run_prod.sh
  42. .PHONY: test
  43. test:
  44. clear
  45. go fmt ./...
  46. go test -shuffle=on -vet=all -race -timeout 30s -coverprofile cover.out ./...
  47. go tool cover -func=cover.out
  48. mod:
  49. clear
  50. go get -u ./...
  51. go mod tidy -compat=1.24.0
  52. go mod vendor
  53. go fmt ./...
  54. lint:
  55. clear
  56. go fmt ./...
  57. golangci-lint run ./cmd/server/...
  58. golangci-lint run ./pkg/...
  59. golangci-lint run ./server/...