PACKAGES = `go list ./... | grep -v /vendor/`
COMMANDS = ./main.go

.PHONY: install test build lint clean
.DEFAULT_GOAL: build

install: build test
	@go install $(PACKAGES)

command: build test
	@go build $(COMMANDS)

build: lint
	@go build $(PACKAGES)

test:
	@go test -race $(PACKAGES)

lint:
	@go fmt $(PACKAGES)
	@go vet $(PACKAGES)
	@errcheck -blank $(PACKAGES)

clean:
	@go clean $(PACKAGES)
