fix: исправлены роуты веб-сервера и обновлён Makefile
- Убран дублирующийся роут /favicon.ico - Добавлен импорт ServeDir - Makefile: поддержка ImageMagick 6 и 7 - Добавлена цель favicon
This commit is contained in:
52
makefile
52
makefile
@@ -1,4 +1,4 @@
|
||||
.PHONY: all clean build-mac build-windows build-linux build-linux-musl package help quick package-single
|
||||
.PHONY: all clean build-mac build-windows build-linux build-linux-musl package help quick package-single icons favicon
|
||||
|
||||
# Название проекта
|
||||
PROJECT_NAME := ae_anons
|
||||
@@ -18,11 +18,14 @@ BLUE := \033[0;34m
|
||||
CYAN := \033[0;36m
|
||||
MAGENTA := \033[0;35m
|
||||
BOLD := \033[1m
|
||||
NC := \033[0m # No Color
|
||||
NC := \033[0m
|
||||
|
||||
# Файл для хранения времени сборки
|
||||
TIMING_FILE := .build_timing
|
||||
|
||||
# Определение команды ImageMagick (v6 = convert, v7 = magick)
|
||||
IMAGEMAGICK := $(shell command -v magick 2>/dev/null || command -v convert 2>/dev/null || echo "false")
|
||||
|
||||
help:
|
||||
@echo "$(BOLD)$(CYAN)AE Anons - Makefile команды$(NC)"
|
||||
@echo ""
|
||||
@@ -41,6 +44,10 @@ help:
|
||||
@echo " make package - Создать пакеты для всех платформ"
|
||||
@echo " make package-single - Создать пакет для текущей платформы"
|
||||
@echo ""
|
||||
@echo "$(GREEN)Иконки:$(NC)"
|
||||
@echo " make icons - Создать все иконки (logo.ico, logo.icns, favicon.ico)"
|
||||
@echo " make favicon - Создать только favicon.ico"
|
||||
@echo ""
|
||||
@echo "$(GREEN)Очистка:$(NC)"
|
||||
@echo " make clean - Очистить все сборки"
|
||||
@echo " make clean-timing - Очистить файл с временами сборки"
|
||||
@@ -49,14 +56,12 @@ help:
|
||||
# ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ
|
||||
# ============================================
|
||||
|
||||
# Копирование общих файлов в пакет
|
||||
define copy_common_files
|
||||
@cp .env.example $(1)/ 2>/dev/null || true
|
||||
@cp README.md $(1)/ 2>/dev/null || true
|
||||
@if [ -f LICENSE ]; then cp LICENSE $(1)/; else echo "$(YELLOW)⚠️ LICENSE не найден, пропускаем$(NC)"; fi
|
||||
endef
|
||||
|
||||
# Функция для замера времени
|
||||
define measure_time
|
||||
@start=$$(date +%s); \
|
||||
$(2); \
|
||||
@@ -66,7 +71,6 @@ define measure_time
|
||||
echo "$(GREEN)✓ $(1) завершён за $$duration сек$(NC)"
|
||||
endef
|
||||
|
||||
# Функция для вывода итоговой таблицы
|
||||
define print_timing_summary
|
||||
@echo ""
|
||||
@echo "$(BOLD)$(CYAN)═══════════════════════════════════════════════════════════════$(NC)"
|
||||
@@ -88,6 +92,43 @@ define print_timing_summary
|
||||
@rm -f $(TIMING_FILE)
|
||||
endef
|
||||
|
||||
# ============================================
|
||||
# ИКОНКИ
|
||||
# ============================================
|
||||
|
||||
icons: favicon
|
||||
@echo "$(GREEN)Создание иконок для Windows и macOS...$(NC)"
|
||||
@if [ "$(IMAGEMAGICK)" = "false" ]; then \
|
||||
echo "$(RED)❌ ImageMagick не установлен. Установите: brew install imagemagick$(NC)"; \
|
||||
exit 1; \
|
||||
fi
|
||||
# Windows .ico
|
||||
@$(IMAGEMAGICK) assets/logo.png -define icon:auto-resize=256,128,64,48,32,16 assets/logo.ico
|
||||
@echo "$(GREEN) ✓ assets/logo.ico$(NC)"
|
||||
# macOS .icns
|
||||
@mkdir -p assets/icon.iconset
|
||||
@sips -z 16 16 assets/logo.png --out assets/icon.iconset/icon_16x16.png 2>/dev/null
|
||||
@sips -z 32 32 assets/logo.png --out assets/icon.iconset/icon_16x16@2x.png 2>/dev/null
|
||||
@sips -z 32 32 assets/logo.png --out assets/icon.iconset/icon_32x32.png 2>/dev/null
|
||||
@sips -z 64 64 assets/logo.png --out assets/icon.iconset/icon_32x32@2x.png 2>/dev/null
|
||||
@sips -z 128 128 assets/logo.png --out assets/icon.iconset/icon_128x128.png 2>/dev/null
|
||||
@sips -z 256 256 assets/logo.png --out assets/icon.iconset/icon_128x128@2x.png 2>/dev/null
|
||||
@sips -z 256 256 assets/logo.png --out assets/icon.iconset/icon_256x256.png 2>/dev/null
|
||||
@sips -z 512 512 assets/logo.png --out assets/icon.iconset/icon_256x256@2x.png 2>/dev/null
|
||||
@sips -z 512 512 assets/logo.png --out assets/icon.iconset/icon_512x512.png 2>/dev/null
|
||||
@iconutil -c icns assets/icon.iconset -o assets/logo.icns 2>/dev/null
|
||||
@rm -rf assets/icon.iconset
|
||||
@echo "$(GREEN) ✓ assets/logo.icns$(NC)"
|
||||
|
||||
favicon:
|
||||
@echo "$(GREEN)Создание favicon.ico...$(NC)"
|
||||
@if [ "$(IMAGEMAGICK)" = "false" ]; then \
|
||||
echo "$(RED)❌ ImageMagick не установлен. Установите: brew install imagemagick$(NC)"; \
|
||||
exit 1; \
|
||||
fi
|
||||
@$(IMAGEMAGICK) assets/logo.png -define icon:auto-resize=48,32,16 src/static/favicon.ico
|
||||
@echo "$(GREEN) ✓ src/static/favicon.ico$(NC)"
|
||||
|
||||
# ============================================
|
||||
# ОПРЕДЕЛЕНИЕ ПЛАТФОРМЫ
|
||||
# ============================================
|
||||
@@ -113,7 +154,6 @@ endif
|
||||
|
||||
quick: detect-platform
|
||||
|
||||
# Быстрая сборка без упаковки (только бинарник)
|
||||
quick-release:
|
||||
ifeq ($(UNAME_S),Darwin)
|
||||
@echo "$(GREEN)🍎 Сборка для macOS...$(NC)"
|
||||
|
||||
Reference in New Issue
Block a user