77 lines
2.3 KiB
Makefile
77 lines
2.3 KiB
Makefile
# Makefile para herramientas de Coffee Crisis Arcade Edition
|
|
# =========================================================
|
|
|
|
# Variables
|
|
CXX := g++
|
|
CXXFLAGS := -std=c++20 -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"
|