34 lines
702 B
Makefile
34 lines
702 B
Makefile
# 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)*
|