53 lines
1.2 KiB
Makefile
53 lines
1.2 KiB
Makefile
|
|
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
|
|
|
|
test:
|
|
go test -v --timeout 3s ./...
|
|
|
|
$(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 .
|
|
make test
|
|
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 .
|