From d513d07e5fffcb8651f8bf140562579e54e82331 Mon Sep 17 00:00:00 2001 From: Stephen J Day Date: Fri, 6 Feb 2015 15:39:11 -0800 Subject: [PATCH] Add common targets to Makefile A nice set of common default targets have been added to the Makefile to make running tests and building binaries more straightforward. Running the Makefile before committing should make build failures less common. Signed-off-by: Stephen J Day --- Makefile | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index b324e3fe2..b02c02a08 100644 --- a/Makefile +++ b/Makefile @@ -4,11 +4,9 @@ PREFIX?=$(shell pwd) # Used to populate version variable in main package. GO_LDFLAGS=-ldflags "-X `go list ./version`.Version `git describe --match 'v[0-9]*' --dirty='.m' --always`" -.PHONY: clean binaries +.PHONY: clean all fmt vet lint build test binaries .DEFAULT: default - -default: - @echo Please read the make targets before using this Makefile. +all: clean fmt vet fmt lint build test binaries AUTHORS: .mailmap .git/ORIG_HEAD .git/FETCH_HEAD .git/HEAD git log --format='%aN <%aE>' | sort -fu >> $@ @@ -20,6 +18,25 @@ version/version.go: ${PREFIX}/bin/registry: version/version.go $(shell find . -type f -name '*.go') go build -o $@ ${GO_LDFLAGS} ./cmd/registry +vet: + go vet ./... + +fmt: + test -z "$$(gofmt -s -l . | grep -v Godeps/_workspace/src/ | tee /dev/stderr)" || \ + echo "+ please format Go code with 'gofmt -s'" + +lint: + test -z "$$(golint ./... | grep -v Godeps/_workspace/src/ | tee /dev/stderr)" + +build: + go build ${GO_LDFLAGS} ./... + +test: + go test -test.short ./... + +test-full: + go test ./... + binaries: ${PREFIX}/bin/registry clean: