Makefile 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. BINARY := zenmux-usage
  2. PKG := github.com/kotoyuuko/zenmux-usage-cli/cmd/zenmux-usage
  3. VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo dev)
  4. LDFLAGS := -s -w -X main.version=$(VERSION)
  5. .PHONY: build test vet lint run clean cross
  6. build:
  7. go build -ldflags "$(LDFLAGS)" -o $(BINARY) ./cmd/zenmux-usage
  8. test:
  9. go test ./...
  10. vet:
  11. go vet ./...
  12. lint: vet
  13. @gofmt -l . | tee /tmp/gofmt.out; \
  14. test ! -s /tmp/gofmt.out
  15. run: build
  16. ./$(BINARY)
  17. clean:
  18. rm -f $(BINARY)
  19. rm -rf dist/
  20. cross: clean
  21. @mkdir -p dist
  22. GOOS=darwin GOARCH=amd64 go build -ldflags "$(LDFLAGS)" -o dist/$(BINARY)-darwin-amd64 ./cmd/zenmux-usage
  23. GOOS=darwin GOARCH=arm64 go build -ldflags "$(LDFLAGS)" -o dist/$(BINARY)-darwin-arm64 ./cmd/zenmux-usage
  24. GOOS=linux GOARCH=amd64 go build -ldflags "$(LDFLAGS)" -o dist/$(BINARY)-linux-amd64 ./cmd/zenmux-usage
  25. GOOS=linux GOARCH=arm64 go build -ldflags "$(LDFLAGS)" -o dist/$(BINARY)-linux-arm64 ./cmd/zenmux-usage
  26. GOOS=windows GOARCH=amd64 go build -ldflags "$(LDFLAGS)" -o dist/$(BINARY)-windows-amd64.exe ./cmd/zenmux-usage
  27. @ls -lh dist/