aaara si, makes, cmakes i gitignores com toca

This commit is contained in:
2025-03-24 12:17:19 +01:00
parent a14d7ceb0f
commit 71f5d90efa
3 changed files with 50 additions and 51 deletions

View File

@@ -1,34 +1,22 @@
# 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
# Variables comunes
SOURCE := source/*.cpp
EXECUTABLE_NAME := demo3_pixels_bouncing
CXXFLAGS := -std=c++20 -Wall -Os -ffunction-sections -fdata-sections # Opciones comunes de compilación
LDFLAGS := -lSDL3 # Flags de enlace comunes
OUTPUT_EXT :=
# Detectar plataforma
# Detectar plataforma y configurar
ifeq ($(OS),Windows_NT)
PLATFORM := windows
LDFLAGS += -lmingw32 -lws2_32
EXE_EXT := .exe
LDFLAGS += -lmingw32 -lws2_32
OUTPUT_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
OUTPUT_EXT := .out
endif
# Regla principal
all: $(EXECUTABLE)
# Regla principal: compilar el ejecutable
all:
$(CXX) $(SOURCE) $(CXXFLAGS) $(LDFLAGS) -o $(EXECUTABLE_NAME)$(OUTPUT_EXT)
# Compilar
$(EXECUTABLE):
$(CXX) $(SOURCE) $(CXXFLAGS) $(LDFLAGS) -o $(EXECUTABLE)$(EXE_EXT)
# Limpiar
# Regla para limpiar archivos generados
clean:
$(RM) $(EXECUTABLE)*
rm -f $(EXECUTABLE_NAME)$(OUTPUT_EXT)