.PHONY: deploy clean help setup

# Configuration — override on the command line or in your environment, e.g.
#   make deploy REMOTE_HOST=homeassistant.local
REMOTE_HOST ?= homeassistant.local
REMOTE_PATH ?= /homeassistant/custom_components
REMOTE_USER ?= root
LOCAL_PATH = custom_components/celebright

# Default target
help:
	@echo "Celebright Home Assistant Integration - Makefile"
	@echo ""
	@echo "Available targets:"
	@echo "  make deploy  - Deploy integration to Home Assistant (set REMOTE_HOST)"
	@echo "  make setup   - Ensure remote directory exists with correct permissions"
	@echo "  make clean   - Remove Python cache files"
	@echo "  make help    - Show this help message"
	@echo ""
	@echo "Override REMOTE_HOST / REMOTE_PATH / REMOTE_USER for your own host."

# Ensure remote directory exists with correct permissions
setup:
	@echo "Setting up remote directory on $(REMOTE_HOST)..."
	@ssh $(REMOTE_HOST) "sudo mkdir -p $(REMOTE_PATH)/celebright && sudo chown -R $(REMOTE_USER):$(REMOTE_USER) $(REMOTE_PATH)/celebright"
	@echo "Setup complete!"

# Deploy integration to Home Assistant
deploy: setup
	@echo "Deploying Celebright integration to $(REMOTE_HOST)..."
	rsync -avz --delete \
		--exclude='__pycache__' \
		--exclude='*.pyc' \
		--exclude='.DS_Store' \
		--exclude='*.swp' \
		$(LOCAL_PATH)/ $(REMOTE_HOST):$(REMOTE_PATH)/celebright/
	@echo ""
	@echo "Deployment complete!"
	@echo "Remember to restart Home Assistant to load the changes."

# Clean Python cache files
clean:
	@echo "Cleaning Python cache files..."
	find $(LOCAL_PATH) -type d -name '__pycache__' -exec rm -rf {} + 2>/dev/null || true
	find $(LOCAL_PATH) -type f -name '*.pyc' -delete 2>/dev/null || true
	@echo "Clean complete!"
