actualitzat Makefile

This commit is contained in:
2025-03-23 08:52:19 +01:00
parent 1eab622ba2
commit 57db69d2a4
2 changed files with 28 additions and 6 deletions

4
.gitignore vendored
View File

@@ -1,2 +1,4 @@
*.exe *.exe
*.dll *.dll
*.out
build/

View File

@@ -1,11 +1,31 @@
# Variables comunes
source := source/*.cpp source := source/*.cpp
executable_name := demo_pelotas1 executable_name := demo_pelotas1
CXX := g++ # Cambiar a clang++ si prefieres
CXXFLAGS := -std=c++11 -Wall # Opciones comunes de compilación
LDFLAGS := -lSDL2 # Flags de enlace comunes
# Detectar plataforma
ifeq ($(OS),Windows_NT)
PLATFORM := windows
LDFLAGS += -lmingw32 -lws2_32 -lSDL2main
OUTPUT_EXT := .exe
else
PLATFORM := unix # Unificación para macOS y Linux
OUTPUT_EXT := .out
endif
# Regla principal: compilar según la plataforma detectada
all: $(PLATFORM)
# Compilación para Windows
windows: windows:
g++ $(source) -std=c++11 -Wall -lmingw32 -lws2_32 -lSDL2main -lSDL2 -o $(executable_name).exe $(CXX) $(source) $(CXXFLAGS) $(LDFLAGS) -o $(executable_name)$(OUTPUT_EXT)
linux: # Compilación para Unix (Linux y macOS)
g++ $(source) -std=c++11 -Wall -lSDL2 -o $(executable_name) unix:
$(CXX) $(source) $(CXXFLAGS) $(LDFLAGS) -o $(executable_name)$(OUTPUT_EXT)
macos: # Regla para limpiar archivos generados
g++ $(source) -std=c++11 -Wall -lSDL2 -o $(executable_name) clean:
rm -f $(executable_name)*