# Makefile sin espacios adicionales y con sintaxis minimalista
CXXFLAGS   := -std=c++20 -Wall -Os -ffunction-sections -fdata-sections
LDFLAGS    := -lSDL3
SOURCE     := source/*.cpp
EXECUTABLE := demo3_pixels_bouncing
RM         := rm -f

# Detectar plataforma
ifeq ($(OS),Windows_NT)
	PLATFORM := windows
	LDFLAGS  += -lmingw32 -lws2_32
	EXE_EXT  := .exe
else
	UNAME_S:=$(shell uname -s)
ifeq ($(UNAME_S),Linux)
	PLATFORM := linux
	EXE_EXT  := .out
endif
ifeq ($(UNAME_S),Darwin)
	PLATFORM := macos
	EXE_EXT  := .out
endif
endif

# Regla principal
all: $(EXECUTABLE)

# Compilar
$(EXECUTABLE):
	$(CXX) $(SOURCE) $(CXXFLAGS) $(LDFLAGS) -o $(EXECUTABLE)$(EXE_EXT)

# Limpiar
clean:
	$(RM) $(EXECUTABLE)*