|
|
@ -1,24 +1,31 @@ |
|
|
|
PROTOC_GEN_GO := $(GOPATH)/bin/protoc-gen-go |
|
|
|
PROTOC_GEN_GO := $(shell go env GOPATH)/bin/protoc-gen-go |
|
|
|
|
|
|
|
ARCH := $(shell uname -m) |
|
|
|
VERSION := $(shell git describe --always --dirty=-dirty) |
|
|
|
|
|
|
|
GOLDFLAGS += -X main.Version=$(VERSION) |
|
|
|
GOLDFLAGS += -X main.Buildarch=$(ARCH) |
|
|
|
GOFLAGS := -ldflags "$(GOLDFLAGS)" |
|
|
|
|
|
|
|
default: run |
|
|
|
|
|
|
|
run: compile |
|
|
|
./cmd/mfer/mfer |
|
|
|
./cmd/mfer/mfer gen . |
|
|
|
run: ./mfer |
|
|
|
./$< |
|
|
|
./$< gen |
|
|
|
|
|
|
|
$(PROTOC_GEN_GO): |
|
|
|
go get -u github.com/golang/protobuf/protoc-gen-go |
|
|
|
test -e $(PROTOC_GEN_GO) || go get -u github.com/golang/protobuf/protoc-gen-go |
|
|
|
|
|
|
|
prereqs: $(PROTOC_GEN_GO) |
|
|
|
which gofumpt && go install -v mvdan.cc/gofumpt@latest |
|
|
|
which golangci-lint && go install -v github.com/golangci/golangci-lint/cmd/golangci-lint@latest |
|
|
|
which gofumpt || go install -v mvdan.cc/gofumpt@latest |
|
|
|
which golangci-lint || go install -v github.com/golangci/golangci-lint/cmd/golangci-lint@latest |
|
|
|
|
|
|
|
compile: prereqs |
|
|
|
mfer: prereqs src/*.go cmd/*/*.go |
|
|
|
cd proto && go generate . |
|
|
|
cd cmd/mfer && go build |
|
|
|
cd cmd/mfer && go build -o ../../mfer $(GOFLAGS) . |
|
|
|
|
|
|
|
clean: |
|
|
|
rm -rfv proto/*.pb.go |
|
|
|
rm -rfv proto/*.pb.go ./mfer |
|
|
|
|
|
|
|
fmt: prereqs |
|
|
|
gofumpt -l -w src cmd |
|
|
|