mfer/Makefile

42 lines
1021 B
Makefile
Raw Normal View History

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)"
2022-02-02 04:12:32 +00:00
default: run
2022-02-02 05:43:48 +00:00
run: ./mfer
./$<
./$< gen
$(PROTOC_GEN_GO):
2022-02-02 05:43:48 +00:00
test -e $(PROTOC_GEN_GO) || go get -u github.com/golang/protobuf/protoc-gen-go
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:35:10 +00:00
which protoc || go install -v github.com/golang/protobuf/protoc-gen-go@5d5e8c018a13017f9d5b8bf4fad64aaa42a87308
2022-02-02 05:36:20 +00:00
2022-02-02 05:43:48 +00:00
mfer: prereqs src/*.go cmd/*/*.go
cd proto && go generate .
2022-02-02 05:43:48 +00:00
cd cmd/mfer && go build -o ../../mfer $(GOFLAGS) .
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 .