GOPATH ?= $(shell go env GOPATH) GOBIN ?= $(GOPATH)/bin BINARY = muyue BUILD_DIR = . GO = go .PHONY: build install clean test test-short run scan fmt lint build-all deps vet build: $(GO) build -o $(BUILD_DIR)/$(BINARY) ./cmd/muyue/ install: build cp $(BUILD_DIR)/$(BINARY) /usr/local/bin/ install-local: build mkdir -p $(HOME)/.local/bin cp $(BUILD_DIR)/$(BINARY) $(HOME)/.local/bin/ clean: rm -f $(BUILD_DIR)/$(BINARY) test: $(GO) test ./... -v -count=1 test-short: $(GO) test ./... -v -short -count=1 -timeout 60s vet: $(GO) vet ./... run: build ./$(BINARY) scan: build ./$(BINARY) scan fmt: gofmt -w . which goimports > /dev/null 2>&1 && goimports -w . || true lint: which golangci-lint > /dev/null 2>&1 && golangci-lint run || true build-all: GOOS=linux GOARCH=amd64 $(GO) build -o dist/$(BINARY)-linux-amd64 ./cmd/muyue/ GOOS=linux GOARCH=arm64 $(GO) build -o dist/$(BINARY)-linux-arm64 ./cmd/muyue/ GOOS=darwin GOARCH=amd64 $(GO) build -o dist/$(BINARY)-darwin-amd64 ./cmd/muyue/ GOOS=darwin GOARCH=arm64 $(GO) build -o dist/$(BINARY)-darwin-arm64 ./cmd/muyue/ GOOS=windows GOARCH=amd64 $(GO) build -o dist/$(BINARY)-windows-amd64.exe ./cmd/muyue/ GOOS=windows GOARCH=arm64 $(GO) build -o dist/$(BINARY)-windows-arm64.exe ./cmd/muyue/ deps: $(GO) mod tidy