You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
helm/Makefile

73 lines
1.6 KiB

9 years ago
ifndef GOPATH
$(error No GOPATH set)
endif
BIN_DIR := bin
DIST_DIR := _dist
GO_PACKAGES := cmd/helm dm
MAIN_GO := github.com/deis/helm-dm/cmd/helm
HELM_BIN := helm-dm
PATH_WITH_HELM = PATH="$(shell pwd)/$(BIN_DIR)/helm:$(PATH)"
9 years ago
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)
9 years ago
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}
9 years ago
quicktest:
$(PATH_WITH_HELM) go test -short $(addprefix ./,$(GO_PACKAGES))
9 years ago
test: test-style
$(PATH_WITH_HELM) go test -v ./ $(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; \
9 years ago
done
.PHONY: bootstrap \
build \
build-all \
clean \
dist \
install \
quicktest \
test \
test-charts \
test-style