2022-02-02 05:43:48 +00:00
|
|
|
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)"
|
2021-10-26 09:10:55 +00:00
|
|
|
|
2022-02-02 04:12:32 +00:00
|
|
|
default: run
|
|
|
|
|
2022-02-02 05:43:48 +00:00
|
|
|
run: ./mfer
|
|
|
|
./$<
|
|
|
|
./$< gen
|
2021-10-26 09:10:55 +00:00
|
|
|
|
|
|
|
$(PROTOC_GEN_GO):
|
2022-02-02 06:39:50 +00:00
|
|
|
test -e $(PROTOC_GEN_GO) || go get -u google.golang.org/protobuf/cmd/protoc-gen-go
|
2021-10-26 09:10:55 +00:00
|
|
|
|
2022-02-02 05:36:20 +00:00
|
|
|
prereqs: $(PROTOC_GEN_GO)
|
2022-02-02 05:43:48 +00:00
|
|
|
which gofumpt || go install -v mvdan.cc/gofumpt@latest
|
|
|
|
which golangci-lint || go install -v github.com/golangci/golangci-lint/cmd/golangci-lint@latest
|
2022-02-02 06:39:50 +00:00
|
|
|
#which protoc || go install -v google.golang.org/protobuf/cmd/protoc-gen-go@latest
|
2022-02-02 05:36:20 +00:00
|
|
|
|
2022-02-02 05:43:48 +00:00
|
|
|
mfer: prereqs src/*.go cmd/*/*.go
|
2021-10-26 09:10:55 +00:00
|
|
|
cd proto && go generate .
|
2022-02-02 05:43:48 +00:00
|
|
|
cd cmd/mfer && go build -o ../../mfer $(GOFLAGS) .
|
2021-10-26 09:10:55 +00:00
|
|
|
|
|
|
|
clean:
|
2022-02-02 05:43:48 +00:00
|
|
|
rm -rfv proto/*.pb.go ./mfer
|
2021-11-03 10:49:34 +00:00
|
|
|
|
2022-02-02 05:36:20 +00:00
|
|
|
fmt: prereqs
|
|
|
|
gofumpt -l -w src cmd
|
|
|
|
golangci-lint run --fix
|
|
|
|
prettier -w *.json *.md
|
|
|
|
|
|
|
|
lint:
|
|
|
|
golangci-lint run
|
|
|
|
sh -c 'test -z "$$(gofmt -l .)"'
|
|
|
|
|
|
|
|
dockerbuild:
|
|
|
|
docker build .
|