ifndef GOPATH $(error No GOPATH set) endif BIN_DIR := bin DIST_DIR := _dist GO_PACKAGES := cmd/helm dm deploy format kubectl MAIN_GO := github.com/deis/helm-dm/cmd/helm HELM_BIN := helm-dm PATH_WITH_HELM = PATH="$(shell pwd)/$(BIN_DIR)/helm:$(PATH)" VERSION := $(shell git describe --tags --abbrev=0 2>/dev/null)+$(shell git rev-parse --short HEAD) export GO15VENDOREXPERIMENT=1 ifndef VERSION VERSION := git-$(shell git rev-parse --short HEAD) endif build: go build -o bin/${HELM_BIN} -ldflags "-s -X main.version=${VERSION}" $(MAIN_GO) bootstrap: go get -u github.com/golang/lint/golint github.com/mitchellh/gox glide install build-all: gox -verbose \ -ldflags "-X main.version=${VERSION}" \ -os="linux darwin " \ -arch="amd64 386" \ -output="$(DIST_DIR)/{{.OS}}-{{.Arch}}/{{.Dir}}" . clean: rm -rf $(DIST_DIR) $(BIN_DIR) dist: build-all @cd $(DIST_DIR) && \ find * -type d -exec zip -jr helm-$(VERSION)-{}.zip {} \; && \ cd - install: build install -d ${DESTDIR}/usr/local/bin/ install -m 755 bin/${HELM_BIN} ${DESTDIR}/usr/local/bin/${HELM_BIN} quicktest: $(PATH_WITH_HELM) go test -short $(addprefix ./,$(GO_PACKAGES)) test: test-style $(PATH_WITH_HELM) go test -v -cover $(addprefix ./,$(GO_PACKAGES)) test-style: @if [ $(shell gofmt -e -l -s *.go $(GO_PACKAGES)) ]; then \ echo "gofmt check failed:"; gofmt -e -l -s *.go $(GO_PACKAGES); exit 1; \ fi @for i in . $(GO_PACKAGES); do \ golint $$i; \ done @for i in . $(GO_PACKAGES); do \ go vet github.com/deis/helm-dm/$$i; \ done .PHONY: bootstrap \ build \ build-all \ clean \ dist \ install \ quicktest \ test \ test-charts \ test-style