Files
demo5_sprites_bouncing/Makefile
2025-03-23 09:03:50 +01:00

43 lines
1.1 KiB
Makefile

# 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:
$(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
clean:
rm -f $(executable_name)*