CASHIER_CMD := ./cmd/cashier CASHIER_BIN := ./cashier CASHIERD_BIN := ./cashierd CASHIERD_CMD := ./cmd/cashierd SRC_FILES = $(shell find * -type f -name '*.go' -not -path 'vendor/*' -not -name 'a_*-packr.go') all: test build test: dep go test ./... go install -race $(CASHIER_CMD) $(CASHIERD_CMD) go vet ./... go list ./... |egrep -v 'proto$$' |xargs -L1 golint -set_exit_status goimports -d $(SRC_FILES) $(MAKE) generate @[ -z "`git status --porcelain`" ] || (echo "unexpected files: `git status --porcelain`" && exit 1) build: cashier cashierd generate: go generate -x ./... cashier: go build -o cashier $(CASHIER_CMD) cashierd: generate go build -o cashierd $(CASHIERD_CMD) clean: rm -f cashier cashierd dep: go get -u github.com/golang/lint/golint go get -u golang.org/x/tools/cmd/goimports .PHONY: all build dep generate test cashier cashierd clean