GOPATH ?= $(shell go env GOPATH) GOBIN ?= $(GOPATH)/bin BINARY = muyue BUILD_DIR = . GO = go .PHONY: build install clean test run scan fmt lint 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 run: build ./$(BINARY) scan: build ./$(BINARY) scan fmt: gofmt -w . $(GO)imports -w . lint: golangci-lint run 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/ .PHONY: deps deps: $(GO) mod tidy