mirror of
https://github.com/int128/kubelogin.git
synced 2026-05-16 12:56:35 +00:00
50 lines
1.0 KiB
Makefile
50 lines
1.0 KiB
Makefile
PRODUCT := kubelogin
|
|
TARGET_ARCHIVE := $(PRODUCT)_$(GOOS)_$(GOARCH).zip
|
|
TARGET_DIGEST := $(PRODUCT)_$(GOOS)_$(GOARCH).zip.sha256
|
|
|
|
ifeq ($(GOOS), windows)
|
|
TARGET := $(PRODUCT).exe
|
|
else
|
|
TARGET := $(PRODUCT)
|
|
endif
|
|
|
|
# determine the version from ref
|
|
ifeq ($(GITHUB_REF), refs/heads/master)
|
|
VERSION := latest
|
|
else
|
|
VERSION ?= $(notdir $(GITHUB_REF))
|
|
endif
|
|
|
|
LDFLAGS := -X main.version=$(VERSION)
|
|
|
|
all: $(TARGET)
|
|
|
|
$(TARGET):
|
|
go build -o $@ -ldflags "$(LDFLAGS)"
|
|
|
|
.PHONY: dist
|
|
dist: $(TARGET_ARCHIVE) $(TARGET_DIGEST)
|
|
$(TARGET_ARCHIVE): $(TARGET)
|
|
ifeq ($(GOOS), windows)
|
|
powershell Compress-Archive -Path $(TARGET),LICENSE,README.md -DestinationPath $@
|
|
else
|
|
zip $@ $(TARGET) LICENSE README.md
|
|
endif
|
|
|
|
$(TARGET_DIGEST): $(TARGET_ARCHIVE)
|
|
ifeq ($(GOOS), darwin)
|
|
shasum -a 256 -b $(TARGET_ARCHIVE) > $@
|
|
else
|
|
sha256sum -b $(TARGET_ARCHIVE) > $@
|
|
endif
|
|
|
|
.PHONY: dist-release
|
|
dist-release: dist
|
|
gh release upload $(VERSION) $(TARGET_ARCHIVE) $(TARGET_DIGEST) --clobber
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
-rm $(TARGET)
|
|
-rm -r dist/output/
|
|
-rm coverage.out gotest.log
|