# Makefile para herramientas de Coffee Crisis Arcade Edition # ========================================================= # Variables CXX := g++ CXXFLAGS := -std=c++17 -Wall -Os -I../ SOURCES := pack_resources.cpp ../source/resource_pack.cpp TARGET := pack_resources CLEAN_FILES := pack_resources *.pack *.o # Detectar sistema operativo ifeq ($(OS),Windows_NT) DETECTED_OS := Windows TARGET := $(TARGET).exe CLEAN_CMD := del /Q FixPath = $(subst /,\\,$1) else DETECTED_OS := $(shell uname -s) CLEAN_CMD := rm -f FixPath = $1 endif # Reglas principales .PHONY: all pack_tool clean help test_pack # Compilar herramienta de empaquetado all: pack_tool pack_tool: @echo "Compilando herramienta de empaquetado para $(DETECTED_OS)..." $(CXX) $(CXXFLAGS) $(SOURCES) -o $(TARGET) @echo "✓ Herramienta compilada: $(TARGET)" # Limpiar archivos generados clean: @echo "Limpiando archivos generados..." $(CLEAN_CMD) $(call FixPath,$(CLEAN_FILES)) @echo "✓ Archivos limpiados" # Crear pack de recursos de prueba test_pack: pack_tool @echo "Creando pack de recursos de prueba..." ifeq ($(OS),Windows_NT) .\$(TARGET) ..\data test_resources.pack else ./$(TARGET) ../data test_resources.pack endif @echo "✓ Pack de prueba creado: test_resources.pack" # Crear pack de recursos final create_pack: pack_tool @echo "Creando pack de recursos final..." ifeq ($(OS),Windows_NT) .\$(TARGET) ..\data ..\resources.pack else ./$(TARGET) ../data ../resources.pack endif @echo "✓ Pack final creado: ../resources.pack" # Mostrar ayuda help: @echo "Makefile para herramientas de Coffee Crisis Arcade Edition" @echo "=========================================================" @echo "" @echo "Comandos disponibles:" @echo " all - Compilar herramienta de empaquetado (por defecto)" @echo " pack_tool - Compilar herramienta de empaquetado" @echo " test_pack - Crear pack de recursos de prueba" @echo " create_pack - Crear pack de recursos final" @echo " clean - Limpiar archivos generados" @echo " help - Mostrar esta ayuda" @echo "" @echo "Ejemplos de uso:" @echo " make # Compilar herramienta" @echo " make test_pack # Crear pack de prueba" @echo " make create_pack # Crear pack final" @echo " make clean # Limpiar archivos"