VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo dev) LDFLAGS := -s -w -X main.version=$(VERSION) DIST := dist PLATFORMS := \ linux/amd64 \ linux/arm64 \ darwin/amd64 \ darwin/arm64 \ windows/amd64 .PHONY: build dist clean build: CGO_ENABLED=0 go build -ldflags '$(LDFLAGS)' -o rb-search . dist: @rm -rf $(DIST) @mkdir -p $(DIST) @for plat in $(PLATFORMS); do \ os=$${plat%/*}; arch=$${plat#*/}; \ ext=""; if [ "$$os" = "windows" ]; then ext=".exe"; fi; \ name=rb-search-$(VERSION)-$$os-$$arch$$ext; \ echo " build $$name"; \ CGO_ENABLED=0 GOOS=$$os GOARCH=$$arch \ go build -trimpath -ldflags '$(LDFLAGS)' -o $(DIST)/$$name . || exit 1; \ done @cd $(DIST) && sha256sum rb-search-* > SHA256SUMS @echo "built artefacts:" @ls -lh $(DIST) clean: rm -rf $(DIST) rb-search