all: go mod tidy go build -ldflags="-s -w" -trimpath -o ./dist/envy . clean: rm -rf ./dist dev: go build -o ./dist/envy . BINARY := myapp VERSION := $(shell git describe --tags --always --dirty) OUTPUT := dist GOOSARCHES = \ linux/amd64 \ linux/arm64 \ darwin/amd64 \ darwin/arm64 \ windows/amd64 \ windows/arm64 prod: @echo "==> Building version $(VERSION)" @mkdir -p $(OUTPUT) @for platform in $(GOOSARCHES); do \ OS=$${platform%/*}; \ ARCH=$${platform#*/}; \ EXT=""; \ if [ $$OS = "windows" ]; then EXT=".exe"; fi; \ OUTFILE=$(OUTPUT)/$(BINARY)-$(VERSION)-$$OS-$$ARCH$$EXT; \ echo " -> $$OS/$$ARCH"; \ GOOS=$$OS GOARCH=$$ARCH go build -ldflags="-s -w" -trimpath -o $$OUTFILE . || exit 1; \ done