make: Add support for arbitrary archs / cross archs selection.

This commit is contained in:
Rémi Bernon
2025-01-12 15:12:20 +01:00
committed by Arkadiusz Hiler
parent acc431b93c
commit 0dc3217e02
9 changed files with 49 additions and 4 deletions

View File

@@ -14,6 +14,9 @@ MFLAGS += V=1 VERBOSE=1
endif
SHELL := /bin/bash
ARCHS := i386-unix x86_64-unix i386-windows x86_64-windows
unix_ARCHS = $(subst -unix,,$(filter %-unix,$(ARCHS)))
windows_ARCHS = $(subst -windows,,$(filter %-windows,$(ARCHS)))
##
## General/global config
@@ -427,11 +430,15 @@ WINE_AUTOCONF_ARGS = \
--with-mingw \
--disable-tests
WINE_i386_AUTOCONF_ARGS = \
WINE_x86_64_AUTOCONF_ARGS = \
--enable-archs="x86_64 $(filter-out x86_64 $(unix_ARCHS),$(windows_ARCHS))" \
--enable-win64 \
WINE_i386_AUTOCONF_ARGS += \
VKD3D_PE_CFLAGS="-I$(VULKAN_HEADERS_i386_DST)/include -I$(VKD3D_i386_DST)/include/vkd3d" \
VKD3D_PE_LIBS="-L$(VKD3D_i386_LIBDIR)/vkd3d/i386-windows -l:libvkd3d-1.dll -l:libvkd3d-shader-1.dll"
WINE_x86_64_AUTOCONF_ARGS = --enable-win64 \
WINE_x86_64_AUTOCONF_ARGS += \
VKD3D_PE_CFLAGS="-I$(VULKAN_HEADERS_x86_64_DST)/include -I$(VKD3D_x86_64_DST)/include/vkd3d" \
VKD3D_PE_LIBS="-L$(VKD3D_x86_64_LIBDIR)/vkd3d/x86_64-windows -l:libvkd3d-1.dll -l:libvkd3d-shader-1.dll"
@@ -452,12 +459,22 @@ $(OBJ)/.wine-post-source:
touch $@
$(OBJ)/.wine-x86_64-post-build:
mkdir -p $(DST_DIR)/{bin,share}
ifeq ($(findstring i386,$(unix_ARCHS)),)
mkdir -p $(DST_DIR)/bin
$(call install-strip,$(WINE_x86_64_DST)/bin/wine,$(DST_DIR)/bin)
$(call install-strip,$(WINE_x86_64_DST)/bin/wine-preloader,$(DST_DIR)/bin)
$(call install-strip,$(WINE_x86_64_DST)/bin/wineserver,$(DST_DIR)/bin)
cp -a $(WINE_x86_64_DST)/bin/msidb $(DST_DIR)/bin/
else
mkdir -p $(DST_DIR)/bin
$(call install-strip,$(WINE_x86_64_DST)/bin/wine64,$(DST_DIR)/bin)
$(call install-strip,$(WINE_x86_64_DST)/bin/wine64-preloader,$(DST_DIR)/bin)
$(call install-strip,$(WINE_x86_64_DST)/bin/wineserver,$(DST_DIR)/bin)
cp -a $(WINE_x86_64_DST)/share/wine $(DST_DIR)/share
cp -a $(WINE_x86_64_DST)/bin/msidb $(DST_DIR)/bin
endif
mkdir -p $(DST_DIR)/share
cp -a $(WINE_x86_64_DST)/share/wine $(DST_DIR)/share
touch $@
$(OBJ)/.wine-i386-post-build: