# Определяем операционную систему
ifeq ($(OS),Windows_NT)
    PLATFORM = Windows
    # На Windows используем WinSCP.com для SFTP
    WINSCP_PATH = "C:\Program Files (x86)\WinSCP\WinSCP.com"
    DEPLOY_CMD = $(WINSCP_PATH) /script=winscp_script.txt
    DRYRUN_CMD = echo "Windows: проверка SFTP-соединения..."
else
    PLATFORM = Unix
    # На Unix-подобных системах используем rsync для SFTP
    HOST = kpa39l.myjino.ru
    PORT = 2222
    USERNAME = kpa39l_dedinit
    REMOTE_PATH = /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 "Выполняем проверку соединения с сервером..."
	$(DRYRUN_CMD)
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            - показать это сообщение"