# Определяем операционную систему 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 - показать это сообщение"