GOPATH := $(shell go env GOPATH) export PATH := $(PATH):$(GOPATH)/bin PROTOC_GEN_GO := $(GOPATH)/bin/protoc-gen-go ARCH := $(shell uname -m) GITREV := $(shell git describe --always --dirty=-dirty) GOLDFLAGS += -X main.Version=0.1.0 GOLDFLAGS += -X main.Gitrev=$(GITREV) GOFLAGS := -ldflags "$(GOLDFLAGS)" default: run run: ./mfer.cmd ./$< ./$< gen --ignore-dotfiles $(PROTOC_GEN_GO): test -e $(PROTOC_GEN_GO) || go install -v google.golang.org/protobuf/cmd/protoc-gen-go@latest fixme: @grep -nir fixme . | grep -v Makefile devprereqs: which gofumpt || go install -v mvdan.cc/gofumpt@latest which golangci-lint || go install -v github.com/golangci/golangci-lint/cmd/golangci-lint@latest mfer.cmd: $(PROTOC_GEN_GO) mfer/*.go internal/*/*.go cmd/*/*.go protoc --version cd mfer && go generate . cd cmd/mfer && go build -tags urfave_cli_no_docs -o ../../mfer.cmd $(GOFLAGS) . clean: rm -rfv mfer/*.pb.go mfer.cmd cmd/mfer/mfer fmt: devprereqs gofumpt -l -w mfer internal cmd golangci-lint run --fix -prettier -w *.json -prettier -w *.md lint: golangci-lint run sh -c 'test -z "$$(gofmt -l .)"' dockerbuild: docker build .