OUTPUT ?= dist VERSION_MANIFEST ?= ./pkg/config/versions/versions.yaml all: clean deps versionManifest compile build: @echo "Building for ${GOOS}-${GOARCH}" CGO_ENABLED=0 go build -tags embedVersion -o ${OUTPUT}/gitpod-installer-${GOOS}-${GOARCH}${EXT} (cd ${OUTPUT} && sha256sum gitpod-installer-${GOOS}-${GOARCH} > gitpod-installer-${GOOS}-${GOARCH}.sha256) .PHONY: build clean: @echo "Cleaning ${OUTPUT}" rm -Rf ${OUTPUT} mkdir -p ${OUTPUT} rm -f ${VERSION_MANIFEST} .PHONY: clean compile: @echo "Compiling for every supported OS and platform" GOOS=linux GOARCH=amd64 $(MAKE) build GOOS=linux GOARCH=386 $(MAKE) build GOOS=linux GOARCH=arm $(MAKE) build GOOS=linux GOARCH=arm64 $(MAKE) build .PHONY: compile deps: @echo "Installing Helm dependencies" @for f in $(shell ls -d third_party/charts/*/); do cd $${f} && helm dep up && cd -; done .PHONY: deps versionManifest: @echo "Downloading version manifest for ${VERSION}" docker run -it --rm eu.gcr.io/gitpod-core-dev/build/versions:${VERSION} cat versions.yaml > ${VERSION_MANIFEST} .PHONY: versionManifest config-doc: @echo "Building doc from Config struct for current version" go run ./scripts/structdoc.go .PHONY: config-doc