1BUMP_VERSION := $(GOPATH)/bin/bump_version
2STATICCHECK := $(GOPATH)/bin/staticcheck
3WRITE_MAILMAP := $(GOPATH)/bin/write_mailmap
4
5$(STATICCHECK):
6	go get honnef.co/go/tools/cmd/staticcheck
7
8lint: $(STATICCHECK)
9	go vet ./...
10	$(STATICCHECK)
11
12test: lint
13	@# the timeout helps guard against infinite recursion
14	go test -timeout=250ms ./...
15
16race-test: lint
17	go test -timeout=500ms -race ./...
18
19$(BUMP_VERSION):
20	go get -u github.com/kevinburke/bump_version
21
22release: test | $(BUMP_VERSION)
23	$(BUMP_VERSION) minor config.go
24
25force: ;
26
27AUTHORS.txt: force | $(WRITE_MAILMAP)
28	$(WRITE_MAILMAP) > AUTHORS.txt
29
30authors: AUTHORS.txt
31