|
|
@@ -84,9 +84,18 @@ else
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
.PHONY: all debug release _windows-release _macos-release _linux-release \
|
|
|
|
.PHONY: all debug release _windows-release _macos-release _linux-release \
|
|
|
|
run run-debug clean rebuild show-version pack \
|
|
|
|
run run-debug clean rebuild show-version pack controllerdb \
|
|
|
|
format format-check tidy tidy-fix cppcheck hooks-install help
|
|
|
|
format format-check tidy tidy-fix cppcheck hooks-install help
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Còpia del gamecontrollerdb.txt (si existeix) al directori de build, perquè
|
|
|
|
|
|
|
|
# director.cpp el resolgui via resource_base = directori de l'executable.
|
|
|
|
|
|
|
|
# Silenciós si el fitxer no existeix (l'usuari encara no ha fet `make controllerdb`).
|
|
|
|
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
|
|
|
|
|
|
CP_CONTROLLERDB = @powershell -Command "if (Test-Path 'gamecontrollerdb.txt') { Copy-Item 'gamecontrollerdb.txt' -Destination '$(BUILDDIR)' -Force }"
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
CP_CONTROLLERDB = @if [ -f gamecontrollerdb.txt ]; then cp gamecontrollerdb.txt $(BUILDDIR)/; fi
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
# ==============================================================================
|
|
|
|
# ==============================================================================
|
|
|
|
# COMPILACIÓ
|
|
|
|
# COMPILACIÓ
|
|
|
|
# ==============================================================================
|
|
|
|
# ==============================================================================
|
|
|
@@ -98,10 +107,12 @@ endif
|
|
|
|
all:
|
|
|
|
all:
|
|
|
|
@cmake -S . -B $(BUILDDIR) $(CMAKE_GEN) -DCMAKE_BUILD_TYPE=Release $(CMAKE_DEFS)
|
|
|
|
@cmake -S . -B $(BUILDDIR) $(CMAKE_GEN) -DCMAKE_BUILD_TYPE=Release $(CMAKE_DEFS)
|
|
|
|
@cmake --build $(BUILDDIR) -j$(JOBS)
|
|
|
|
@cmake --build $(BUILDDIR) -j$(JOBS)
|
|
|
|
|
|
|
|
$(CP_CONTROLLERDB)
|
|
|
|
|
|
|
|
|
|
|
|
debug:
|
|
|
|
debug:
|
|
|
|
@cmake -S . -B $(BUILDDIR) $(CMAKE_GEN) -DCMAKE_BUILD_TYPE=Debug $(CMAKE_DEFS)
|
|
|
|
@cmake -S . -B $(BUILDDIR) $(CMAKE_GEN) -DCMAKE_BUILD_TYPE=Debug $(CMAKE_DEFS)
|
|
|
|
@cmake --build $(BUILDDIR) -j$(JOBS)
|
|
|
|
@cmake --build $(BUILDDIR) -j$(JOBS)
|
|
|
|
|
|
|
|
$(CP_CONTROLLERDB)
|
|
|
|
|
|
|
|
|
|
|
|
run: all
|
|
|
|
run: all
|
|
|
|
@./$(BUILDDIR)/$(PROJECT)
|
|
|
|
@./$(BUILDDIR)/$(PROJECT)
|
|
|
@@ -138,6 +149,7 @@ _linux-release:
|
|
|
|
|
|
|
|
|
|
|
|
# Còpia de fitxers
|
|
|
|
# Còpia de fitxers
|
|
|
|
cp $(BUILDDIR)/resources.pack "$(RELEASE_FOLDER)"
|
|
|
|
cp $(BUILDDIR)/resources.pack "$(RELEASE_FOLDER)"
|
|
|
|
|
|
|
|
cp gamecontrollerdb.txt "$(RELEASE_FOLDER)"
|
|
|
|
cp README.md "$(RELEASE_FOLDER)"
|
|
|
|
cp README.md "$(RELEASE_FOLDER)"
|
|
|
|
@[ -f LICENSE ] && cp LICENSE "$(RELEASE_FOLDER)" || true
|
|
|
|
@[ -f LICENSE ] && cp LICENSE "$(RELEASE_FOLDER)" || true
|
|
|
|
cp "$(TARGET_FILE)" "$(RELEASE_FILE)"
|
|
|
|
cp "$(TARGET_FILE)" "$(RELEASE_FILE)"
|
|
|
@@ -166,6 +178,7 @@ _windows-release:
|
|
|
|
@powershell -Command "if (-not (Test-Path '$(RELEASE_FOLDER)')) {New-Item '$(RELEASE_FOLDER)' -ItemType Directory}"
|
|
|
|
@powershell -Command "if (-not (Test-Path '$(RELEASE_FOLDER)')) {New-Item '$(RELEASE_FOLDER)' -ItemType Directory}"
|
|
|
|
|
|
|
|
|
|
|
|
@powershell -Command "Copy-Item -Path '$(BUILDDIR)/resources.pack' -Destination '$(RELEASE_FOLDER)'"
|
|
|
|
@powershell -Command "Copy-Item -Path '$(BUILDDIR)/resources.pack' -Destination '$(RELEASE_FOLDER)'"
|
|
|
|
|
|
|
|
@powershell -Command "Copy-Item 'gamecontrollerdb.txt' -Destination '$(RELEASE_FOLDER)'"
|
|
|
|
@powershell -Command "if (Test-Path 'LICENSE') { Copy-Item 'LICENSE' -Destination '$(RELEASE_FOLDER)' }"
|
|
|
|
@powershell -Command "if (Test-Path 'LICENSE') { Copy-Item 'LICENSE' -Destination '$(RELEASE_FOLDER)' }"
|
|
|
|
@powershell -Command "Copy-Item 'README.md' -Destination '$(RELEASE_FOLDER)'"
|
|
|
|
@powershell -Command "Copy-Item 'README.md' -Destination '$(RELEASE_FOLDER)'"
|
|
|
|
@powershell -Command "if (Test-Path 'release\windows\dll') { Copy-Item 'release\windows\dll\*.dll' -Destination '$(RELEASE_FOLDER)' }"
|
|
|
|
@powershell -Command "if (Test-Path 'release\windows\dll') { Copy-Item 'release\windows\dll\*.dll' -Destination '$(RELEASE_FOLDER)' }"
|
|
|
@@ -206,6 +219,7 @@ _macos-release:
|
|
|
|
|
|
|
|
|
|
|
|
# Còpia de recursos i metadades del bundle
|
|
|
|
# Còpia de recursos i metadades del bundle
|
|
|
|
cp $(BUILDDIR)/arm/resources.pack "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources"
|
|
|
|
cp $(BUILDDIR)/arm/resources.pack "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources"
|
|
|
|
|
|
|
|
cp gamecontrollerdb.txt "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources"
|
|
|
|
cp -R release/macos/frameworks/SDL3.xcframework/macos-arm64_x86_64/SDL3.framework "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Frameworks"
|
|
|
|
cp -R release/macos/frameworks/SDL3.xcframework/macos-arm64_x86_64/SDL3.framework "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Frameworks"
|
|
|
|
cp release/icons/icon.icns "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources"
|
|
|
|
cp release/icons/icon.icns "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources"
|
|
|
|
cp release/macos/Info.plist "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents"
|
|
|
|
cp release/macos/Info.plist "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents"
|
|
|
@@ -274,6 +288,19 @@ pack:
|
|
|
|
@cmake --build $(BUILDDIR) --target pack_resources
|
|
|
|
@cmake --build $(BUILDDIR) --target pack_resources
|
|
|
|
@./$(BUILDDIR)/pack_resources data $(BUILDDIR)/resources.pack
|
|
|
|
@./$(BUILDDIR)/pack_resources data $(BUILDDIR)/resources.pack
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
|
|
|
# DESCÀRREGA DE GAMECONTROLLERDB
|
|
|
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
|
|
|
# Descarrega l'última versió de gamecontrollerdb.txt (mappings de gamepads
|
|
|
|
|
|
|
|
# mantinguts per la comunitat) a l'arrel del projecte. SDL el carrega via
|
|
|
|
|
|
|
|
# filesystem real (no dins resources.pack) i s'ha de copiar al costat del binari
|
|
|
|
|
|
|
|
# en cada build (gestionat per CP_CONTROLLERDB a `all`/`debug` i pels release targets).
|
|
|
|
|
|
|
|
controllerdb:
|
|
|
|
|
|
|
|
@echo "Descargando gamecontrollerdb.txt..."
|
|
|
|
|
|
|
|
curl -fsSL https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/master/gamecontrollerdb.txt \
|
|
|
|
|
|
|
|
-o gamecontrollerdb.txt
|
|
|
|
|
|
|
|
@echo "gamecontrollerdb.txt actualizado"
|
|
|
|
|
|
|
|
|
|
|
|
# ==============================================================================
|
|
|
|
# ==============================================================================
|
|
|
|
# CODE QUALITY (delegats a cmake)
|
|
|
|
# CODE QUALITY (delegats a cmake)
|
|
|
|
# ==============================================================================
|
|
|
|
# ==============================================================================
|
|
|
|