diff --git a/Makefile b/Makefile index ac3085e..8d4c2ca 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,18 @@ APP_NAME := Coffee Crisis Arcade Edition RELEASE_FOLDER := ccae_release RELEASE_FILE := $(RELEASE_FOLDER)/$(TARGET_NAME) RESOURCE_FILE := release/coffee.res -VERSION := 2025-08-10 + +# Versión automática basada en la fecha actual +VERSION := $(shell date +%Y-%m-%d) + +# Variables específicas para Windows (usando APP_NAME) +ifeq ($(OS),Windows_NT) + WIN_TARGET_FILE := $(DIR_BIN)$(APP_NAME) + WIN_RELEASE_FILE := $(RELEASE_FOLDER)/$(APP_NAME) +else + WIN_TARGET_FILE := $(TARGET_FILE) + WIN_RELEASE_FILE := $(RELEASE_FILE) +endif # Nombres para los ficheros de lanzamiento WINDOWS_RELEASE := $(TARGET_NAME)-$(VERSION)-win32-x64.zip @@ -120,20 +131,24 @@ endif # Reglas para compilación windows: @echo off + @echo Compilando para Windows con nombre: "$(APP_NAME).exe" windres release/coffee.rc -O coff -o $(RESOURCE_FILE) - $(CXX) $(APP_SOURCES) $(RESOURCE_FILE) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) -o "$(TARGET_FILE).exe" - strip -s -R .comment -R .gnu.version "$(TARGET_FILE).exe" --strip-unneeded + $(CXX) $(APP_SOURCES) $(RESOURCE_FILE) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) -o "$(WIN_TARGET_FILE).exe" + strip -s -R .comment -R .gnu.version "$(WIN_TARGET_FILE).exe" --strip-unneeded windows_rec: @echo off - $(CXX) $(APP_SOURCES) $(INCLUDES) -DRECORDING $(CXXFLAGS) $(LDFLAGS) -o "$(TARGET_FILE)_rec.exe" + @echo Compilando version de grabacion para Windows: "$(APP_NAME)_rec.exe" + $(CXX) $(APP_SOURCES) $(INCLUDES) -DRECORDING $(CXXFLAGS) $(LDFLAGS) -o "$(WIN_TARGET_FILE)_rec.exe" windows_debug: @echo off - $(CXX) $(APP_SOURCES) $(INCLUDES) -DDEBUG -DVERBOSE $(CXXFLAGS_DEBUG) $(LDFLAGS) -o "$(TARGET_FILE)_debug.exe" + @echo Compilando version debug para Windows: "$(APP_NAME)_debug.exe" + $(CXX) $(APP_SOURCES) $(INCLUDES) -DDEBUG -DVERBOSE $(CXXFLAGS_DEBUG) $(LDFLAGS) -o "$(WIN_TARGET_FILE)_debug.exe" windows_release: @echo off + @echo Creando release para Windows - Version: $(VERSION) # Crea carpeta temporal 'RELEASE_FOLDER' powershell if (Test-Path "$(RELEASE_FOLDER)") {Remove-Item "$(RELEASE_FOLDER)" -Recurse -Force} @@ -149,23 +164,27 @@ windows_release: # Compila windres release/coffee.rc -O coff -o $(RESOURCE_FILE) - $(CXX) $(APP_SOURCES) $(RESOURCE_FILE) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FILE).exe" - strip -s -R .comment -R .gnu.version "$(RELEASE_FILE).exe" --strip-unneeded + $(CXX) $(APP_SOURCES) $(RESOURCE_FILE) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) -o "$(WIN_RELEASE_FILE).exe" + strip -s -R .comment -R .gnu.version "$(WIN_RELEASE_FILE).exe" --strip-unneeded # Crea el fichero .zip powershell if (Test-Path "$(WINDOWS_RELEASE)") {Remove-Item "$(WINDOWS_RELEASE)"} powershell Compress-Archive -Path "$(RELEASE_FOLDER)"/* -DestinationPath "$(WINDOWS_RELEASE)" + @echo Release creado: $(WINDOWS_RELEASE) # Elimina la carpeta temporal 'RELEASE_FOLDER' powershell if (Test-Path "$(RELEASE_FOLDER)") {Remove-Item "$(RELEASE_FOLDER)" -Recurse -Force} macos: + @echo "Compilando para macOS: $(TARGET_NAME)" $(CXX) $(APP_SOURCES) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) -o "$(TARGET_FILE)" macos_debug: + @echo "Compilando version debug para macOS: $(TARGET_NAME)_debug" $(CXX) $(APP_SOURCES) $(INCLUDES) -DDEBUG -DVERBOSE $(CXXFLAGS_DEBUG) $(LDFLAGS) -o "$(TARGET_FILE)_debug" macos_release: + @echo "Creando release para macOS - Version: $(VERSION)" # Elimina datos de compilaciones anteriores $(RMDIR) "$(RELEASE_FOLDER)" $(RMDIR) Frameworks @@ -202,6 +221,7 @@ ifdef ENABLE_MACOS_X86_64 hdiutil create tmp.dmg -ov -volname "$(APP_NAME)" -fs HFS+ -srcfolder "$(RELEASE_FOLDER)" hdiutil convert tmp.dmg -format UDZO -o "$(MACOS_INTEL_RELEASE)" $(RMFILE) tmp.dmg + @echo "Release Intel creado: $(MACOS_INTEL_RELEASE)" endif # Compila la versión para procesadores Apple Silicon @@ -214,19 +234,23 @@ endif hdiutil create tmp.dmg -ov -volname "$(APP_NAME)" -fs HFS+ -srcfolder "$(RELEASE_FOLDER)" hdiutil convert tmp.dmg -format UDZO -o "$(MACOS_APPLE_SILICON_RELEASE)" $(RMFILE) tmp.dmg + @echo "Release Apple Silicon creado: $(MACOS_APPLE_SILICON_RELEASE)" # Elimina las carpetas temporales $(RMDIR) Frameworks $(RMDIR) "$(RELEASE_FOLDER)" linux: + @echo "Compilando para Linux: $(TARGET_NAME)" $(CXX) $(APP_SOURCES) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) -o "$(TARGET_FILE)" strip -s -R .comment -R .gnu.version "$(TARGET_FILE)" --strip-unneeded linux_debug: + @echo "Compilando version debug para Linux: $(TARGET_NAME)_debug" $(CXX) $(APP_SOURCES) $(INCLUDES) -DDEBUG -DVERBOSE $(CXXFLAGS_DEBUG) $(LDFLAGS) -o "$(TARGET_FILE)_debug" linux_release: + @echo "Creando release para Linux - Version: $(VERSION)" # Elimina carpetas previas $(RMDIR) "$(RELEASE_FOLDER)" @@ -245,18 +269,22 @@ linux_release: # Empaqueta ficheros $(RMFILE) "$(LINUX_RELEASE)" tar -czvf "$(LINUX_RELEASE)" -C "$(RELEASE_FOLDER)" . + @echo "Release creado: $(LINUX_RELEASE)" # Elimina la carpeta temporal $(RMDIR) "$(RELEASE_FOLDER)" raspi: + @echo "Compilando para Raspberry Pi: $(TARGET_NAME)" $(CXX) $(APP_SOURCES) $(INCLUDES) -DVERBOSE $(CXXFLAGS) $(LDFLAGS) -o $(TARGET_FILE) strip -s -R .comment -R .gnu.version $(TARGET_FILE) --strip-unneeded raspi_debug: + @echo "Compilando version debug para Raspberry Pi: $(TARGET_NAME)_debug" $(CXX) $(APP_SOURCES) $(INCLUDES) -DVERBOSE -DDEBUG $(CXXFLAGS_DEBUG) $(LDFLAGS) -o "$(TARGET_FILE)_debug" raspi_release: + @echo "Creando release para Raspberry Pi - Version: $(VERSION)" # Elimina carpetas previas $(RMDIR) "$(RELEASE_FOLDER)" @@ -275,11 +303,13 @@ raspi_release: # Empaqueta ficheros $(RMFILE) "$(RASPI_RELEASE)" tar -czvf "$(RASPI_RELEASE)" -C "$(RELEASE_FOLDER)" . + @echo "Release creado: $(RASPI_RELEASE)" # Elimina la carpeta temporal $(RMDIR) "$(RELEASE_FOLDER)" anbernic: + @echo "Compilando para Anbernic: $(TARGET_NAME)" # Elimina carpetas previas $(RMDIR) "$(RELEASE_FOLDER)"_anbernic @@ -294,6 +324,31 @@ anbernic: # Opción para deshabilitar audio (equivalente a la opción DISABLE_AUDIO de CMake) no_audio: + @echo "Compilando sin audio: $(TARGET_NAME)_no_audio" $(CXX) $(filter-out source/external/jail_audio.cpp,$(APP_SOURCES)) $(INCLUDES) -DNO_AUDIO $(CXXFLAGS) $(LDFLAGS) -o "$(TARGET_FILE)_no_audio" -.PHONY: windows windows_rec windows_debug windows_release macos macos_debug macos_release linux linux_debug linux_release raspi raspi_debug raspi_release anbernic no_audio \ No newline at end of file +# Regla para mostrar la versión actual +show_version: + @echo "Version actual: $(VERSION)" + +# Regla de ayuda +help: + @echo "Makefile para Coffee Crisis Arcade Edition" + @echo "Comandos disponibles:" + @echo " windows - Compilar para Windows" + @echo " windows_debug - Compilar debug para Windows" + @echo " windows_release - Crear release completo para Windows" + @echo " linux - Compilar para Linux" + @echo " linux_debug - Compilar debug para Linux" + @echo " linux_release - Crear release completo para Linux" + @echo " macos - Compilar para macOS" + @echo " macos_debug - Compilar debug para macOS" + @echo " macos_release - Crear release completo para macOS" + @echo " raspi - Compilar para Raspberry Pi" + @echo " raspi_release - Crear release completo para Raspberry Pi" + @echo " anbernic - Compilar para Anbernic" + @echo " no_audio - Compilar sin sistema de audio" + @echo " show_version - Mostrar version actual ($(VERSION))" + @echo " help - Mostrar esta ayuda" + +.PHONY: windows windows_rec windows_debug windows_release macos macos_debug macos_release linux linux_debug linux_release raspi raspi_debug raspi_release anbernic no_audio show_version help \ No newline at end of file diff --git a/release/coffee.res b/release/coffee.res index 0a9d008..931cc1a 100644 Binary files a/release/coffee.res and b/release/coffee.res differ