actualitzat Makefile
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,2 +1,4 @@
|
||||
*.exe
|
||||
*.dll
|
||||
*.dll
|
||||
*.out
|
||||
build/
|
||||
30
Makefile
30
Makefile
@@ -1,11 +1,31 @@
|
||||
# Variables comunes
|
||||
source := source/*.cpp
|
||||
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:
|
||||
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:
|
||||
g++ $(source) -std=c++11 -Wall -lSDL2 -o $(executable_name)
|
||||
# Compilación para Unix (Linux y macOS)
|
||||
unix:
|
||||
$(CXX) $(source) $(CXXFLAGS) $(LDFLAGS) -o $(executable_name)$(OUTPUT_EXT)
|
||||
|
||||
macos:
|
||||
g++ $(source) -std=c++11 -Wall -lSDL2 -o $(executable_name)
|
||||
# Regla para limpiar archivos generados
|
||||
clean:
|
||||
rm -f $(executable_name)*
|
||||
Reference in New Issue
Block a user