mirror of https://github.com/docker/docs.git
62 lines
1.6 KiB
Makefile
62 lines
1.6 KiB
Makefile
# Set an output prefix, which is the local directory if not specified
|
|
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 all fmt vet lint build test binaries
|
|
.DEFAULT: default
|
|
all: AUTHORS clean fmt vet fmt lint build test binaries
|
|
|
|
AUTHORS: .git/HEAD
|
|
git log --format='%aN <%aE>' | sort -fu > $@
|
|
|
|
# This only needs to be generated by hand when cutting full releases.
|
|
version/version.go:
|
|
./version/version.sh > $@
|
|
|
|
${PREFIX}/bin/vetinari-server: version/version.go $(shell find . -type f -name '*.go')
|
|
@echo "+ $@"
|
|
@go build -o $@ ${GO_LDFLAGS} ./cmd/vetinari-server
|
|
|
|
${PREFIX}/bin/trustmanager: version/version.go $(shell find . -type f -name '*.go')
|
|
@echo "+ $@"
|
|
@go build -o $@ ${GO_LDFLAGS} ./cmd/trustmanager
|
|
|
|
vet:
|
|
@echo "+ $@"
|
|
@test -z "$$(go tool vet -printf=false . 2>&1 | grep -v Godeps/_workspace/src/ | tee /dev/stderr)"
|
|
|
|
fmt:
|
|
@echo "+ $@"
|
|
@test -z "$$(gofmt -s -l . | grep -v Godeps/_workspace/src/ | tee /dev/stderr)"
|
|
|
|
lint:
|
|
@echo "+ $@"
|
|
@test -z "$$(golint ./... | grep -v .pb. | grep -v Godeps/_workspace/src/ | tee /dev/stderr)"
|
|
|
|
build:
|
|
@echo "+ $@"
|
|
@go build -v ${GO_LDFLAGS} ./...
|
|
|
|
test:
|
|
@echo "+ $@"
|
|
@go test -test.short ./...
|
|
|
|
test-full: vet lint
|
|
@echo "+ $@"
|
|
@go test -v ./...
|
|
|
|
protos:
|
|
@protoc --go_out=plugins=grpc:. proto/*.proto
|
|
|
|
clean-protos:
|
|
@rm proto/*.pb.go
|
|
|
|
binaries: ${PREFIX}/bin/vetinari-server ${PREFIX}/bin/trustmanager
|
|
@echo "+ $@"
|
|
|
|
clean:
|
|
@echo "+ $@"
|
|
@rm -rf "${PREFIX}/bin/vetinari-server" "${PREFIX}/bin/trustmanager"
|