Makefile

 1.DEFAULT_GOAL = all
 2
 3numcpus  := $(shell cat /proc/cpuinfo | grep '^processor\s*:' | wc -l)
 4version  := $(shell git rev-list --count HEAD).$(shell git rev-parse --short HEAD)
 5
 6name     := uarand
 7package  := github.com/corpix/$(name)
 8
 9.PHONY: all
10all:: dependencies
11
12.PHONY: tools
13tools::
14	@if [ ! -e "$(GOPATH)"/bin/glide ]; then go get github.com/Masterminds/glide; fi
15	@if [ ! -e "$(GOPATH)"/bin/glide-cleanup ]; then go get github.com/ngdinhtoan/glide-cleanup; fi
16	@if [ ! -e "$(GOPATH)"/bin/glide-vc ]; then go get github.com/sgotti/glide-vc; fi
17	@if [ ! -e "$(GOPATH)"/bin/godef ]; then go get github.com/rogpeppe/godef; fi
18	@if [ ! -e "$(GOPATH)"/bin/gocode ]; then go get github.com/nsf/gocode; fi
19	@if [ ! -e "$(GOPATH)"/bin/gometalinter ]; then go get github.com/alecthomas/gometalinter && gometalinter --install; fi
20	@if [ ! -e "$(GOPATH)"/src/github.com/stretchr/testify/assert ]; then go get github.com/stretchr/testify/assert; fi
21
22.PHONY: dependencies
23dependencies:: tools
24	glide install
25
26.PHONY: clean
27clean:: tools
28	glide cache-clear
29
30.PHONY: test
31test:: dependencies
32	go test -v \
33           $(shell glide novendor)
34
35.PHONY: bench
36bench:: dependencies
37	go test        \
38           -bench=. -v \
39           $(shell glide novendor)
40
41.PHONY: lint
42lint:: dependencies
43	go vet $(shell glide novendor)
44	gometalinter                     \
45		--deadline=5m            \
46		--concurrency=$(numcpus) \
47		$(shell glide novendor)
48
49.PHONY: check
50check:: lint test
51
52include useragents.mk