mfer/Makefile

49 lines
1.1 KiB
Makefile
Raw Normal View History

2022-02-02 06:45:37 +00:00
GOPATH := $(shell go env GOPATH)
export PATH := $(PATH):$(GOPATH)/bin
PROTOC_GEN_GO := $(GOPATH)/bin/protoc-gen-go
2022-02-02 05:43:48 +00:00
ARCH := $(shell uname -m)
2022-12-04 00:33:24 +00:00
GITREV := $(shell git describe --always --dirty=-dirty)
2022-02-02 05:43:48 +00:00
2022-12-04 00:33:24 +00:00
GOLDFLAGS += -X main.Version=0.1.0
GOLDFLAGS += -X main.Gitrev=$(GITREV)
2022-02-02 05:43:48 +00:00
GOFLAGS := -ldflags "$(GOLDFLAGS)"
2022-02-02 04:12:32 +00:00
default: run
2022-12-02 00:31:49 +00:00
run: ./mfer.cmd
2022-02-02 05:43:48 +00:00
./$<
2022-12-04 00:33:24 +00:00
./$< gen --ignore-dotfiles
$(PROTOC_GEN_GO):
2022-02-02 06:45:37 +00:00
test -e $(PROTOC_GEN_GO) || go install -v google.golang.org/protobuf/cmd/protoc-gen-go@latest
2022-12-04 00:33:24 +00:00
fixme:
@grep -nir fixme . | grep -v Makefile
2022-02-02 06:45:37 +00:00
devprereqs:
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 05:36:20 +00:00
2022-12-02 00:31:49 +00:00
mfer.cmd: $(PROTOC_GEN_GO) mfer/*.go internal/*/*.go cmd/*/*.go
2022-02-02 07:40:50 +00:00
protoc --version
2022-12-02 00:31:49 +00:00
cd mfer && go generate .
2022-12-04 00:33:24 +00:00
cd cmd/mfer && go build -tags urfave_cli_no_docs -o ../../mfer.cmd $(GOFLAGS) .
clean:
2022-12-04 00:33:24 +00:00
rm -rfv mfer/*.pb.go mfer.cmd cmd/mfer/mfer
2021-11-03 10:49:34 +00:00
2022-12-04 00:33:24 +00:00
fmt: devprereqs
2022-12-02 00:31:49 +00:00
gofumpt -l -w mfer internal cmd
2022-02-02 05:36:20 +00:00
golangci-lint run --fix
2022-12-04 00:33:24 +00:00
-prettier -w *.json
-prettier -w *.md
2022-02-02 05:36:20 +00:00
lint:
golangci-lint run
sh -c 'test -z "$$(gofmt -l .)"'
dockerbuild:
docker build .