Makefile 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. define delete-files
  2. python -c "import shutil;shutil.rmtree('$(1)', ignore_errors=True)"
  3. endef
  4. compile-currentenv:
  5. go build
  6. prep:
  7. go mod download
  8. go generate ./...
  9. compile-armhf:
  10. go env -w GOARCH=arm GOARM=6
  11. go build -o OliveTin.armhf
  12. go env -u GOARCH GOARM
  13. compile-x64-lin:
  14. go env -w GOOS=linux
  15. go build -o OliveTin
  16. go env -u GOOS
  17. compile-x64-win:
  18. go env -w GOOS=windows GOARCH=amd64
  19. go build -o OliveTin.exe
  20. go env -u GOOS GOARCH
  21. compile: compile-armhf compile-x64-lin compile-x64-win
  22. codestyle: go-tools
  23. go fmt ./...
  24. go vet ./...
  25. gocyclo -over 4 internal
  26. gocritic check ./...
  27. unittests:
  28. $(call delete-files,reports)
  29. mkdir reports
  30. go test ./... -coverprofile reports/unittests.out
  31. go tool cover -html=reports/unittests.out -o reports/unittests.html
  32. go-tools:
  33. go install "github.com/fzipp/gocyclo/cmd/gocyclo"
  34. go install "github.com/go-critic/go-critic/cmd/gocritic"
  35. go-tools-all:
  36. go install "github.com/bufbuild/buf/cmd/buf"
  37. go install "github.com/fzipp/gocyclo/cmd/gocyclo"
  38. go install "github.com/go-critic/go-critic/cmd/gocritic"
  39. go install "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway"
  40. go install "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2"
  41. go install "google.golang.org/grpc/cmd/protoc-gen-go-grpc"
  42. go install "google.golang.org/protobuf/cmd/protoc-gen-go"