Makefile 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. rm -rdf ./bin
  8. go fmt ./...
  9. # 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
  10. go build -o ./bin/wartank_prod ./cmd/server/main.go
  11. strip -s ./bin/wartank_prod
  12. upx -f ./bin/wartank_prod
  13. prod2:
  14. clear
  15. rm -rdf ./bin_dev
  16. go fmt ./...
  17. go build -ldflags "-X main.GoVersion=${GO_VERS} -X main.Version=${TAG} -X main.Date=${BUILD_DATE}" -o ./bin2/server2 ./cmd/server/main.go
  18. strip -s ./bin2/server2
  19. upx -f ./bin2/server2
  20. dev:
  21. clear
  22. rm -rdf ./bin_dev
  23. go fmt ./...
  24. # 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
  25. go build -race -o ./bin_dev/wartank_dev ./cmd/server/main.go
  26. ./run_dev.sh
  27. prod:
  28. clear
  29. go fmt ./...
  30. go build -o ./bin/wartank_prod ./cmd/server/main.go
  31. ./run_prod.sh
  32. .PHONY: test
  33. test:
  34. clear
  35. go fmt ./...
  36. go test -shuffle=on -vet=all -race -timeout 30s -coverprofile cover.out ./...
  37. go tool cover -func=cover.out
  38. mod:
  39. clear
  40. go get -u ./...
  41. go mod tidy -compat=1.22.0
  42. go mod vendor
  43. go fmt ./...
  44. lint:
  45. clear
  46. go fmt ./...
  47. golangci-lint run ./cmd/server/...
  48. golangci-lint run ./app/...
  49. golangci-lint run ./kernel/...
  50. .PHONY: graph
  51. graph:
  52. # #go install github.com/kisielk/godepgraph@latest
  53. # #go mod graph | modgraphviz | dot -Tsvg -o graph.svg
  54. # godepgraph ./cmd/server | dot -Tsvg -o graph.svg
  55. clear
  56. go fmt ./...
  57. # http://localhost:7878/
  58. # go-callvis ./...
  59. #
  60. #
  61. godepgraph ./cmd/server | dot -Tsvg -o graph.svg