# Makefile sin espacios adicionales y con sintaxis minimalista
CXXFLAGS:=-std=c++20 -Wall -Os -ffunction-sections -fdata-sections
LDFLAGS:=-lSDL3
SOURCE:=demo1_pixels_wave.cpp
EXECUTABLE:=demo1_pixels_wave
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)*