actualitzat Makefile

This commit is contained in:
2025-03-23 09:03:50 +01:00
parent 578549b122
commit 111cbb2217
3 changed files with 113 additions and 74 deletions

View File

@@ -1,11 +1,43 @@
# 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
# Detectar plataforma
ifeq ($(OS),Windows_NT)
PLATFORM := windows
LDFLAGS += -lmingw32 -lws2_32 -lSDL2main
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
endif
# Regla principal: compilar según la plataforma detectada
all: $(PLATFORM)
# Regla para Windows
windows:
g++ $(source) -std=c++11 -Wall -lmingw32 -lws2_32 -lSDL2main -lSDL2 -o $(executable_name).exe
$(CXX) $(source) $(CXXFLAGS) $(LDFLAGS) -o $(executable_name)$(OUTPUT_EXT)
# Regla para Linux
linux:
g++ $(source) -std=c++11 -Wall -lSDL2 -o $(executable_name)
$(CXX) $(source) $(CXXFLAGS) $(LDFLAGS) -o $(executable_name)$(OUTPUT_EXT)
# Regla para macOS
macos:
g++ $(source) -std=c++11 -Wall -lSDL2 -o $(executable_name)
$(CXX) $(source) $(CXXFLAGS) $(LDFLAGS) -o $(executable_name)$(OUTPUT_EXT)
# Regla para limpiar los archivos generados
clean:
rm -f $(executable_name)*