# =============================== # Makefile для управления dnsmasq-конфигами # =============================== # --- Переменные окружения (с дефолтами для локального запуска) --- IPSET_CONF ?= /tmp/91-ipset-bbrkn.conf RESOLVE_CONF ?= /tmp/92-resolve-bbrkn.conf CHROME_SERVER ?= http://10.100.1.2:3000 DOMAINS_FILE ?= domains.txt # Экспортируем переменные, чтобы они были доступны внутри shell-скриптов export IPSET_CONF RESOLVE_CONF CHROME_SERVER DOMAINS_FILE # --- Основные цели --- .PHONY: all clean check generate deploy all: generate deploy @echo "✅ Конфиги успешно сгенерированы и задеплоены" clean: @echo "🧹 Очистка временных файлов" @rm -f $(IPSET_CONF) $(RESOLVE_CONF) check: @echo "🔍 Проверка файла доменов ($(DOMAINS_FILE))" @if [ ! -f "$(DOMAINS_FILE)" ]; then \ echo "Ошибка: файл $(DOMAINS_FILE) не найден"; \ exit 1; \ fi @grep -v '^#' $(DOMAINS_FILE) | grep -v '^$$' | while read domain; do \ if ! echo "$$domain" | grep -qE '^[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$$'; then \ echo "Ошибка: Неверный формат домена: $$domain"; \ exit 1; \ fi \ done @echo "✔ Файл доменов прошёл проверку" generate: @echo "⚙ Генерация dnsmasq-конфигов" @chmod +x scripts/generate-configs.sh @./scripts/generate-configs.sh deploy: @echo "🚀 Деплой конфигов в систему" @chmod +x scripts/deploy-to-gateway.sh @./scripts/deploy-to-gateway.sh