migrat a SDL3

This commit is contained in:
2025-03-24 12:48:32 +01:00
parent 111cbb2217
commit 4a2e5c27e2
13 changed files with 366 additions and 309 deletions

View File

@@ -1,43 +1,22 @@
# Variables comunes
source := source/*.cpp
executable_name := demo_pelotas2
CXX := g++ # Cambiar a clang++ si lo prefieres
CXXFLAGS := -std=c++11 -Wall # Opciones comunes de compilación
LDFLAGS := -lSDL2 # Opciones comunes de enlace
SOURCE := source/*.cpp
EXECUTABLE_NAME := demo5_sprites_bouncing
CXXFLAGS := -std=c++20 -Wall -Os -ffunction-sections -fdata-sections # Opciones comunes de compilación
LDFLAGS := -lSDL3 # Flags de enlace comunes
OUTPUT_EXT :=
# Detectar plataforma
# Detectar plataforma y configurar
ifeq ($(OS),Windows_NT)
PLATFORM := windows
LDFLAGS += -lmingw32 -lws2_32 -lSDL2main
LDFLAGS += -lmingw32 -lws2_32
OUTPUT_EXT := .exe
else
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
PLATFORM := linux
OUTPUT_EXT := .out
endif
ifeq ($(UNAME_S),Darwin) # macOS
PLATFORM := macos
CXX := clang++ # Usar clang++ en macOS
OUTPUT_EXT := .out
endif
OUTPUT_EXT := .out
endif
# Regla principal: compilar según la plataforma detectada
all: $(PLATFORM)
# Regla principal: compilar el ejecutable
all:
$(CXX) $(SOURCE) $(CXXFLAGS) $(LDFLAGS) -o $(EXECUTABLE_NAME)$(OUTPUT_EXT)
# Regla para Windows
windows:
$(CXX) $(source) $(CXXFLAGS) $(LDFLAGS) -o $(executable_name)$(OUTPUT_EXT)
# Regla para Linux
linux:
$(CXX) $(source) $(CXXFLAGS) $(LDFLAGS) -o $(executable_name)$(OUTPUT_EXT)
# Regla para macOS
macos:
$(CXX) $(source) $(CXXFLAGS) $(LDFLAGS) -o $(executable_name)$(OUTPUT_EXT)
# Regla para limpiar los archivos generados
# Regla para limpiar archivos generados
clean:
rm -f $(executable_name)*
rm -f $(EXECUTABLE_NAME)$(OUTPUT_EXT)