afegit CI/CD
This commit is contained in:
53
Makefile
53
Makefile
@@ -57,6 +57,7 @@ WINDOWS_RELEASE := $(TARGET_NAME)-$(VERSION)-win32-x64.zip
|
||||
MACOS_INTEL_RELEASE := $(TARGET_NAME)-$(VERSION)-macos-intel.dmg
|
||||
MACOS_APPLE_SILICON_RELEASE := $(TARGET_NAME)-$(VERSION)-macos-apple-silicon.dmg
|
||||
LINUX_RELEASE := $(TARGET_NAME)-$(VERSION)-linux.tar.gz
|
||||
RPI_RELEASE := $(TARGET_NAME)-$(VERSION)-rpi-arm64.tar.gz
|
||||
|
||||
# ==============================================================================
|
||||
# SOURCE FILES
|
||||
@@ -385,6 +386,55 @@ linux_release:
|
||||
# Elimina la carpeta temporal
|
||||
$(RMDIR) "$(RELEASE_FOLDER)"
|
||||
|
||||
# ==============================================================================
|
||||
# COMPILACIÓN PARA RASPBERRY PI (ARM64)
|
||||
# ==============================================================================
|
||||
RPI_CXX := aarch64-linux-gnu-g++
|
||||
RPI_STRIP := aarch64-linux-gnu-strip
|
||||
RPI_CXXFLAGS := -std=$(CPP_STANDARD) -Wall -Os -ffunction-sections -fdata-sections -DLINUX_BUILD -DRPI_BUILD
|
||||
RPI_LDFLAGS := -lSDL3 -lGL
|
||||
|
||||
rpi_release:
|
||||
@$(MAKE) pack_tool
|
||||
@$(MAKE) resources.pack
|
||||
@echo "Creando release para Raspberry Pi (ARM64) - Version: $(VERSION)"
|
||||
|
||||
# Generate project.h from project.h.in
|
||||
@echo "Generando project.h..."
|
||||
@GIT_HASH=$$(git rev-parse --short=7 HEAD 2>/dev/null || echo "unknown"); \
|
||||
RAW_VERSION=$$(echo "$(VERSION)" | sed 's/^v//'); \
|
||||
COPYRIGHT=$$(sed -n 's/.*set(PROJECT_COPYRIGHT "\([^"]*\)".*/\1/p' CMakeLists.txt); \
|
||||
sed -e "s/@PROJECT_NAME@/$(TARGET_NAME)/g" \
|
||||
-e "s/@PROJECT_LONG_NAME@/$(LONG_NAME)/g" \
|
||||
-e "s/@PROJECT_VERSION@/$$RAW_VERSION/g" \
|
||||
-e "s/@PROJECT_COPYRIGHT@/$$COPYRIGHT/g" \
|
||||
-e "s/@GIT_HASH@/$$GIT_HASH/g" \
|
||||
source/project.h.in > source/project.h
|
||||
|
||||
# Elimina carpetas previas
|
||||
$(RMDIR) "$(RELEASE_FOLDER)"
|
||||
|
||||
# Crea la carpeta temporal para realizar el lanzamiento
|
||||
$(MKDIR) "$(RELEASE_FOLDER)"
|
||||
|
||||
# Copia ficheros
|
||||
cp resources.pack "$(RELEASE_FOLDER)"
|
||||
cp LICENSE "$(RELEASE_FOLDER)"
|
||||
cp README.md "$(RELEASE_FOLDER)"
|
||||
cp gamecontrollerdb.txt "$(RELEASE_FOLDER)"
|
||||
|
||||
# Compila con cross-compiler ARM64
|
||||
$(RPI_CXX) $(ALL_SOURCES) $(INCLUDES) -DRELEASE_BUILD $(RPI_CXXFLAGS) $(RPI_LDFLAGS) -o "$(RELEASE_FILE)"
|
||||
$(RPI_STRIP) -s -R .comment -R .gnu.version "$(RELEASE_FILE)" --strip-unneeded
|
||||
|
||||
# Empaqueta ficheros
|
||||
$(RMFILE) "$(RPI_RELEASE)"
|
||||
tar -czvf "$(RPI_RELEASE)" -C "$(RELEASE_FOLDER)" .
|
||||
@echo "Release creado: $(RPI_RELEASE)"
|
||||
|
||||
# Elimina la carpeta temporal
|
||||
$(RMDIR) "$(RELEASE_FOLDER)"
|
||||
|
||||
# ==============================================================================
|
||||
# SETUP
|
||||
# ==============================================================================
|
||||
@@ -410,6 +460,7 @@ help:
|
||||
@echo " linux - Compilar para Linux"
|
||||
@echo " linux_debug - Compilar debug para Linux"
|
||||
@echo " linux_release - Crear release completo para Linux"
|
||||
@echo " rpi_release - Crear release para Raspberry Pi (ARM64)"
|
||||
@echo " macos - Compilar para macOS"
|
||||
@echo " macos_debug - Compilar debug para macOS"
|
||||
@echo " macos_release - Crear release completo para macOS"
|
||||
@@ -421,4 +472,4 @@ help:
|
||||
|
||||
FORCE:
|
||||
|
||||
.PHONY: windows windows_debug windows_release macos macos_debug macos_release linux linux_debug linux_release pack_tool resources.pack setup_hooks show_version help
|
||||
.PHONY: windows windows_debug windows_release macos macos_debug macos_release linux linux_debug linux_release rpi_release pack_tool resources.pack setup_hooks show_version help
|
||||
|
||||
Reference in New Issue
Block a user