From 4aa6693f51f23c3fd3ff14f13ef30e777ba0c632 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Sun, 23 Nov 2025 21:49:33 +0100 Subject: [PATCH] correccions en el Makefile de windows --- Makefile | 14 ++++++++++---- release/{ => dll}/SDL3.dll | Bin release/dll/libwinpthread-1.dll | Bin 0 -> 52224 bytes source/project.h | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) rename release/{ => dll}/SDL3.dll (100%) create mode 100644 release/dll/libwinpthread-1.dll diff --git a/Makefile b/Makefile index 7128eb7..6891060 100644 --- a/Makefile +++ b/Makefile @@ -9,8 +9,13 @@ DIR_TOOLS := $(addsuffix /, $(DIR_ROOT)tools) # ============================================================================== # TARGET NAMES (extraídos de CMakeLists.txt) # ============================================================================== -TARGET_NAME := $(shell awk '/^project/ {gsub(/[)(]/, " "); print $$2}' CMakeLists.txt) -LONG_NAME := $(shell grep 'PROJECT_LONG_NAME' CMakeLists.txt | sed 's/.*"\(.*\)".*/\1/') +ifeq ($(OS),Windows_NT) + TARGET_NAME := $(shell powershell -Command "$$line = Get-Content CMakeLists.txt | Where-Object {$$_ -match '^project'}; if ($$line -match 'project\s*\x28(\w+)') { $$matches[1] }") + LONG_NAME := $(shell powershell -Command "$$line = Get-Content CMakeLists.txt | Where-Object {$$_ -match 'PROJECT_LONG_NAME'}; if ($$line -match '\"(.+)\"') { $$matches[1] }") +else + TARGET_NAME := $(shell awk '/^project/ {gsub(/[)(]/, " "); print $$2}' CMakeLists.txt) + LONG_NAME := $(shell grep 'PROJECT_LONG_NAME' CMakeLists.txt | sed 's/.*"\(.*\)".*/\1/') +endif TARGET_FILE := $(DIR_BIN)$(TARGET_NAME) APP_NAME := $(LONG_NAME) RELEASE_FOLDER := $(TARGET_NAME)_release @@ -180,7 +185,8 @@ windows: windows_debug: @echo off @echo Compilando version debug para Windows: "$(WIN_TARGET_FILE)_debug.exe" - g++ $(ALL_SOURCES) $(INCLUDES) -DDEBUG -DVERBOSE $(CXXFLAGS_DEBUG) $(LDFLAGS) -o "$(WIN_TARGET_FILE)_debug.exe" + windres release/$(TARGET_NAME).rc -O coff -o $(RESOURCE_FILE) + g++ $(ALL_SOURCES) $(RESOURCE_FILE) $(INCLUDES) -DDEBUG -DVERBOSE $(CXXFLAGS_DEBUG) $(LDFLAGS) -o "$(WIN_TARGET_FILE)_debug.exe" windows_release: @$(MAKE) pack_tool @@ -203,7 +209,7 @@ windows_release: powershell Copy-Item "LICENSE" -Destination "$(RELEASE_FOLDER)" powershell Copy-Item "README.md" -Destination "$(RELEASE_FOLDER)" powershell Copy-Item "gamecontrollerdb.txt" -Destination "$(RELEASE_FOLDER)" - powershell Copy-Item "release\*.dll" -Destination "$(RELEASE_FOLDER)" + powershell Copy-Item "release\dll\*.dll" -Destination "$(RELEASE_FOLDER)" # Compila (con icono) windres release/$(TARGET_NAME).rc -O coff -o $(RESOURCE_FILE) diff --git a/release/SDL3.dll b/release/dll/SDL3.dll similarity index 100% rename from release/SDL3.dll rename to release/dll/SDL3.dll diff --git a/release/dll/libwinpthread-1.dll b/release/dll/libwinpthread-1.dll new file mode 100644 index 0000000000000000000000000000000000000000..500de9d437511c3823ec62843d2532f5437f296f GIT binary patch literal 52224 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