70 lines
5.5 KiB
Makefile
70 lines
5.5 KiB
Makefile
# -----------------------------------------------------------------------------
|
|
# CONFIGURACIÓN DE RUTAS
|
|
# -----------------------------------------------------------------------------
|
|
USER_HOME := $(shell eval echo ~$$USER)
|
|
PROJECT_DIR := $(shell pwd)
|
|
WORK_DIR := $(USER_HOME)/archiso-build
|
|
OUT_DIR := $(PROJECT_DIR)/out
|
|
SUDO := sudo
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# PALETA DE COLORES (Estética de la más alta calidad ;P)
|
|
# -----------------------------------------------------------------------------
|
|
CLR_RESET := \033[0m
|
|
CLR_CYAN := \033[1;36m
|
|
CLR_GREEN := \033[1;32m
|
|
CLR_YELLOW := \033[1;33m
|
|
CLR_RED := \033[1;31m
|
|
CLR_MAGENTA := \033[1;35m
|
|
CLR_BG_DARK := \033[48;5;234m
|
|
|
|
.PHONY: all clean iso info directories
|
|
|
|
all: info iso
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# IMPRESIÓN DEL BANNER (usando printf para evitar ciertos... errores, jejejeje)
|
|
# -----------------------------------------------------------------------------
|
|
info:
|
|
@clear
|
|
@printf "$(CLR_CYAN) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ $(CLR_RESET)\n"
|
|
@printf "$(CLR_MAGENTA) █████╗ ████████╗ ██████╗ ███╗ ███╗██╗ ██████╗ $(CLR_CYAN)██╗ ██╗███╗ ██╗██╗ ██╗██╗ ██╗$(CLR_RESET)\n"
|
|
@printf "$(CLR_MAGENTA) ██╔══██╗╚══██╔══╝██╔═══██╗████╗ ████║██║██╔════╝ $(CLR_CYAN)██║ ██║████╗ ██║██║ ██║╚██╗██╔╝$(CLR_RESET)\n"
|
|
@printf "$(CLR_MAGENTA) ███████║ ██║ ██║ ██║██╔████╔██║██║██║ $(CLR_CYAN)██║ ██║██╔██╗ ██║██║ ██║ ╚███╔╝ $(CLR_RESET)\n"
|
|
@printf "$(CLR_MAGENTA) ██╔══██║ ██║ ██║ ██║██║╚██╔╝██║██║██║ $(CLR_CYAN)██║ ██║██║╚██╗██║██║ ██║ ██╔██╗ $(CLR_RESET)\n"
|
|
@printf "$(CLR_MAGENTA) ██║ ██║ ██║ ╚██████╔╝██║ ╚═╝ ██║██║╚██████╗ $(CLR_CYAN)███████╗██║██║ ╚████║╚██████╔╝██╔╝ ██╗$(CLR_RESET)\n"
|
|
@printf "$(CLR_MAGENTA) ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═════╝ $(CLR_CYAN)╚══════╝╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝$(CLR_RESET)\n"
|
|
@printf "$(CLR_CYAN) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ $(CLR_RESET)\n"
|
|
@printf "$(CLR_GREEN) ⚛ Código Fuente:$(CLR_RESET) %s\n" "$(PROJECT_DIR)"
|
|
@printf "$(CLR_GREEN) 🛠️ Caché de Compilación (Externa):$(CLR_RESET) %s/\n" "$(WORK_DIR)"
|
|
@printf "$(CLR_GREEN) 📦 Destino de la ISO (Local):$(CLR_RESET) %s/\n" "$(OUT_DIR)"
|
|
@printf "$(CLR_CYAN) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ $(CLR_RESET)\n"
|
|
|
|
directories:
|
|
@mkdir -p $(WORK_DIR)
|
|
@mkdir -p $(OUT_DIR)
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# NÚCLEO DE COMPILACIÓN (PELIGRO)
|
|
# -----------------------------------------------------------------------------
|
|
iso: info directories
|
|
@echo -e "$(CLR_CYAN)[+]$(CLR_RESET) Sincronizando directorios de desarrollo..."
|
|
@echo -e "\n$(CLR_YELLOW)🚀 Iniciando Atomic Build Engine(core)...$(CLR_RESET)"
|
|
@echo -e "$(CLR_BG_DARK)$(CLR_RED)⚠️ Se requieren privilegios sudo para montar los entornos chroot:$(CLR_RESET)"
|
|
|
|
@$(SUDO) mkarchiso -v -w $(WORK_DIR) -o $(OUT_DIR) $(PROJECT_DIR)
|
|
|
|
@if [ $$? -eq 0 ]; then \
|
|
echo -e "\n$(CLR_GREEN)████████████████████████████████████████████████████████████$(CLR_RESET)"; \
|
|
echo -e "$(CLR_GREEN)✔ ¡COMPILACIÓN COMPLETADA CON ÉXITO!$(CLR_RESET)"; \
|
|
echo -e "$(CLR_GREEN)📦 Tu ISO lista en: $(OUT_DIR)/$(CLR_RESET)"; \
|
|
echo -e "$(CLR_GREEN)████████████████████████████████████████████████████████████$(CLR_RESET)"; \
|
|
else \
|
|
echo -e "\n$(CLR_RED)❌ ERROR CRÍTICO: La compilación de Atomic-Linux ha fallado.$(CLR_RESET)"; \
|
|
exit 1; \
|
|
fi
|
|
|
|
clean: info
|
|
@echo -e "$(CLR_YELLOW)[!] Purgando archivos pesados de compilación en $(WORK_DIR)...$(CLR_RESET)"
|
|
@$(SUDO) rm -rf $(WORK_DIR)
|
|
@echo -e "$(CLR_GREEN)✔ Todo limpio. Sistema listo para compilar desde cero.$(CLR_RESET)"
|