Makefile 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. test: unittests
  28. tests: unittests
  29. unittests:
  30. $(call delete-files,reports)
  31. mkdir reports
  32. go test ./... -coverprofile reports/unittests.out
  33. go tool cover -html=reports/unittests.out -o reports/unittests.html
  34. go-tools:
  35. go install "github.com/fzipp/gocyclo/cmd/gocyclo"
  36. go install "github.com/go-critic/go-critic/cmd/gocritic"
  37. go-tools-all:
  38. go install "github.com/bufbuild/buf/cmd/buf"
  39. go install "github.com/fzipp/gocyclo/cmd/gocyclo"
  40. go install "github.com/go-critic/go-critic/cmd/gocritic"
  41. go install "google.golang.org/protobuf/cmd/protoc-gen-go"