# Определяем операционную систему
ifeq ($(OS),Windows_NT)
    PLATFORM = Windows
    # На Windows используем PowerShell-скрипт
    DEPLOY_CMD = powershell -ExecutionPolicy Bypass -File ../deploy.ps1
    DRYRUN_CMD = powershell -ExecutionPolicy Bypass -File ../deploy.ps1
else
    PLATFORM = Unix
    # На Unix-подобных системах используем rsync
    HOST = kpa39l.myjino.ru
    PORT = 2222
    USERNAME = kpa39l_dedinit
    REMOTE_PATH = /domains/dedinit.ru
endif

.PHONY: build deploy deploy-dry-run clean rebuild help

build:
	hugo --minify
	@echo "Сайт успешно собран в папку public/"

deploy: build
ifeq ($(PLATFORM),Windows)
	$(DEPLOY_CMD)
else
	rsync -avz --delete -e 'ssh -p $(PORT)' public/ $(USERNAME)@$(HOST):$(REMOTE_PATH)/
endif

deploy-dry-run: build
ifeq ($(PLATFORM),Windows)
	@echo "Для Windows симуляция деплоя пока не реализована."
	@echo "Для реального деплоя используйте команду: make deploy"
else
	rsync -avn --delete -e 'ssh -p $(PORT)' public/ $(USERNAME)@$(HOST):$(REMOTE_PATH)/
endif

clean:
ifeq ($(OS),Windows_NT)
	del /q /s public\
else
	rm -rf public/
endif
	@echo "Папка public удалена"

rebuild: clean deploy

help:
	@echo "Доступные команды:"
	@echo "  make build           - собрать сайт"
	@echo "  make deploy          - собрать и задеплоить сайт"
	@echo "  make deploy-dry-run  - симуляция деплоя"
	@echo "  make clean           - удалить папку public"
	@echo "  make rebuild         - полная пересборка сайта"
	@echo "  make help            - показать это сообщение"