.PHONY: build build-all clean test install

# Binary name
BINARY=imapdown

# Build flags for smaller binaries
LDFLAGS=-ldflags="-s -w"

# Build for current platform
build:
	go build $(LDFLAGS) -o $(BINARY)

# Cross-compile for multiple platforms
build-all:
	GOOS=linux GOARCH=amd64 go build $(LDFLAGS) -o $(BINARY)-linux-amd64
	GOOS=linux GOARCH=arm64 go build $(LDFLAGS) -o $(BINARY)-linux-arm64
	GOOS=darwin GOARCH=amd64 go build $(LDFLAGS) -o $(BINARY)-darwin-amd64
	GOOS=darwin GOARCH=arm64 go build $(LDFLAGS) -o $(BINARY)-darwin-arm64
	GOOS=windows GOARCH=amd64 go build $(LDFLAGS) -o $(BINARY)-windows-amd64.exe

# Clean build artifacts
clean:
	rm -f $(BINARY)
	rm -f $(BINARY)-*

# Run tests
test:
	go test -v ./...

# Install to $GOPATH/bin
install:
	go install $(LDFLAGS)
