forked from public/stack
138 lines
4.1 KiB
Makefile
138 lines
4.1 KiB
Makefile
|
.PHONY: tools
|
||
|
tools: tools-src \
|
||
|
$(OUT_DIR)/terraform.linux-x86_64 \
|
||
|
$(OUT_DIR)/sops.linux-x86_64 \
|
||
|
$(OUT_DIR)/talosctl.linux-x86_64 \
|
||
|
$(OUT_DIR)/kubectl.linux-x86_64 \
|
||
|
$(OUT_DIR)/helm.linux-x86_64 \
|
||
|
$(OUT_DIR)/kustomize.linux-x86_64 \
|
||
|
$(OUT_DIR)/ksops-exec.linux-x86_64
|
||
|
|
||
|
.PHONY: tools-src
|
||
|
tools-src: \
|
||
|
$(FETCH_DIR)/go.src.tar.gz \
|
||
|
$(FETCH_DIR)/terraform.tar.gz \
|
||
|
$(FETCH_DIR)/sops.tar.gz \
|
||
|
$(FETCH_DIR)/talos.tar.gz \
|
||
|
$(FETCH_DIR)/kubernetes.tar.gz \
|
||
|
$(FETCH_DIR)/helm.tar.gz \
|
||
|
$(FETCH_DIR)/kustomize.tar.gz \
|
||
|
$(FETCH_DIR)/ksops.tar.gz
|
||
|
|
||
|
.PHONY: tools-install
|
||
|
tools-install: tools
|
||
|
install -D $(OUT_DIR)/terraform.$(HOST_OS)-$(HOST_ARCH) $(PREFIX)/bin/terraform
|
||
|
install -D $(OUT_DIR)/sops.$(HOST_OS)-$(HOST_ARCH) $(PREFIX)/bin/sops
|
||
|
install -D $(OUT_DIR)/talosctl.$(HOST_OS)-$(HOST_ARCH) $(PREFIX)/bin/talosctl
|
||
|
install -D $(OUT_DIR)/kubectl.$(HOST_OS)-$(HOST_ARCH) $(PREFIX)/bin/kubectl
|
||
|
install -D $(OUT_DIR)/helm.$(HOST_OS)-$(HOST_ARCH) $(PREFIX)/bin/helm
|
||
|
install -D $(OUT_DIR)/kustomize.$(HOST_OS)-$(HOST_ARCH) $(PREFIX)/bin/kustomize
|
||
|
install -D $(OUT_DIR)/ksops-exec.$(HOST_OS)-$(HOST_ARCH) $(XDG_CONFIG_HOME)/kustomize/plugin/viaduct.ai/v1/ksops/ksops
|
||
|
|
||
|
$(FETCH_DIR)/go.src.tar.gz:
|
||
|
$(call fetch_file,$(GO_URL),$(GO_HASH))
|
||
|
|
||
|
$(CACHE_DIR)/bin/go: \
|
||
|
$(FETCH_DIR)/go.src.tar.gz
|
||
|
$(call toolchain," \
|
||
|
mkdir -p $(CACHE_DIR)/src/go $(CACHE_DIR)/lib/go $(CACHE_DIR)/bin \
|
||
|
&& tar -xf $< -C $(CACHE_DIR)/src \
|
||
|
&& export GOROOT="" GOROOT_FINAL="$(GOROOT)" \
|
||
|
&& env -C $(CACHE_DIR)/src/go/src \
|
||
|
./make.bash \
|
||
|
&& env -C $(CACHE_DIR)/src/go \
|
||
|
cp -a pkg src lib misc api test ../../lib/go \
|
||
|
&& cp $(CACHE_DIR)/src/go/bin/* $(CACHE_DIR)/bin \
|
||
|
")
|
||
|
|
||
|
$(FETCH_DIR)/talos.tar.gz:
|
||
|
$(call git_archive,$(TALOSCTL_REPO),$(TALOSCTL_REF))
|
||
|
|
||
|
$(OUT_DIR)/talosctl.linux-x86_64: \
|
||
|
$(FETCH_DIR)/talos.tar.gz \
|
||
|
$(CACHE_DIR)/bin/go
|
||
|
$(call toolchain," \
|
||
|
mkdir -p $(CACHE_DIR)/src/talosctl \
|
||
|
&& tar -xzf $< -C $(CACHE_DIR)/src/talosctl \
|
||
|
&& env -C $(CACHE_DIR)/src/talosctl \
|
||
|
go build -o /home/build/$@ ./cmd/talosctl \
|
||
|
")
|
||
|
|
||
|
$(FETCH_DIR)/kubernetes.tar.gz:
|
||
|
$(call git_archive,$(KUBERNETES_REPO),$(KUBERNETES_REF))
|
||
|
|
||
|
$(OUT_DIR)/kubectl.linux-x86_64: \
|
||
|
$(FETCH_DIR)/kubernetes.tar.gz \
|
||
|
$(CACHE_DIR)/bin/go
|
||
|
$(call toolchain," \
|
||
|
mkdir -p $(CACHE_DIR)/src/kubernetes \
|
||
|
&& tar -xvzf $< -C $(CACHE_DIR)/src/kubernetes \
|
||
|
&& env -C $(CACHE_DIR)/src/kubernetes \
|
||
|
go build -o /home/build/$@ ./cmd/kubectl \
|
||
|
")
|
||
|
|
||
|
$(FETCH_DIR)/sops.tar.gz:
|
||
|
$(call git_archive,$(SOPS_REPO),$(SOPS_REF))
|
||
|
|
||
|
$(OUT_DIR)/sops.linux-x86_64: \
|
||
|
$(FETCH_DIR)/sops.tar.gz \
|
||
|
$(CACHE_DIR)/bin/go
|
||
|
$(call toolchain," \
|
||
|
mkdir -p $(CACHE_DIR)/src/sops \
|
||
|
&& tar -xvzf $< -C $(CACHE_DIR)/src/sops \
|
||
|
&& env -C $(CACHE_DIR)/src/sops \
|
||
|
go build -o /home/build/$@ ./cmd/sops \
|
||
|
")
|
||
|
|
||
|
$(FETCH_DIR)/helm.tar.gz:
|
||
|
$(call git_archive,$(HELM_REPO),$(HELM_REF))
|
||
|
|
||
|
$(OUT_DIR)/helm.linux-x86_64: \
|
||
|
$(FETCH_DIR)/helm.tar.gz \
|
||
|
$(CACHE_DIR)/bin/go
|
||
|
$(call toolchain," \
|
||
|
mkdir -p $(CACHE_DIR)/src/helm \
|
||
|
&& tar -xvzf $< -C $(CACHE_DIR)/src/helm \
|
||
|
&& env -C $(CACHE_DIR)/src/helm \
|
||
|
go build -o /home/build/$@ ./cmd/helm \
|
||
|
")
|
||
|
|
||
|
$(FETCH_DIR)/ksops.tar.gz:
|
||
|
$(call git_archive,$(KSOPS_REPO),$(KSOPS_REF))
|
||
|
|
||
|
$(OUT_DIR)/ksops-exec.linux-x86_64: \
|
||
|
$(FETCH_DIR)/ksops.tar.gz \
|
||
|
$(CACHE_DIR)/bin/go
|
||
|
$(call toolchain," \
|
||
|
mkdir -p $(CACHE_DIR)/src/ksops \
|
||
|
&& tar -xvzf $< -C $(CACHE_DIR)/src/ksops \
|
||
|
&& env -C $(CACHE_DIR)/src/ksops \
|
||
|
go build -o /home/build/$@ \
|
||
|
")
|
||
|
|
||
|
$(FETCH_DIR)/terraform.tar.gz:
|
||
|
$(call git_archive,$(TERRAFORM_REPO),$(TERRAFORM_REF))
|
||
|
|
||
|
$(OUT_DIR)/terraform.linux-x86_64: \
|
||
|
$(FETCH_DIR)/terraform.tar.gz \
|
||
|
$(CACHE_DIR)/bin/go
|
||
|
$(call toolchain," \
|
||
|
mkdir -p $(CACHE_DIR)/src/terraform \
|
||
|
&& tar -xvzf $< -C $(CACHE_DIR)/src/terraform \
|
||
|
&& env -C $(CACHE_DIR)/src/terraform \
|
||
|
go build -o /home/build/$@ \
|
||
|
")
|
||
|
|
||
|
$(FETCH_DIR)/kustomize.tar.gz:
|
||
|
$(call git_archive,$(KUSTOMIZE_REPO),$(KUSTOMIZE_REF))
|
||
|
|
||
|
$(OUT_DIR)/kustomize.linux-x86_64: \
|
||
|
$(FETCH_DIR)/kustomize.tar.gz \
|
||
|
$(CACHE_DIR)/bin/go
|
||
|
$(call toolchain," \
|
||
|
mkdir -p $(CACHE_DIR)/src/kustomize \
|
||
|
&& tar -xvzf $< -C $(CACHE_DIR)/src/kustomize \
|
||
|
&& env -C $(CACHE_DIR)/src/kustomize/kustomize \
|
||
|
go build -o /home/build/$@ \
|
||
|
")
|