From 02a759a30013bce8d3409ec4e1e053a337973da2 Mon Sep 17 00:00:00 2001 From: Dalton Hubble Date: Sun, 10 Jul 2016 19:37:50 -0700 Subject: [PATCH] Makefile,scripts: Make platform-specific binary tarball targets --- Makefile | 47 ++++++++++++++++++++++--------------------- build | 4 ++-- scripts/release-files | 17 +++++++++++----- 3 files changed, 38 insertions(+), 30 deletions(-) diff --git a/Makefile b/Makefile index 886d70b9..c89bedfd 100644 --- a/Makefile +++ b/Makefile @@ -1,44 +1,45 @@ -BIN_DIR=/usr/local/bin +export CGO_ENABLED:=0 +LD_FLAGS="-w -X github.com/coreos/coreos-baremetal/bootcfg/version.Version=$(shell ./git-version)" +LOCAL_BIN=/usr/local/bin all: build +build: clean bin/bootcfg bin/bootcmd bin/bootcfg: - ./build + go build -o bin/bootcfg -ldflags $(LD_FLAGS) -a github.com/coreos/coreos-baremetal/cmd/bootcfg bin/bootcmd: - ./build + go build -o bin/bootcmd -ldflags $(LD_FLAGS) -a github.com/coreos/coreos-baremetal/cmd/bootcmd test: ./test install: - cp bin/bootcfg $(BIN_DIR) - cp bin/bootcmd $(BIN_DIR) - @echo "**************" - @echo "INSTALL SUCCESS" - @echo "**************" - @echo "bootcfg was installed to /usr/local/bin/bootcfg" - @echo "bootcmd was installed to /usr/local/bin/bootcmd" + cp bin/bootcfg $(LOCAL_BIN) + cp bin/bootcmd $(LOCAL_BIN) -uninstall: - rm $(BIN_DIR)/bootcfg - rm $(BIN_DIR)/bootcmd +release: clean _output/coreos-baremetal-linux-amd64.tar.gz _output/coreos-baremetal-darwin-amd64.tar.gz -release: clean _output/coreos-baremetal-linux-amd64.tar.gz +bin/%/bootcfg: + GOOS=$* go build -o bin/$*/bootcfg -ldflags $(LD_FLAGS) -a github.com/coreos/coreos-baremetal/cmd/bootcfg -_output/coreos-baremetal-%-amd64: - mkdir -p $@ +bin/%/bootcmd: + GOOS=$* go build -o bin/$*/bootcmd -ldflags $(LD_FLAGS) -a github.com/coreos/coreos-baremetal/cmd/bootcmd -_output/coreos-baremetal-%-amd64.tar.gz: bin/bootcfg bin/bootcmd | _output/coreos-baremetal-%-amd64 - ./scripts/release-files $| - tar zcvf $@ -C _output coreos-baremetal-$*-amd64 +_output/coreos-baremetal-%-amd64.tar.gz: NAME=coreos-baremetal-$(VERSION)-$*-amd64 +_output/coreos-baremetal-%-amd64.tar.gz: DEST=_output/$(NAME) +_output/coreos-baremetal-%-amd64.tar.gz: bin/%/bootcfg bin/%/bootcmd + mkdir -p $(DEST) + cp bin/$*/bootcfg $(DEST) + cp bin/$*/bootcmd $(DEST) + ./scripts/release-files $(DEST) + tar zcvf $(DEST).tar.gz -C _output $(NAME) clean: - rm bin/bootcfg - rm bin/bootcmd + rm -rf bin rm -rf _output -.PHONY: build clean install test +.PHONY: all build test install release clean +.SECONDARY: _output/coreos-baremetal-linux-amd64 _output/coreos-baremetal-darwin-amd64 -.SECONDARY: _output/coreos-baremetal-linux-amd64 diff --git a/build b/build index d0b027f6..e152286a 100755 --- a/build +++ b/build @@ -1,7 +1,7 @@ #!/bin/bash -e LD_FLAGS="-w -X github.com/coreos/coreos-baremetal/bootcfg/version.Version=$(./git-version)" -CGO_ENABLED=0 go build -o bin/bootcfg -ldflags "$LD_FLAGS" -a -tags netgo github.com/coreos/coreos-baremetal/cmd/bootcfg +CGO_ENABLED=0 go build -o bin/bootcfg -ldflags "$LD_FLAGS" -a github.com/coreos/coreos-baremetal/cmd/bootcfg # bootcmd CLI binary -CGO_ENABLED=0 go build -o bin/bootcmd -ldflags "$LD_FLAGS" -a -tags netgo github.com/coreos/coreos-baremetal/cmd/bootcmd +CGO_ENABLED=0 go build -o bin/bootcmd -ldflags "$LD_FLAGS" -a github.com/coreos/coreos-baremetal/cmd/bootcmd diff --git a/scripts/release-files b/scripts/release-files index 82399418..30006f1b 100755 --- a/scripts/release-files +++ b/scripts/release-files @@ -11,15 +11,13 @@ fi SCRIPTS=$DEST/scripts CONTRIB=$DEST/contrib -# binaries -mkdir -p $DEST -cp bin/bootcfg $DEST/bootcfg -cp bin/bootcmd $DEST/bootcmd +cp CHANGES.md $DEST +cp LICENSE $DEST +cp README.md $DEST # scripts mkdir -p $SCRIPTS/tls cp scripts/get-coreos $SCRIPTS - cp examples/etc/bootcfg/README.md $SCRIPTS/tls cp examples/etc/bootcfg/cert-gen $SCRIPTS/tls cp examples/etc/bootcfg/openssl.conf $SCRIPTS/tls @@ -27,3 +25,12 @@ cp examples/etc/bootcfg/openssl.conf $SCRIPTS/tls # systemd mkdir -p $CONTRIB/systemd cp contrib/systemd/bootcfg.service $CONTRIB/systemd + +# examples +mkdir -p $DEST/examples +cp -r examples/{cloud,groups,ignition,profiles,README.md} $DEST/examples + +# docs +mkdir -p $DEST/docs +cp -r Documentation $DEST/docs +