actualitzat Makefile
This commit is contained in:
38
Makefile
38
Makefile
@@ -1,11 +1,43 @@
|
||||
# Variables comunes
|
||||
source := source/*.cpp
|
||||
executable_name := demo_pelotas2
|
||||
CXX := g++ # Cambiar a clang++ si lo prefieres
|
||||
CXXFLAGS := -std=c++11 -Wall # Opciones comunes de compilación
|
||||
LDFLAGS := -lSDL2 # Opciones comunes de enlace
|
||||
|
||||
# Detectar plataforma
|
||||
ifeq ($(OS),Windows_NT)
|
||||
PLATFORM := windows
|
||||
LDFLAGS += -lmingw32 -lws2_32 -lSDL2main
|
||||
OUTPUT_EXT := .exe
|
||||
else
|
||||
UNAME_S := $(shell uname -s)
|
||||
ifeq ($(UNAME_S),Linux)
|
||||
PLATFORM := linux
|
||||
OUTPUT_EXT := .out
|
||||
endif
|
||||
ifeq ($(UNAME_S),Darwin) # macOS
|
||||
PLATFORM := macos
|
||||
CXX := clang++ # Usar clang++ en macOS
|
||||
OUTPUT_EXT := .out
|
||||
endif
|
||||
endif
|
||||
|
||||
# Regla principal: compilar según la plataforma detectada
|
||||
all: $(PLATFORM)
|
||||
|
||||
# Regla 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)
|
||||
|
||||
# Regla para Linux
|
||||
linux:
|
||||
g++ $(source) -std=c++11 -Wall -lSDL2 -o $(executable_name)
|
||||
$(CXX) $(source) $(CXXFLAGS) $(LDFLAGS) -o $(executable_name)$(OUTPUT_EXT)
|
||||
|
||||
# Regla para macOS
|
||||
macos:
|
||||
g++ $(source) -std=c++11 -Wall -lSDL2 -o $(executable_name)
|
||||
$(CXX) $(source) $(CXXFLAGS) $(LDFLAGS) -o $(executable_name)$(OUTPUT_EXT)
|
||||
|
||||
# Regla para limpiar los archivos generados
|
||||
clean:
|
||||
rm -f $(executable_name)*
|
||||
Reference in New Issue
Block a user