Makefile 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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 -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. go build -race -o ./bin_dev/wartank_dev ./cmd/server/main.go
  35. ./run_dev.sh
  36. prod:
  37. clear
  38. go fmt ./...
  39. go build -o ./bin/wartank ./cmd/server/main.go
  40. ./run_prod.sh
  41. .PHONY: test
  42. test:
  43. clear
  44. go fmt ./...
  45. go test -shuffle=on -vet=all -race -timeout 30s -coverprofile cover.out ./...
  46. go tool cover -func=cover.out
  47. mod:
  48. clear
  49. go get -u ./...
  50. go mod tidy -compat=1.24.0
  51. go mod vendor
  52. go fmt ./...
  53. lint:
  54. clear
  55. go fmt ./...
  56. golangci-lint run ./cmd/server/...
  57. golangci-lint run ./app/...
  58. golangci-lint run ./kernel/...
  59. .PHONY: graph
  60. graph:
  61. # #go install github.com/kisielk/godepgraph@latest
  62. # #go mod graph | modgraphviz | dot -Tsvg -o graph.svg
  63. # godepgraph ./cmd/server | dot -Tsvg -o graph.svg
  64. clear
  65. go fmt ./...
  66. # http://localhost:7878/
  67. # go-callvis ./...
  68. #
  69. #
  70. godepgraph ./cmd/server | dot -Tsvg -o graph.svg