actualitzat Makefile
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,2 +1,4 @@
|
|||||||
*.exe
|
*.exe
|
||||||
*.dll
|
*.dll
|
||||||
|
*.out
|
||||||
|
build/
|
||||||
30
Makefile
30
Makefile
@@ -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)*
|
||||||
Reference in New Issue
Block a user