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