mirror of
https://github.com/ValveSoftware/Proton.git
synced 2025-05-12 06:39:34 +03:00
make: Use prefixes for archs in variables.
This commit is contained in:
parent
ead580b59e
commit
82b173490c
16
Makefile
16
Makefile
@ -153,15 +153,15 @@ module: | $(BUILD_ROOT)/$(module)/lib/wine/x86_64-windows
|
||||
module: | $(BUILD_ROOT)/$(module)/lib/wine/x86_64-unix
|
||||
module: configure
|
||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) module=$(module) module && \
|
||||
cp -f $(BUILD_DIR)/obj-wine32/dlls/$(module)/$(MODULE_PEFILE) $(BUILD_ROOT)/$(module)/lib/wine/i386-windows/ && \
|
||||
cp -f $(BUILD_DIR)/obj-wine64/dlls/$(module)/$(MODULE_PEFILE) $(BUILD_ROOT)/$(module)/lib/wine/x86_64-windows/ && \
|
||||
if [ -e $(BUILD_DIR)/obj-wine32/dlls/$(module)/$(MODULE_PEFILE).so ]; then \
|
||||
cp -f $(BUILD_DIR)/obj-wine32/dlls/$(module)/$(MODULE_PEFILE).so $(BUILD_ROOT)/$(module)/lib/wine/i386-unix/ && \
|
||||
cp -f $(BUILD_DIR)/obj-wine64/dlls/$(module)/$(MODULE_PEFILE).so $(BUILD_ROOT)/$(module)/lib/wine/x86_64-unix/; \
|
||||
cp -f $(BUILD_DIR)/obj-wine-32/dlls/$(module)/$(MODULE_PEFILE) $(BUILD_ROOT)/$(module)/lib/wine/i386-windows/ && \
|
||||
cp -f $(BUILD_DIR)/obj-wine-64/dlls/$(module)/$(MODULE_PEFILE) $(BUILD_ROOT)/$(module)/lib/wine/x86_64-windows/ && \
|
||||
if [ -e $(BUILD_DIR)/obj-wine-32/dlls/$(module)/$(MODULE_PEFILE).so ]; then \
|
||||
cp -f $(BUILD_DIR)/obj-wine-32/dlls/$(module)/$(MODULE_PEFILE).so $(BUILD_ROOT)/$(module)/lib/wine/i386-unix/ && \
|
||||
cp -f $(BUILD_DIR)/obj-wine-64/dlls/$(module)/$(MODULE_PEFILE).so $(BUILD_ROOT)/$(module)/lib/wine/x86_64-unix/; \
|
||||
fi
|
||||
if [ -e $(BUILD_DIR)/obj-wine32/dlls/$(module)/$(MODULE_SOFILE) ]; then \
|
||||
cp -f $(BUILD_DIR)/obj-wine32/dlls/$(module)/$(MODULE_SOFILE) $(BUILD_ROOT)/$(module)/lib/wine/i386-unix/ && \
|
||||
cp -f $(BUILD_DIR)/obj-wine64/dlls/$(module)/$(MODULE_SOFILE) $(BUILD_ROOT)/$(module)/lib/wine/x86_64-unix/; \
|
||||
if [ -e $(BUILD_DIR)/obj-wine-32/dlls/$(module)/$(MODULE_SOFILE) ]; then \
|
||||
cp -f $(BUILD_DIR)/obj-wine-32/dlls/$(module)/$(MODULE_SOFILE) $(BUILD_ROOT)/$(module)/lib/wine/i386-unix/ && \
|
||||
cp -f $(BUILD_DIR)/obj-wine-64/dlls/$(module)/$(MODULE_SOFILE) $(BUILD_ROOT)/$(module)/lib/wine/x86_64-unix/; \
|
||||
fi
|
||||
|
||||
any $(CONTAINERGOALS): configure
|
||||
|
246
Makefile.in
246
Makefile.in
@ -57,8 +57,8 @@ OPTIMIZE_FLAGS := -O2 -march=nocona -mtune=core-avx2 -mfpmath=sse
|
||||
SANITY_FLAGS := -fwrapv -fno-strict-aliasing
|
||||
DEBUG_FLAGS := -ggdb -ffunction-sections -fdata-sections -fno-omit-frame-pointer
|
||||
COMMON_FLAGS = $(DEBUG_FLAGS) $(OPTIMIZE_FLAGS) $(SANITY_FLAGS) -ffile-prefix-map=$(CCACHE_BASEDIR)=.
|
||||
COMMON_FLAGS32 := -mstackrealign
|
||||
COMMON_FLAGS64 := -mcmodel=small
|
||||
32_COMMON_FLAGS := -mstackrealign
|
||||
64_COMMON_FLAGS := -mcmodel=small
|
||||
|
||||
ifneq ($(SUPPRESS_WARNINGS),)
|
||||
COMMON_FLAGS += -w
|
||||
@ -74,8 +74,8 @@ $(DST_DIR):
|
||||
mkdir -p $@
|
||||
|
||||
ifeq ($(CONTAINER),1) # inside the container
|
||||
BASE_SOURCE_DATE_EPOCH32 := $(BASE_SOURCE_DATE_EPOCH)
|
||||
BASE_SOURCE_DATE_EPOCH64 := $(shell expr $(BASE_SOURCE_DATE_EPOCH) - 10)
|
||||
32_SOURCE_DATE_EPOCH := $(BASE_SOURCE_DATE_EPOCH)
|
||||
64_SOURCE_DATE_EPOCH := $(shell expr $(BASE_SOURCE_DATE_EPOCH) - 10)
|
||||
|
||||
# all, all-dist and dist are basically synonyms
|
||||
.PHONY: all all-dist dist
|
||||
@ -245,9 +245,9 @@ $(eval $(call rules-configure,ffmpeg,32))
|
||||
$(eval $(call rules-configure,ffmpeg,64))
|
||||
|
||||
## Only use ffmpeg to build gst-libav; we don't ship it.
|
||||
$(OBJ)/.ffmpeg-dist32:
|
||||
$(OBJ)/.ffmpeg-32-dist:
|
||||
touch $@
|
||||
$(OBJ)/.ffmpeg-dist64:
|
||||
$(OBJ)/.ffmpeg-64-dist:
|
||||
touch $@
|
||||
|
||||
##
|
||||
@ -274,14 +274,14 @@ $(eval $(call rules-source,gst_plugins_rs,$(SRCDIR)/gst-plugins-rs))
|
||||
$(eval $(call rules-cargo,gst_plugins_rs,32))
|
||||
$(eval $(call rules-cargo,gst_plugins_rs,64))
|
||||
|
||||
$(OBJ)/.gst_plugins_rs-post-build64:
|
||||
mkdir -p $(GST_PLUGINS_RS_DST64)/lib/x86_64-linux-gnu/gstreamer-1.0/
|
||||
cp -a $(GST_PLUGINS_RS_OBJ64)/x86_64-unknown-linux-gnu/release/libgstdav1d.so $(GST_PLUGINS_RS_DST64)/lib/x86_64-linux-gnu/gstreamer-1.0/
|
||||
$(OBJ)/.gst_plugins_rs-64-post-build:
|
||||
mkdir -p $(GST_PLUGINS_RS_64_DST)/lib/x86_64-linux-gnu/gstreamer-1.0/
|
||||
cp -a $(GST_PLUGINS_RS_64_OBJ)/x86_64-unknown-linux-gnu/release/libgstdav1d.so $(GST_PLUGINS_RS_64_DST)/lib/x86_64-linux-gnu/gstreamer-1.0/
|
||||
touch $@
|
||||
|
||||
$(OBJ)/.gst_plugins_rs-post-build32:
|
||||
mkdir -p $(GST_PLUGINS_RS_DST32)/lib/i386-linux-gnu/gstreamer-1.0/
|
||||
cp -a $(GST_PLUGINS_RS_OBJ32)/i686-unknown-linux-gnu/release/libgstdav1d.so $(GST_PLUGINS_RS_DST32)/lib/i386-linux-gnu/gstreamer-1.0/
|
||||
$(OBJ)/.gst_plugins_rs-32-post-build:
|
||||
mkdir -p $(GST_PLUGINS_RS_32_DST)/lib/i386-linux-gnu/gstreamer-1.0/
|
||||
cp -a $(GST_PLUGINS_RS_32_OBJ)/i686-unknown-linux-gnu/release/libgstdav1d.so $(GST_PLUGINS_RS_32_DST)/lib/i386-linux-gnu/gstreamer-1.0/
|
||||
touch $@
|
||||
|
||||
|
||||
@ -347,13 +347,13 @@ WINEOPENXR_DEPENDS = wine openxr
|
||||
$(eval $(call rules-source,wineopenxr,$(SRCDIR)/wineopenxr))
|
||||
$(eval $(call rules-makedep,wineopenxr,64,CROSS))
|
||||
|
||||
DIST_WINEOPENXR_JSON64 := $(DIST_PREFIX)/drive_c/openxr/wineopenxr64.json
|
||||
DIST_WINEOPENXR64_JSON := $(DIST_PREFIX)/drive_c/openxr/wineopenxr64.json
|
||||
$(WINEOPENXR_SRC)/wineopenxr64.json: wineopenxr
|
||||
$(DIST_WINEOPENXR_JSON64): $(WINEOPENXR_SRC)/wineopenxr64.json default_pfx
|
||||
$(DIST_WINEOPENXR64_JSON): $(WINEOPENXR_SRC)/wineopenxr64.json default_pfx
|
||||
mkdir -p $(dir $@)
|
||||
cp -a $< $@
|
||||
|
||||
all-dist: $(DIST_WINEOPENXR_JSON64)
|
||||
all-dist: $(DIST_WINEOPENXR64_JSON)
|
||||
|
||||
|
||||
##
|
||||
@ -392,11 +392,11 @@ $(OBJ)/.steamexe-post-build64:
|
||||
$(eval $(call rules-source,piper,$(SRCDIR)/piper))
|
||||
$(eval $(call rules-cmake,piper,64))
|
||||
|
||||
$(OBJ)/.piper-post-build64:
|
||||
mkdir -p $(PIPER_DST64)/lib/$(TARGET_64)
|
||||
mv $(PIPER_DST64)/*.so* $(PIPER_DST64)/lib/$(TARGET_64)
|
||||
$(OBJ)/.piper-64-post-build:
|
||||
mkdir -p $(PIPER_64_DST)/lib/$(64_TARGET)
|
||||
mv $(PIPER_64_DST)/*.so* $(PIPER_64_DST)/lib/$(64_TARGET)
|
||||
mkdir -p $(DST_DIR)/share
|
||||
cp -a $(PIPER_DST64)/{espeak-ng-data,libtashkeel_model.ort} $(DST_DIR)/share/
|
||||
cp -a $(PIPER_64_DST)/{espeak-ng-data,libtashkeel_model.ort} $(DST_DIR)/share/
|
||||
touch $@
|
||||
|
||||
##
|
||||
@ -427,19 +427,19 @@ WINE_AUTOCONF_ARGS = \
|
||||
--with-mingw \
|
||||
--disable-tests
|
||||
|
||||
WINE_AUTOCONF_ARGS32 = \
|
||||
VKD3D_PE_CFLAGS="-I$(VULKAN_HEADERS_DST32)/include -I$(VKD3D_DST32)/include/vkd3d" \
|
||||
VKD3D_PE_LIBS="-L$(VKD3D_LIBDIR32)/vkd3d/i386-windows -l:libvkd3d-1.dll -l:libvkd3d-shader-1.dll"
|
||||
WINE_32_AUTOCONF_ARGS = \
|
||||
VKD3D_PE_CFLAGS="-I$(VULKAN_HEADERS_32_DST)/include -I$(VKD3D_32_DST)/include/vkd3d" \
|
||||
VKD3D_PE_LIBS="-L$(VKD3D_32_LIBDIR)/vkd3d/i386-windows -l:libvkd3d-1.dll -l:libvkd3d-shader-1.dll"
|
||||
|
||||
WINE_AUTOCONF_ARGS64 = --enable-win64 \
|
||||
VKD3D_PE_CFLAGS="-I$(VULKAN_HEADERS_DST64)/include -I$(VKD3D_DST64)/include/vkd3d" \
|
||||
VKD3D_PE_LIBS="-L$(VKD3D_LIBDIR64)/vkd3d/x86_64-windows -l:libvkd3d-1.dll -l:libvkd3d-shader-1.dll"
|
||||
WINE_64_AUTOCONF_ARGS = --enable-win64 \
|
||||
VKD3D_PE_CFLAGS="-I$(VULKAN_HEADERS_64_DST)/include -I$(VKD3D_64_DST)/include/vkd3d" \
|
||||
VKD3D_PE_LIBS="-L$(VKD3D_64_LIBDIR)/vkd3d/x86_64-windows -l:libvkd3d-1.dll -l:libvkd3d-shader-1.dll"
|
||||
|
||||
WINE_DEPENDS = gst_orc gstreamer gst_base vkd3d ffmpeg
|
||||
WINE_DEPENDS64 = piper
|
||||
WINE_64_DEPENDS = piper
|
||||
|
||||
WINE_LIBDIR32 = $(WINE_DST32)/lib
|
||||
WINE_LIBDIR64 = $(WINE_DST64)/lib
|
||||
WINE_32_LIBDIR = $(WINE_32_DST)/lib
|
||||
WINE_64_LIBDIR = $(WINE_64_DST)/lib
|
||||
|
||||
$(eval $(call rules-source,wine,$(SRCDIR)/wine))
|
||||
$(eval $(call rules-autoconf,wine,32))
|
||||
@ -451,19 +451,19 @@ $(OBJ)/.wine-post-source:
|
||||
-cd $(WINE_SRC) && tools/make_specfiles
|
||||
touch $@
|
||||
|
||||
$(OBJ)/.wine-post-build64:
|
||||
$(OBJ)/.wine-64-post-build:
|
||||
mkdir -p $(DST_DIR)/{bin,share}
|
||||
$(call install-strip,$(WINE_DST64)/bin/wine64,$(DST_DIR)/bin)
|
||||
$(call install-strip,$(WINE_DST64)/bin/wine64-preloader,$(DST_DIR)/bin)
|
||||
$(call install-strip,$(WINE_DST64)/bin/wineserver,$(DST_DIR)/bin)
|
||||
cp -a $(WINE_DST64)/share/wine $(DST_DIR)/share
|
||||
cp -a $(WINE_DST64)/bin/msidb $(DST_DIR)/bin
|
||||
$(call install-strip,$(WINE_64_DST)/bin/wine64,$(DST_DIR)/bin)
|
||||
$(call install-strip,$(WINE_64_DST)/bin/wine64-preloader,$(DST_DIR)/bin)
|
||||
$(call install-strip,$(WINE_64_DST)/bin/wineserver,$(DST_DIR)/bin)
|
||||
cp -a $(WINE_64_DST)/share/wine $(DST_DIR)/share
|
||||
cp -a $(WINE_64_DST)/bin/msidb $(DST_DIR)/bin
|
||||
touch $@
|
||||
|
||||
$(OBJ)/.wine-post-build32:
|
||||
$(OBJ)/.wine-32-post-build:
|
||||
mkdir -p $(DST_DIR)/bin
|
||||
$(call install-strip,$(WINE_DST32)/bin/wine,$(DST_DIR)/bin)
|
||||
$(call install-strip,$(WINE_DST32)/bin/wine-preloader,$(DST_DIR)/bin)
|
||||
$(call install-strip,$(WINE_32_DST)/bin/wine,$(DST_DIR)/bin)
|
||||
$(call install-strip,$(WINE_32_DST)/bin/wine-preloader,$(DST_DIR)/bin)
|
||||
touch $@
|
||||
|
||||
|
||||
@ -484,14 +484,14 @@ $(eval $(call rules-makedep,vrclient,64,CROSS))
|
||||
##
|
||||
|
||||
# wine builds DLLs with the same names, we need to differentiate the timestamps
|
||||
DXVK_SOURCE_DATE_EPOCH32 := $(shell expr $(BASE_SOURCE_DATE_EPOCH32) - 1)
|
||||
DXVK_SOURCE_DATE_EPOCH64 := $(shell expr $(BASE_SOURCE_DATE_EPOCH64) - 1)
|
||||
DXVK_32_SOURCE_DATE_EPOCH := $(shell expr $(32_SOURCE_DATE_EPOCH) - 1)
|
||||
DXVK_64_SOURCE_DATE_EPOCH := $(shell expr $(64_SOURCE_DATE_EPOCH) - 1)
|
||||
|
||||
DXVK_SOURCE_ARGS = \
|
||||
--exclude version.h.in \
|
||||
|
||||
DXVK_MESON_ARGS32 = --bindir=$(DXVK_DST32)/lib/wine/dxvk/i386-windows
|
||||
DXVK_MESON_ARGS64 = --bindir=$(DXVK_DST64)/lib/wine/dxvk/x86_64-windows
|
||||
DXVK_32_MESON_ARGS = --bindir=$(DXVK_32_DST)/lib/wine/dxvk/i386-windows
|
||||
DXVK_64_MESON_ARGS = --bindir=$(DXVK_64_DST)/lib/wine/dxvk/x86_64-windows
|
||||
DXVK_DEPENDS = glslang
|
||||
|
||||
$(eval $(call rules-source,dxvk,$(SRCDIR)/dxvk))
|
||||
@ -511,8 +511,8 @@ $(OBJ)/.dxvk-post-source:
|
||||
## dxvk-nvapi
|
||||
##
|
||||
|
||||
DXVK_NVAPI_MESON_ARGS32 = --bindir=$(DXVK_NVAPI_DST32)/lib/wine/nvapi/i386-windows
|
||||
DXVK_NVAPI_MESON_ARGS64 = --bindir=$(DXVK_NVAPI_DST64)/lib/wine/nvapi/x86_64-windows
|
||||
DXVK_NVAPI_32_MESON_ARGS = --bindir=$(DXVK_NVAPI_32_DST)/lib/wine/nvapi/i386-windows
|
||||
DXVK_NVAPI_64_MESON_ARGS = --bindir=$(DXVK_NVAPI_64_DST)/lib/wine/nvapi/x86_64-windows
|
||||
|
||||
$(eval $(call rules-source,dxvk-nvapi,$(SRCDIR)/dxvk-nvapi))
|
||||
$(eval $(call rules-meson,dxvk-nvapi,32,CROSS))
|
||||
@ -556,23 +556,23 @@ VKD3D_CFLAGS = -fno-lto
|
||||
VKD3D_LDFLAGS = -static-libgcc $(CROSSLDFLAGS)
|
||||
VKD3D_DEPENDS = vulkan-headers spirv-headers
|
||||
|
||||
VKD3D_LIBDIR32 = $(VKD3D_DST32)/lib
|
||||
VKD3D_LIBDIR64 = $(VKD3D_DST64)/lib
|
||||
VKD3D_32_LIBDIR = $(VKD3D_32_DST)/lib
|
||||
VKD3D_64_LIBDIR = $(VKD3D_64_DST)/lib
|
||||
|
||||
$(eval $(call rules-source,vkd3d,$(SRCDIR)/vkd3d))
|
||||
$(eval $(call rules-autoconf,vkd3d,32,CROSS))
|
||||
$(eval $(call rules-autoconf,vkd3d,64,CROSS))
|
||||
|
||||
$(OBJ)/.vkd3d-post-build64:
|
||||
mkdir -p $(VKD3D_LIBDIR64)/vkd3d/x86_64-windows
|
||||
mv $(VKD3D_DST64)/bin/libvkd3d-1.dll $(VKD3D_LIBDIR64)/vkd3d/x86_64-windows
|
||||
mv $(VKD3D_DST64)/bin/libvkd3d-shader-1.dll $(VKD3D_LIBDIR64)/vkd3d/x86_64-windows
|
||||
$(OBJ)/.vkd3d-64-post-build:
|
||||
mkdir -p $(VKD3D_64_LIBDIR)/vkd3d/x86_64-windows
|
||||
mv $(VKD3D_64_DST)/bin/libvkd3d-1.dll $(VKD3D_64_LIBDIR)/vkd3d/x86_64-windows
|
||||
mv $(VKD3D_64_DST)/bin/libvkd3d-shader-1.dll $(VKD3D_64_LIBDIR)/vkd3d/x86_64-windows
|
||||
touch $@
|
||||
|
||||
$(OBJ)/.vkd3d-post-build32:
|
||||
mkdir -p $(VKD3D_LIBDIR32)/vkd3d/i386-windows
|
||||
mv $(VKD3D_DST32)/bin/libvkd3d-1.dll $(VKD3D_LIBDIR32)/vkd3d/i386-windows
|
||||
mv $(VKD3D_DST32)/bin/libvkd3d-shader-1.dll $(VKD3D_LIBDIR32)/vkd3d/i386-windows
|
||||
$(OBJ)/.vkd3d-32-post-build:
|
||||
mkdir -p $(VKD3D_32_LIBDIR)/vkd3d/i386-windows
|
||||
mv $(VKD3D_32_DST)/bin/libvkd3d-1.dll $(VKD3D_32_LIBDIR)/vkd3d/i386-windows
|
||||
mv $(VKD3D_32_DST)/bin/libvkd3d-shader-1.dll $(VKD3D_32_LIBDIR)/vkd3d/i386-windows
|
||||
touch $@
|
||||
|
||||
##
|
||||
@ -580,15 +580,15 @@ $(OBJ)/.vkd3d-post-build32:
|
||||
##
|
||||
|
||||
# wine builds DLLs with the same names, we need to differentiate the timestamps
|
||||
VKD3D_PROTON_SOURCE_DATE_EPOCH32 := $(shell expr $(BASE_SOURCE_DATE_EPOCH32) - 2)
|
||||
VKD3D_PROTON_SOURCE_DATE_EPOCH64 := $(shell expr $(BASE_SOURCE_DATE_EPOCH64) - 2)
|
||||
VKD3D_PROTON_32_SOURCE_DATE_EPOCH := $(shell expr $(32_SOURCE_DATE_EPOCH) - 2)
|
||||
VKD3D_PROTON_64_SOURCE_DATE_EPOCH := $(shell expr $(64_SOURCE_DATE_EPOCH) - 2)
|
||||
|
||||
VKD3D_PROTON_SOURCE_ARGS = \
|
||||
--exclude vkd3d_build.h.in \
|
||||
--exclude vkd3d_version.h.in \
|
||||
|
||||
VKD3D_PROTON_MESON_ARGS32 = --bindir=$(VKD3D_PROTON_DST32)/lib/wine/vkd3d-proton/i386-windows
|
||||
VKD3D_PROTON_MESON_ARGS64 = --bindir=$(VKD3D_PROTON_DST64)/lib/wine/vkd3d-proton/x86_64-windows
|
||||
VKD3D_PROTON_32_MESON_ARGS = --bindir=$(VKD3D_PROTON_32_DST)/lib/wine/vkd3d-proton/i386-windows
|
||||
VKD3D_PROTON_64_MESON_ARGS = --bindir=$(VKD3D_PROTON_64_DST)/lib/wine/vkd3d-proton/x86_64-windows
|
||||
VKD3D_PROTON_DEPENDS = glslang
|
||||
|
||||
ifneq ($(UNSTRIPPED_BUILD),)
|
||||
@ -625,20 +625,20 @@ $(eval $(call rules-winemaker,battleye,32,beclient.dll))
|
||||
$(eval $(call rules-winemaker,battleye,64,beclient_x64.dll))
|
||||
|
||||
$(OBJ)/.battleye-post-source:
|
||||
mkdir -p $(BATTLEYE_OBJ32) && cp -a $(BATTLEYE_SRC)/beclient.spec $(BATTLEYE_OBJ32)/beclient.spec
|
||||
mkdir -p $(BATTLEYE_OBJ64) && cp -a $(BATTLEYE_SRC)/beclient.spec $(BATTLEYE_OBJ64)/beclient_x64.spec
|
||||
mkdir -p $(BATTLEYE_32_OBJ) && cp -a $(BATTLEYE_SRC)/beclient.spec $(BATTLEYE_32_OBJ)/beclient.spec
|
||||
mkdir -p $(BATTLEYE_64_OBJ) && cp -a $(BATTLEYE_SRC)/beclient.spec $(BATTLEYE_64_OBJ)/beclient_x64.spec
|
||||
touch $@
|
||||
|
||||
$(OBJ)/.battleye-post-build64:
|
||||
$(OBJ)/.battleye-64-post-build:
|
||||
mkdir -p $(OBJ)/dist-battleye/v1
|
||||
cp -r $(BATTLEYE_DST64)/* $(OBJ)/dist-battleye/v1/
|
||||
rm -rf $(BATTLEYE_DST64)/*
|
||||
cp -r $(BATTLEYE_64_DST)/* $(OBJ)/dist-battleye/v1/
|
||||
rm -rf $(BATTLEYE_64_DST)/*
|
||||
touch $@
|
||||
|
||||
$(OBJ)/.battleye-post-build32:
|
||||
$(OBJ)/.battleye-32-post-build:
|
||||
mkdir -p $(OBJ)/dist-battleye/v1
|
||||
cp -r $(BATTLEYE_DST32)/* $(OBJ)/dist-battleye/v1/
|
||||
rm -rf $(BATTLEYE_DST32)/*
|
||||
cp -r $(BATTLEYE_32_DST)/* $(OBJ)/dist-battleye/v1/
|
||||
rm -rf $(BATTLEYE_32_DST)/*
|
||||
touch $@
|
||||
|
||||
endif
|
||||
@ -656,26 +656,26 @@ $(eval $(call create-rules-common,eac,EAC,64))
|
||||
$(eval $(call create-rules-common,eac,EAC,32))
|
||||
|
||||
|
||||
$(OBJ)/.eac-build64:
|
||||
$(OBJ)/.eac-64-build:
|
||||
@echo ":: building 64bit eac..." >&2
|
||||
rsync -arx "$(EAC_SRC)/" "$(EAC_OBJ64)/"
|
||||
env $(EAC_ENV64) \
|
||||
$(MAKE) -C "$(EAC_OBJ64)" WINE_OBJ="$(WINE_OBJ64)" HOST="x86_64-w64-mingw32" CROSSCXX="x86_64-w64-mingw32-g++" BIT="64"
|
||||
rsync -arx "$(EAC_SRC)/" "$(EAC_64_OBJ)/"
|
||||
env $(EAC_64_ENV) \
|
||||
$(MAKE) -C "$(EAC_64_OBJ)" WINE_OBJ="$(WINE_64_OBJ)" HOST="x86_64-w64-mingw32" CROSSCXX="x86_64-w64-mingw32-g++" BIT="64"
|
||||
mkdir -p $(OBJ)/dist-eac/v2/lib/x86_64-linux-gnu
|
||||
$(call install-strip,$(EAC_OBJ64)/easyanticheat.so,$(OBJ)/dist-eac/v2/lib/x86_64-linux-gnu)
|
||||
$(call install-strip,$(EAC_OBJ64)/easyanticheat.dll,$(OBJ)/dist-eac/v2/lib/x86_64-linux-gnu)
|
||||
$(call install-strip,$(EAC_64_OBJ)/easyanticheat.so,$(OBJ)/dist-eac/v2/lib/x86_64-linux-gnu)
|
||||
$(call install-strip,$(EAC_64_OBJ)/easyanticheat.dll,$(OBJ)/dist-eac/v2/lib/x86_64-linux-gnu)
|
||||
cp $(OBJ)/dist-eac/v2/lib/x86_64-linux-gnu/easyanticheat.so $(OBJ)/dist-eac/v2/lib/x86_64-linux-gnu/easyanticheat_x64.so
|
||||
cp $(OBJ)/dist-eac/v2/lib/x86_64-linux-gnu/easyanticheat.dll $(OBJ)/dist-eac/v2/lib/x86_64-linux-gnu/easyanticheat_x64.dll
|
||||
touch $@
|
||||
|
||||
$(OBJ)/.eac-build32:
|
||||
$(OBJ)/.eac-32-build:
|
||||
@echo ":: building 32bit eac..." >&2
|
||||
rsync -arx "$(EAC_SRC)/" "$(EAC_OBJ32)/"
|
||||
env $(EAC_ENV32) \
|
||||
$(MAKE) -C "$(EAC_OBJ32)" WINE_OBJ="$(WINE_OBJ32)" HOST="i686-w64-mingw32" CROSSCXX="i686-w64-mingw32-g++" BIT="32"
|
||||
rsync -arx "$(EAC_SRC)/" "$(EAC_32_OBJ)/"
|
||||
env $(EAC_32_ENV) \
|
||||
$(MAKE) -C "$(EAC_32_OBJ)" WINE_OBJ="$(WINE_32_OBJ)" HOST="i686-w64-mingw32" CROSSCXX="i686-w64-mingw32-g++" BIT="32"
|
||||
mkdir -p $(OBJ)/dist-eac/v2/lib32
|
||||
$(call install-strip,$(EAC_OBJ32)/easyanticheat.so,$(OBJ)/dist-eac/v2/lib32)
|
||||
$(call install-strip,$(EAC_OBJ32)/easyanticheat.dll,$(OBJ)/dist-eac/v2/lib32)
|
||||
$(call install-strip,$(EAC_32_OBJ)/easyanticheat.so,$(OBJ)/dist-eac/v2/lib32)
|
||||
$(call install-strip,$(EAC_32_OBJ)/easyanticheat.dll,$(OBJ)/dist-eac/v2/lib32)
|
||||
mv $(OBJ)/dist-eac/v2/lib32/easyanticheat.so $(OBJ)/dist-eac/v2/lib32/easyanticheat_x86.so
|
||||
mv $(OBJ)/dist-eac/v2/lib32/easyanticheat.dll $(OBJ)/dist-eac/v2/lib32/easyanticheat_x86.dll
|
||||
touch $@
|
||||
@ -691,16 +691,16 @@ SYMSTORE_DEPENDS = wine
|
||||
$(eval $(call rules-source,symstore,$(SRCDIR)/symstore))
|
||||
$(eval $(call create-rules-common,symstore,SYMSTORE,64))
|
||||
|
||||
$(OBJ)/.symstore-build64:
|
||||
$(OBJ)/.symstore-64-build:
|
||||
@echo ":: building symstore helper..." >&2
|
||||
rsync -arx "$(SYMSTORE_SRC)/" "$(SYMSTORE_OBJ64)/"
|
||||
$(MAKE) -C "$(SYMSTORE_OBJ64)" SYMSTORE_CFLAGS="-I$(WINE_SRC)/include -I$(WINE_OBJ64)/include"
|
||||
rsync -arx "$(SYMSTORE_SRC)/" "$(SYMSTORE_64_OBJ)/"
|
||||
$(MAKE) -C "$(SYMSTORE_64_OBJ)" SYMSTORE_CFLAGS="-I$(WINE_SRC)/include -I$(WINE_64_OBJ)/include"
|
||||
touch $@
|
||||
|
||||
.PHONY: symstore-tarball
|
||||
symstore-tarball:
|
||||
mkdir -p $(OBJ)/symstore/$(BUILD_NAME)
|
||||
$(SYMSTORE_OBJ64)/symstore --skip-managed $(DST_BASE) $(OBJ)/symstore/$(BUILD_NAME)
|
||||
$(SYMSTORE_64_OBJ)/symstore --skip-managed $(DST_BASE) $(OBJ)/symstore/$(BUILD_NAME)
|
||||
cd $(OBJ)/symstore/$(BUILD_NAME) && zip -r ../$(BUILD_NAME)-symstore.zip . >& /dev/null
|
||||
|
||||
##
|
||||
@ -929,35 +929,33 @@ all-dist: $(DIST_FONTS)
|
||||
##
|
||||
|
||||
GECKO_VER := 2.47.4
|
||||
GECKO32_TARBALL := wine-gecko-$(GECKO_VER)-x86.tar.xz
|
||||
GECKO64_TARBALL := wine-gecko-$(GECKO_VER)-x86_64.tar.xz
|
||||
GECKO64_TARBALL_URL := https://dl.winehq.org/wine/wine-gecko/$(GECKO_VER)/$(GECKO64_TARBALL)
|
||||
GECKO32_TARBALL_URL := https://dl.winehq.org/wine/wine-gecko/$(GECKO_VER)/$(GECKO32_TARBALL)
|
||||
DIST_GECKO_DIR := $(DST_DIR)/share/wine/gecko
|
||||
DIST_GECKO32 := $(OBJ)/.gecko-dist32
|
||||
DIST_GECKO64 := $(OBJ)/.gecko-dist64
|
||||
GECKO_32_TARBALL := wine-gecko-$(GECKO_VER)-x86.tar.xz
|
||||
GECKO_64_TARBALL := wine-gecko-$(GECKO_VER)-x86_64.tar.xz
|
||||
GECKO_64_TARBALL_URL := https://dl.winehq.org/wine/wine-gecko/$(GECKO_VER)/$(GECKO_64_TARBALL)
|
||||
GECKO_32_TARBALL_URL := https://dl.winehq.org/wine/wine-gecko/$(GECKO_VER)/$(GECKO_32_TARBALL)
|
||||
GECKO_DST := $(DST_DIR)/share/wine/gecko
|
||||
|
||||
$(SRC)/contrib/$(GECKO64_TARBALL):
|
||||
$(SRC)/contrib/$(GECKO_64_TARBALL):
|
||||
mkdir -p $(dir $@)
|
||||
wget --no-use-server-timestamps -O $@ $(GECKO64_TARBALL_URL) || (rm $@; false)
|
||||
wget --no-use-server-timestamps -O $@ $(GECKO_64_TARBALL_URL) || (rm $@; false)
|
||||
|
||||
$(SRC)/contrib/$(GECKO32_TARBALL):
|
||||
$(SRC)/contrib/$(GECKO_32_TARBALL):
|
||||
mkdir -p $(dir $@)
|
||||
wget --no-use-server-timestamps -O $@ $(GECKO32_TARBALL_URL) || (rm $@; false)
|
||||
wget --no-use-server-timestamps -O $@ $(GECKO_32_TARBALL_URL) || (rm $@; false)
|
||||
|
||||
$(DIST_GECKO32): $(SRC)/contrib/$(GECKO32_TARBALL)
|
||||
mkdir -p $(DIST_GECKO_DIR)
|
||||
rm -rf $(DIST_GECKO_DIR)/wine-gecko-$(GECKO_VER)-x86
|
||||
tar --no-same-owner -xf $< -C $(DIST_GECKO_DIR)
|
||||
$(OBJ)/.gecko-32-dist: $(SRC)/contrib/$(GECKO_32_TARBALL)
|
||||
mkdir -p $(GECKO_DST)
|
||||
rm -rf $(GECKO_DST)/wine-gecko-$(GECKO_VER)-x86
|
||||
tar --no-same-owner -xf $< -C $(GECKO_DST)
|
||||
touch $@
|
||||
|
||||
$(DIST_GECKO64): $(SRC)/contrib/$(GECKO64_TARBALL)
|
||||
mkdir -p $(DIST_GECKO_DIR)
|
||||
rm -rf $(DIST_GECKO_DIR)/wine-gecko-$(GECKO_VER)-x86_64
|
||||
tar --no-same-owner -xf $< -C $(DIST_GECKO_DIR)
|
||||
$(OBJ)/.gecko-64-dist: $(SRC)/contrib/$(GECKO_64_TARBALL)
|
||||
mkdir -p $(GECKO_DST)
|
||||
rm -rf $(GECKO_DST)/wine-gecko-$(GECKO_VER)-x86_64
|
||||
tar --no-same-owner -xf $< -C $(GECKO_DST)
|
||||
touch $@
|
||||
|
||||
all-dist: $(DIST_GECKO32) $(DIST_GECKO64)
|
||||
all-dist: $(OBJ)/.gecko-32-dist $(OBJ)/.gecko-64-dist
|
||||
|
||||
|
||||
##
|
||||
@ -1011,43 +1009,41 @@ all-dist: $(DIST_XALIA)
|
||||
##
|
||||
|
||||
ICU_VER := 6.8.2
|
||||
DIST_ICU64_DIR := $(DST_LIBDIR)/wine/icu/x86_64-windows
|
||||
DIST_ICU64 := $(OBJ)/.icu-dist64
|
||||
ICU64_TARBALL := icu-$(ICU_VER)-x86_64.tar.xz
|
||||
DIST_ICU32_DIR := $(DST_LIBDIR)/wine/icu/i386-windows
|
||||
DIST_ICU32 := $(OBJ)/.icu-dist32
|
||||
ICU32_TARBALL := icu-$(ICU_VER)-x86.tar.xz
|
||||
ICU_64_DIST_DIR := $(DST_LIBDIR)/wine/icu/x86_64-windows
|
||||
ICU_64_TARBALL := icu-$(ICU_VER)-x86_64.tar.xz
|
||||
ICU_32_DIST_DIR := $(DST_LIBDIR)/wine/icu/i386-windows
|
||||
ICU_32_TARBALL := icu-$(ICU_VER)-x86.tar.xz
|
||||
|
||||
$(DIST_ICU64): $(SRC)/icu/$(ICU64_TARBALL)
|
||||
mkdir -p $(DIST_ICU64_DIR)
|
||||
rm -rf $(DIST_ICU64_DIR)/*.dll
|
||||
tar --no-same-owner -xf $< -C $(DIST_ICU64_DIR)
|
||||
$(OBJ)/.icu-64-dist: $(SRC)/icu/$(ICU_64_TARBALL)
|
||||
mkdir -p $(ICU_64_DIST_DIR)
|
||||
rm -rf $(ICU_64_DIST_DIR)/*.dll
|
||||
tar --no-same-owner -xf $< -C $(ICU_64_DIST_DIR)
|
||||
touch $@
|
||||
|
||||
$(DIST_ICU32): $(SRC)/icu/$(ICU32_TARBALL)
|
||||
mkdir -p $(DIST_ICU32_DIR)
|
||||
rm -rf $(DIST_ICU32_DIR)/*.dll
|
||||
tar --no-same-owner -xf $< -C $(DIST_ICU32_DIR)
|
||||
$(OBJ)/.icu-32-dist: $(SRC)/icu/$(ICU_32_TARBALL)
|
||||
mkdir -p $(ICU_32_DIST_DIR)
|
||||
rm -rf $(ICU_32_DIST_DIR)/*.dll
|
||||
tar --no-same-owner -xf $< -C $(ICU_32_DIST_DIR)
|
||||
touch $@
|
||||
|
||||
all-dist: $(DIST_ICU64) $(DIST_ICU32)
|
||||
all-dist: $(OBJ)/.icu-64-dist $(OBJ)/.icu-32-dist
|
||||
|
||||
|
||||
##
|
||||
## openvr
|
||||
##
|
||||
|
||||
DIST_OVR32 := $(DST_LIBDIR)/wine/dxvk/i386-windows/openvr_api_dxvk.dll
|
||||
$(DIST_OVR32): $(SRCDIR)/openvr/bin/win32/openvr_api.dll | $(DST_DIR)
|
||||
OVR_32_DIST := $(DST_LIBDIR)/wine/dxvk/i386-windows/openvr_api_dxvk.dll
|
||||
$(OVR_32_DIST): $(SRCDIR)/openvr/bin/win32/openvr_api.dll | $(DST_DIR)
|
||||
mkdir -p $(DST_LIBDIR)/wine/dxvk/i386-windows
|
||||
cp -af $< $@
|
||||
|
||||
DIST_OVR64 := $(DST_LIBDIR)/wine/dxvk/x86_64-windows/openvr_api_dxvk.dll
|
||||
$(DIST_OVR64): $(SRCDIR)/openvr/bin/win64/openvr_api.dll | $(DST_DIR)
|
||||
OVR_64_DIST := $(DST_LIBDIR)/wine/dxvk/x86_64-windows/openvr_api_dxvk.dll
|
||||
$(OVR_64_DIST): $(SRCDIR)/openvr/bin/win64/openvr_api.dll | $(DST_DIR)
|
||||
mkdir -p $(DST_LIBDIR)/wine/dxvk/x86_64-windows
|
||||
cp -af $< $@
|
||||
|
||||
all-dist: $(DIST_OVR32) $(DIST_OVR64)
|
||||
all-dist: $(OVR_32_DIST) $(OVR_64_DIST)
|
||||
|
||||
|
||||
##
|
||||
@ -1167,11 +1163,11 @@ redist: all
|
||||
|
||||
.PHONY: module32 module64 module
|
||||
|
||||
module32: | all-source wine-configure32
|
||||
+$(BEAR) $(MAKE) -j$(J) $(filter -j%,$(MAKEFLAGS)) $(MFLAGS) $(MAKEOVERRIDES) -C $(WINE_OBJ32)/dlls/$(module)
|
||||
module32: | all-source wine-32-configure
|
||||
+$(BEAR) $(MAKE) -j$(J) $(filter -j%,$(MAKEFLAGS)) $(MFLAGS) $(MAKEOVERRIDES) -C $(WINE_32_OBJ)/dlls/$(module)
|
||||
|
||||
module64: | all-source wine-configure64
|
||||
+$(BEAR) $(MAKE) -j$(J) $(filter -j%,$(MAKEFLAGS)) $(MFLAGS) $(MAKEOVERRIDES) -C $(WINE_OBJ64)/dlls/$(module)
|
||||
module64: | all-source wine-64-configure
|
||||
+$(BEAR) $(MAKE) -j$(J) $(filter -j%,$(MAKEFLAGS)) $(MFLAGS) $(MAKEOVERRIDES) -C $(WINE_64_OBJ)/dlls/$(module)
|
||||
|
||||
module: | all-source wine-configure
|
||||
module: module32 module64
|
||||
|
@ -11,27 +11,27 @@ $$($(2)_SRC)/configure: $$($(2)_ORIGIN)/configure.ac | $$(OBJ)/.$(1)-post-source
|
||||
@echo ":: autoreconfing $(1)..." >&2
|
||||
cd "$$($(2)_SRC)" && autoreconf -fiv
|
||||
|
||||
$$(OBJ)/.$(1)-configure$(3): $$($(2)_SRC)/configure
|
||||
@echo ":: configuring $(3)bit $(1)..." >&2
|
||||
rm -rf "$$($(2)_OBJ$(3))/config.cache"
|
||||
$$(OBJ)/.$(1)-$(3)-configure: $$($(2)_SRC)/configure
|
||||
@echo ":: configuring $(1)-$(3)..." >&2
|
||||
rm -rf "$$($(2)_$(3)_OBJ)/config.cache"
|
||||
|
||||
cd "$$($(2)_OBJ$(3))" && env $$($(2)_ENV$(3)) \
|
||||
cd "$$($(2)_$(3)_OBJ)" && env $$($(2)_$(3)_ENV) \
|
||||
$$($(2)_SRC)/configure $(--quiet?) -C \
|
||||
--prefix="$$($(2)_DST$(3))" \
|
||||
--libdir="$$($(2)_DST$(3))/lib" \
|
||||
--host="$$(TARGET_$(4)$(3))" \
|
||||
$$($(2)_ENV$(3)) \
|
||||
$$(AUTOCONF_ARGS_$(3)) \
|
||||
--prefix="$$($(2)_$(3)_DST)" \
|
||||
--libdir="$$($(2)_$(3)_DST)/lib" \
|
||||
--host="$$($(4)$(3)_TARGET)" \
|
||||
$$($(2)_$(3)_ENV) \
|
||||
$$($(3)_AUTOCONF_ARGS) \
|
||||
$$($(2)_AUTOCONF_ARGS) \
|
||||
$$($(2)_AUTOCONF_ARGS$(3)) \
|
||||
$$($(2)_$(3)_AUTOCONF_ARGS)
|
||||
|
||||
touch $$@
|
||||
|
||||
$$(OBJ)/.$(1)-build$(3):
|
||||
@echo ":: building $(3)bit $(1)..." >&2
|
||||
+cd "$$($(2)_OBJ$(3))" && env $$($(2)_ENV$(3)) \
|
||||
$$(OBJ)/.$(1)-$(3)-build:
|
||||
@echo ":: building $(1)-$(3)..." >&2
|
||||
+cd "$$($(2)_$(3)_OBJ)" && env $$($(2)_$(3)_ENV) \
|
||||
$$(BEAR) $$(MAKE)
|
||||
cd "$$($(2)_OBJ$(3))" && env $$($(2)_ENV$(3)) \
|
||||
cd "$$($(2)_$(3)_OBJ)" && env $$($(2)_$(3)_ENV) \
|
||||
$$(MAKE) install
|
||||
touch $$@
|
||||
endef
|
||||
|
@ -6,27 +6,26 @@
|
||||
define create-rules-cargo
|
||||
$(call create-rules-common,$(1),$(2),$(3))
|
||||
|
||||
$$(OBJ)/.$(1)-configure$(3):
|
||||
@echo ":: configuring $(3)bit $(1)..." >&2
|
||||
$$(OBJ)/.$(1)-$(3)-configure:
|
||||
@echo ":: configuring $(1)-$(3)..." >&2
|
||||
touch $$@
|
||||
|
||||
$$(OBJ)/.$(1)-build$(3):
|
||||
@echo ":: building $(3)bit $(1)..." >&2
|
||||
cd $$($(2)_SRC) && env $$($(2)_ENV$(3)) \
|
||||
$$(OBJ)/.$(1)-$(3)-build:
|
||||
@echo ":: building $(1)-$(3)..." >&2
|
||||
cd $$($(2)_SRC) && env $$($(2)_$(3)_ENV) \
|
||||
cargo build $(--quiet?) --release \
|
||||
$$(filter -j%,$$(MAKEFLAGS)) \
|
||||
--target-dir $$($(2)_OBJ$(3)) \
|
||||
$$(CARGO_ARGS_$(3)) \
|
||||
--target-dir $$($(2)_$(3)_OBJ) \
|
||||
$$($(3)_CARGO_ARGS) \
|
||||
$$($(2)_CARGO_ARGS) \
|
||||
$$($(2)_CARGO_ARGS$(3)) \
|
||||
|
||||
$$($(2)_$(3)_CARGO_ARGS)
|
||||
touch $$@
|
||||
endef
|
||||
|
||||
rules-cargo = $(call create-rules-cargo,$(1),$(call toupper,$(1)),$(2))
|
||||
|
||||
CARGO_TARGET_32 := i686-unknown-linux-gnu
|
||||
CARGO_TARGET_64 := x86_64-unknown-linux-gnu
|
||||
32_CARGO_TARGET := i686-unknown-linux-gnu
|
||||
64_CARGO_TARGET := x86_64-unknown-linux-gnu
|
||||
|
||||
CARGO_ARGS_32 := --target $(CARGO_TARGET_32)
|
||||
CARGO_ARGS_64 := --target $(CARGO_TARGET_64)
|
||||
32_CARGO_ARGS := --target $(32_CARGO_TARGET)
|
||||
64_CARGO_ARGS := --target $(64_CARGO_TARGET)
|
||||
|
@ -8,29 +8,29 @@ define create-rules-cmake
|
||||
$(call create-rules-common,$(1),$(2),$(3),$(4))
|
||||
|
||||
$$($(2)_SRC)/CMakeLists.txt: | $$(OBJ)/.$(1)-post-source
|
||||
$$(OBJ)/.$(1)-configure$(3): $$($(2)_SRC)/CMakeLists.txt
|
||||
@echo ":: configuring $(3)bit $(1)..." >&2
|
||||
rm -rf "$$($(2)_OBJ$(3))/CMakeCache.txt"
|
||||
$$(OBJ)/.$(1)-$(3)-configure: $$($(2)_SRC)/CMakeLists.txt
|
||||
@echo ":: configuring $(1)-$(3)..." >&2
|
||||
rm -rf "$$($(2)_$(3)_OBJ)/CMakeCache.txt"
|
||||
|
||||
cd "$$($(2)_OBJ$(3))" && env $$($(2)_ENV$(3)) \
|
||||
cd "$$($(2)_$(3)_OBJ)" && env $$($(2)_$(3)_ENV) \
|
||||
cmake "$$($(2)_SRC)" \
|
||||
-DCMAKE_INSTALL_PREFIX="$$($(2)_DST$(3))" \
|
||||
-DCMAKE_INSTALL_LIBDIR="lib/$$(LIBDIR_$(4)$(3))" \
|
||||
-DCMAKE_INSTALL_PREFIX="$$($(2)_$(3)_DST)" \
|
||||
-DCMAKE_INSTALL_LIBDIR="lib/$$($(4)$(3)_LIBDIR)" \
|
||||
-DCMAKE_BUILD_TYPE=plain \
|
||||
-DCMAKE_SYSTEM_NAME=$(if $(4),Windows,) \
|
||||
-DCMAKE_SHARED_LIBRARY_PREFIX_C=$(if $(4),,lib) \
|
||||
-DCMAKE_IMPORT_LIBRARY_PREFIX_C=$(if $(4),,lib) \
|
||||
$$(CMAKE_ARGS_$(3)) \
|
||||
$$($(3)_CMAKE_ARGS) \
|
||||
$$($(2)_CMAKE_ARGS) \
|
||||
$$($(2)_CMAKE_ARGS$(3)) \
|
||||
$$($(2)_$(3)_CMAKE_ARGS)
|
||||
|
||||
touch $$@
|
||||
|
||||
$$(OBJ)/.$(1)-build$(3):
|
||||
@echo ":: building $(3)bit $(1)..." >&2
|
||||
cd "$$($(2)_OBJ$(3))" && env $$($(2)_ENV$(3)) \
|
||||
$$(OBJ)/.$(1)-$(3)-build:
|
||||
@echo ":: building $(1)-$(3)..." >&2
|
||||
cd "$$($(2)_$(3)_OBJ)" && env $$($(2)_$(3)_ENV) \
|
||||
$$(MAKE)
|
||||
cd "$$($(2)_OBJ$(3))" && env $$($(2)_ENV$(3)) \
|
||||
cd "$$($(2)_$(3)_OBJ)" && env $$($(2)_$(3)_ENV) \
|
||||
$$(MAKE) install
|
||||
touch $$@
|
||||
endef
|
||||
|
@ -4,98 +4,98 @@
|
||||
# $(3): 32/64, build type
|
||||
# $(4): CROSS/<empty>, cross compile
|
||||
define create-rules-common
|
||||
$(2)_OBJ$(3) := $$(OBJ)/obj-$(1)$(3)
|
||||
$(2)_DST$(3) := $$(OBJ)/dst-$(1)$(3)
|
||||
$(2)_DEPS$(3) := $$(call toupper,$$($(2)_DEPENDS)) $$(call toupper,$$($(2)_DEPENDS$(3)))
|
||||
$(2)_$(3)_OBJ := $$(OBJ)/obj-$(1)-$(3)
|
||||
$(2)_$(3)_DST := $$(OBJ)/dst-$(1)-$(3)
|
||||
$(2)_$(3)_DEPS := $$(call toupper,$$($(2)_DEPENDS)) $$(call toupper,$$($(2)_$(3)_DEPENDS))
|
||||
|
||||
$(2)_BINDIR$(3) ?= $$($(2)_DST$(3))/bin
|
||||
$(2)_LIBDIR$(3) ?= $$($(2)_DST$(3))/lib
|
||||
$(2)_INCDIR$(3) ?= $$($(2)_DST$(3))/include
|
||||
$(2)_$(3)_BINDIR ?= $$($(2)_$(3)_DST)/bin
|
||||
$(2)_$(3)_LIBDIR ?= $$($(2)_$(3)_DST)/lib
|
||||
$(2)_$(3)_INCDIR ?= $$($(2)_$(3)_DST)/include
|
||||
|
||||
$$(OBJ)/.$(1)-configure$(3): $$(shell mkdir -p $$($(2)_OBJ$(3)))
|
||||
$$(OBJ)/.$(1)-configure$(3): CCACHE_BASEDIR = $$($(2)_SRC)
|
||||
$$(OBJ)/.$(1)-configure$(3): $$(patsubst %,%-build$(3),$$($(2)_DEPENDS) $$($(2)_DEPENDS$(3)))
|
||||
$$(OBJ)/.$(1)-configure$(3): | $$(OBJ)/.$(1)-post-source
|
||||
$$(OBJ)/.$(1)-$(3)-configure: $$(shell mkdir -p $$($(2)_$(3)_OBJ))
|
||||
$$(OBJ)/.$(1)-$(3)-configure: CCACHE_BASEDIR = $$($(2)_SRC)
|
||||
$$(OBJ)/.$(1)-$(3)-configure: $$(patsubst %,%-$(3)-build,$$($(2)_DEPENDS) $$($(2)_$(3)_DEPENDS))
|
||||
$$(OBJ)/.$(1)-$(3)-configure: | $$(OBJ)/.$(1)-post-source
|
||||
|
||||
$(1)-configure$(3): $$(OBJ)/.$(1)-configure$(3)
|
||||
.INTERMEDIATE: $(1)-configure$(3)
|
||||
$(1)-$(3)-configure: $$(OBJ)/.$(1)-$(3)-configure
|
||||
.INTERMEDIATE: $(1)-$(3)-configure
|
||||
|
||||
all-configure$(3) $(1)-configure: $(1)-configure$(3)
|
||||
.PHONY: all-configure$(3) $(1)-configure
|
||||
all-$(3)-configure $(1)-configure: $(1)-$(3)-configure
|
||||
.PHONY: all-$(3)-configure $(1)-configure
|
||||
|
||||
all-configure: $(1)-configure
|
||||
.PHONY: all-configure
|
||||
|
||||
|
||||
$$(OBJ)/.$(1)-build$(3): CCACHE_BASEDIR = $$($(2)_SRC)
|
||||
$$(OBJ)/.$(1)-build$(3): $$(OBJ)/.$(1)-source
|
||||
$$(OBJ)/.$(1)-build$(3): $$(OBJ)/.$(1)-configure$(3)
|
||||
$$(OBJ)/.$(1)-$(3)-build: CCACHE_BASEDIR = $$($(2)_SRC)
|
||||
$$(OBJ)/.$(1)-$(3)-build: $$(OBJ)/.$(1)-source
|
||||
$$(OBJ)/.$(1)-$(3)-build: $$(OBJ)/.$(1)-$(3)-configure
|
||||
|
||||
$$(OBJ)/.$(1)-post-build$(3): $$(OBJ)/.$(1)-build$(3)
|
||||
$$(OBJ)/.$(1)-$(3)-post-build: $$(OBJ)/.$(1)-$(3)-build
|
||||
|
||||
$(1)-build$(3): $$(OBJ)/.$(1)-build$(3)
|
||||
.INTERMEDIATE: $(1)-build$(3)
|
||||
$(1)-$(3)-build: $$(OBJ)/.$(1)-$(3)-build
|
||||
.INTERMEDIATE: $(1)-$(3)-build
|
||||
|
||||
all-build$(3) $(1)-build: $(1)-build$(3)
|
||||
.PHONY: all-build$(3) $(1)-build
|
||||
all-$(3)-build $(1)-build: $(1)-$(3)-build
|
||||
.PHONY: all-$(3)-build $(1)-build
|
||||
|
||||
all-build: $(1)-build
|
||||
.PHONY: all-build
|
||||
|
||||
|
||||
$$(OBJ)/.$(1)-dist$(3): $$(OBJ)/.$(1)-build$(3)
|
||||
$$(OBJ)/.$(1)-dist$(3): $$(OBJ)/.$(1)-post-build$(3)
|
||||
$$(OBJ)/.$(1)-$(3)-dist: $$(OBJ)/.$(1)-$(3)-build
|
||||
$$(OBJ)/.$(1)-$(3)-dist: $$(OBJ)/.$(1)-$(3)-post-build
|
||||
|
||||
$(2)_SOURCE_DATE_EPOCH$(3) ?= $$(BASE_SOURCE_DATE_EPOCH$(3))
|
||||
$(2)_$(3)_SOURCE_DATE_EPOCH ?= $$($(3)_SOURCE_DATE_EPOCH)
|
||||
|
||||
$$(OBJ)/.$(1)-dist$(3):
|
||||
@echo ":: installing $(3)bit $(1)..." >&2
|
||||
if [ -f "$$($(2)_OBJ$(3))/compile_commands.json" ]; then \
|
||||
mkdir -p "$$(OBJ)/compile_commands/$(1)$(3)/"; \
|
||||
sed "s#$$($(2)_SRC)#$$($(2)_ORIGIN)#g" "$$($(2)_OBJ$(3))/compile_commands.json" > "$$(OBJ)/compile_commands/$(1)$(3)/compile_commands.json"; \
|
||||
$$(OBJ)/.$(1)-$(3)-dist:
|
||||
@echo ":: installing $(1)-$(3)..." >&2
|
||||
if [ -f "$$($(2)_$(3)_OBJ)/compile_commands.json" ]; then \
|
||||
mkdir -p "$$(OBJ)/compile_commands/$(1)-$(3)/"; \
|
||||
sed "s#$$($(2)_SRC)#$$($(2)_ORIGIN)#g" "$$($(2)_$(3)_OBJ)/compile_commands.json" > "$$(OBJ)/compile_commands/$(1)-$(3)/compile_commands.json"; \
|
||||
fi
|
||||
mkdir -p $$($(2)_LIBDIR$(3))/ $$(DST_LIBDIR)/
|
||||
cd $$($(2)_LIBDIR$(3)) && find -type f -printf '$$(DST_LIBDIR)/%h\0' | sort -z | uniq -z | xargs $(--verbose?) -0 -r -P$$(J) mkdir -p
|
||||
cd $$($(2)_LIBDIR$(3)) && find -type l -printf '%p\0$$(DST_LIBDIR)/%p\0' | xargs $(--verbose?) -0 -r -P$$(J) -n2 cp -a
|
||||
mkdir -p $$($(2)_$(3)_LIBDIR)/ $$(DST_LIBDIR)/
|
||||
cd $$($(2)_$(3)_LIBDIR) && find -type f -printf '$$(DST_LIBDIR)/%h\0' | sort -z | uniq -z | xargs $(--verbose?) -0 -r -P$$(J) mkdir -p
|
||||
cd $$($(2)_$(3)_LIBDIR) && find -type l -printf '%p\0$$(DST_LIBDIR)/%p\0' | xargs $(--verbose?) -0 -r -P$$(J) -n2 cp -a
|
||||
ifneq ($(UNSTRIPPED_BUILD),)
|
||||
cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.la' -or -iname '*.def' -or -iname '*.h' ')' \
|
||||
cd $$($(2)_$(3)_LIBDIR) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.la' -or -iname '*.def' -or -iname '*.h' ')' \
|
||||
-printf '--only-keep-debug\0%p\0$$(DST_LIBDIR)/%p.debug\0' | \
|
||||
xargs $(--verbose?) -0 -r -P$$(J) -n3 objcopy $(OBJCOPY_FLAGS)
|
||||
cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.la' -or -iname '*.def' -or -iname '*.h' ')' \
|
||||
cd $$($(2)_$(3)_LIBDIR) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.la' -or -iname '*.def' -or -iname '*.h' ')' \
|
||||
-printf '--add-gnu-debuglink=$$(DST_LIBDIR)/%p.debug\0--strip-debug\0%p\0$$(DST_LIBDIR)/%p\0' | \
|
||||
xargs $(--verbose?) -0 -r -P$$(J) -n4 objcopy $(OBJCOPY_FLAGS) --set-section-flags .text=contents,alloc,load,readonly,code
|
||||
touch $$@
|
||||
else
|
||||
cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.la' -or -iname '*.def' -or -iname '*.h' ')' \
|
||||
cd $$($(2)_$(3)_LIBDIR) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.la' -or -iname '*.def' -or -iname '*.h' ')' \
|
||||
-printf '$$(DST_LIBDIR)/%p.debug\0' | xargs $(--verbose?) -0 -r -P$$(J) rm -f
|
||||
cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.la' -or -iname '*.def' -or -iname '*.h' ')' \
|
||||
cd $$($(2)_$(3)_LIBDIR) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.la' -or -iname '*.def' -or -iname '*.h' ')' \
|
||||
-printf '--strip-debug\0%p\0$$(DST_LIBDIR)/%p\0' | \
|
||||
xargs $(--verbose?) -0 -r -P$$(J) -n3 objcopy $(OBJCOPY_FLAGS) --set-section-flags .text=contents,alloc,load,readonly,code
|
||||
touch $$@
|
||||
endif
|
||||
|
||||
$(1)-dist$(3): $$(OBJ)/.$(1)-dist$(3)
|
||||
.INTERMEDIATE: $(1)-dist$(3)
|
||||
$(1)-$(3)-dist: $$(OBJ)/.$(1)-$(3)-dist
|
||||
.INTERMEDIATE: $(1)-$(3)-dist
|
||||
|
||||
all-dist$(3) $(1)-dist: $(1)-dist$(3)
|
||||
.PHONY: all-dist$(3) $(1)-dist
|
||||
all-$(3)-dist $(1)-dist: $(1)-$(3)-dist
|
||||
.PHONY: all-$(3)-dist $(1)-dist
|
||||
|
||||
all-dist: $(1)-dist
|
||||
.PHONY: all-dist
|
||||
|
||||
|
||||
$(1)$(3): $(1)-configure$(3) $(1)-build$(3) $(1)-dist$(3)
|
||||
.INTERMEDIATE: $(1)$(3)
|
||||
$(1)-$(3): $(1)-$(3)-configure $(1)-$(3)-build $(1)-$(3)-dist
|
||||
.INTERMEDIATE: $(1)-$(3)
|
||||
|
||||
all$(3) $(1): $(1)$(3)
|
||||
.PHONY: all$(3) $(1)
|
||||
all-$(3) $(1): $(1)-$(3)
|
||||
.PHONY: all-$(3) $(1)
|
||||
|
||||
all: $(1)
|
||||
.PHONY: all
|
||||
|
||||
$(2)_INCFLAGS$(3) = $$(foreach d,$$($(2)_DEPS$(3)),-I$$($$(d)_INCDIR$(3)))
|
||||
$(2)_LIBFLAGS$(3) = $$(foreach d,$$($(2)_DEPS$(3)),-L$$($$(d)_LIBDIR$(3))/$$(LIBDIR_$(4)$(3))) \
|
||||
$$(foreach d,$$($(2)_DEPS$(3)),-Wl,-rpath-link=$$($$(d)_LIBDIR$(3))/$$(LIBDIR_$(4)$(3))) \
|
||||
$(2)_$(3)_INCFLAGS = $$(foreach d,$$($(2)_$(3)_DEPS),-I$$($$(d)_$(3)_INCDIR))
|
||||
$(2)_$(3)_LIBFLAGS = $$(foreach d,$$($(2)_$(3)_DEPS),-L$$($$(d)_$(3)_LIBDIR)/$$($(4)$(3)_LIBDIR)) \
|
||||
$$(foreach d,$$($(2)_$(3)_DEPS),-Wl,-rpath-link=$$($$(d)_$(3)_LIBDIR)/$$($(4)$(3)_LIBDIR)) \
|
||||
|
||||
# PKG_CONFIG is intentionally never using CROSS target, as it's missing
|
||||
# wrapper scripts in the toolchain, we use PKG_CONFIG_LIBDIR directly
|
||||
@ -105,27 +105,27 @@ $(2)_LIBFLAGS$(3) = $$(foreach d,$$($(2)_DEPS$(3)),-L$$($$(d)_LIBDIR$(3))/$$(LIB
|
||||
# native version doesn't exist.
|
||||
|
||||
|
||||
$(2)_ENV$(3) = \
|
||||
CARGO_TARGET_$$(call toupper,$$(CARGO_TARGET_$(3)))_LINKER="$$(TARGET_$(4)$(3))-gcc" \
|
||||
$(2)_$(3)_ENV = \
|
||||
CARGO_TARGET_$$(call toupper,$$($(3)_CARGO_TARGET))_LINKER="$$($(4)$(3)_TARGET)-gcc" \
|
||||
CCACHE_BASEDIR="$$(CCACHE_BASEDIR)" \
|
||||
STRIP="$$(STRIP)" \
|
||||
AR="$$(TARGET_$(4)$(3))-ar" \
|
||||
RANLIB="$$(TARGET_$(4)$(3))-ranlib" \
|
||||
CC="$$(TARGET_$(4)$(3))-gcc" \
|
||||
CXX="$$(TARGET_$(4)$(3))-g++" \
|
||||
LD="$$(TARGET_$(4)$(3))-ld" \
|
||||
RC="$$(TARGET_CROSS$(3))-windres" \
|
||||
WIDL="$$(TARGET_CROSS$(3))-widl" \
|
||||
PKG_CONFIG="$$(TARGET_$(3))-pkg-config" \
|
||||
PATH="$$(call list-join,:,$$(foreach d,$$($(2)_DEPS$(3)),$$($$(d)_BINDIR$(3))),,:):$$$$PATH" \
|
||||
LD_LIBRARY_PATH="$$(call list-join,:,$$(foreach d,$$($(2)_DEPS$(3)),$$($$(d)_LIBDIR$(3))/$$(LIBDIR_$(4)$(3))),,:)$$$$LD_LIBRARY_PATH" \
|
||||
PKG_CONFIG_PATH="$$(call list-join,:,$$(foreach d,$$($(2)_DEPS$(3)),$$($$(d)_LIBDIR$(3))/$$(LIBDIR_$(4)$(3))/pkgconfig))" \
|
||||
PKG_CONFIG_LIBDIR="/usr/lib/$$(LIBDIR_$(4)$(3))/pkgconfig:/usr/share/pkgconfig" \
|
||||
CFLAGS="$$($(2)_INCFLAGS$(3)) $$($(2)_CFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS$(3))" \
|
||||
CPPFLAGS="$$($(2)_INCFLAGS$(3)) $$($(2)_CPPFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS$(3))" \
|
||||
CXXFLAGS="$$($(2)_INCFLAGS$(3)) $$($(2)_CXXFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS$(3)) -std=c++17" \
|
||||
LDFLAGS="$$($(2)_LIBFLAGS$(3)) $$($(2)_LDFLAGS$(3)) $$($(2)_LDFLAGS) $$($(4)LDFLAGS)" \
|
||||
SOURCE_DATE_EPOCH="$$($(2)_SOURCE_DATE_EPOCH$(3))" \
|
||||
AR="$$($(4)$(3)_TARGET)-ar" \
|
||||
RANLIB="$$($(4)$(3)_TARGET)-ranlib" \
|
||||
CC="$$($(4)$(3)_TARGET)-gcc" \
|
||||
CXX="$$($(4)$(3)_TARGET)-g++" \
|
||||
LD="$$($(4)$(3)_TARGET)-ld" \
|
||||
RC="$$(CROSS$(3)_TARGET)-windres" \
|
||||
WIDL="$$(CROSS$(3)_TARGET)-widl" \
|
||||
PKG_CONFIG="$$($(3)_TARGET)-pkg-config" \
|
||||
PATH="$$(call list-join,:,$$(foreach d,$$($(2)_$(3)_DEPS),$$($$(d)_$(3)_BINDIR)),,:):$$$$PATH" \
|
||||
LD_LIBRARY_PATH="$$(call list-join,:,$$(foreach d,$$($(2)_$(3)_DEPS),$$($$(d)_$(3)_LIBDIR)/$$($(4)$(3)_LIBDIR)),,:)$$$$LD_LIBRARY_PATH" \
|
||||
PKG_CONFIG_PATH="$$(call list-join,:,$$(foreach d,$$($(2)_$(3)_DEPS),$$($$(d)_$(3)_LIBDIR)/$$($(4)$(3)_LIBDIR)/pkgconfig))" \
|
||||
PKG_CONFIG_LIBDIR="/usr/lib/$$($(4)$(3)_LIBDIR)/pkgconfig:/usr/share/pkgconfig" \
|
||||
CFLAGS="$$($(2)_$(3)_INCFLAGS) $$($(2)_CFLAGS) $$(COMMON_FLAGS) $$($(3)_COMMON_FLAGS)" \
|
||||
CPPFLAGS="$$($(2)_$(3)_INCFLAGS) $$($(2)_CPPFLAGS) $$(COMMON_FLAGS) $$($(3)_COMMON_FLAGS)" \
|
||||
CXXFLAGS="$$($(2)_$(3)_INCFLAGS) $$($(2)_CXXFLAGS) $$(COMMON_FLAGS) $$($(3)_COMMON_FLAGS) -std=c++17" \
|
||||
LDFLAGS="$$($(2)_$(3)_LIBFLAGS) $$($(2)_$(3)_LDFLAGS) $$($(2)_LDFLAGS) $$($(4)LDFLAGS)" \
|
||||
SOURCE_DATE_EPOCH="$$($(2)_$(3)_SOURCE_DATE_EPOCH)" \
|
||||
|
||||
ifneq ($(4),CROSS)
|
||||
|
||||
@ -135,17 +135,17 @@ ifneq ($(4),CROSS)
|
||||
# This is for instance used by Wine, but also Meson, as it requires the
|
||||
# environment variable to ones for native.
|
||||
|
||||
$(2)_ENV$(3) += \
|
||||
CROSSAR="$$(TARGET_CROSS$(3))-ar" \
|
||||
CROSSRANLIB="$$(TARGET_CROSS$(3))-ranlib" \
|
||||
CROSSCC="$$(TARGET_CROSS$(3))-gcc" \
|
||||
CROSSCXX="$$(TARGET_CROSS$(3))-g++" \
|
||||
CROSSLD="$$(TARGET_CROSS$(3))-ld" \
|
||||
CROSSCFLAGS="$$($(2)_INCFLAGS$(3)) $$($(2)_CFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS$(3))" \
|
||||
CROSSCPPFLAGS="$$($(2)_INCFLAGS$(3)) $$($(2)_CPPFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS$(3))" \
|
||||
CROSSCXXFLAGS="$$($(2)_INCFLAGS$(3)) $$($(2)_CXXFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS$(3)) -std=c++17" \
|
||||
CROSSLDFLAGS="$$($(2)_LIBFLAGS$(3)) $$($(2)_LDFLAGS$(3)) $$($(2)_LDFLAGS) $$(CROSSLDFLAGS)" \
|
||||
CROSSPKG_CONFIG_LIBDIR="/usr/lib/$$(LIBDIR_CROSS$(3))/pkgconfig:/usr/share/pkgconfig" \
|
||||
$(2)_$(3)_ENV += \
|
||||
CROSSAR="$$(CROSS$(3)_TARGET)-ar" \
|
||||
CROSSRANLIB="$$(CROSS$(3)_TARGET)-ranlib" \
|
||||
CROSSCC="$$(CROSS$(3)_TARGET)-gcc" \
|
||||
CROSSCXX="$$(CROSS$(3)_TARGET)-g++" \
|
||||
CROSSLD="$$(CROSS$(3)_TARGET)-ld" \
|
||||
CROSSCFLAGS="$$($(2)_$(3)_INCFLAGS) $$($(2)_CFLAGS) $$(COMMON_FLAGS) $$($(3)_COMMON_FLAGS)" \
|
||||
CROSSCPPFLAGS="$$($(2)_$(3)_INCFLAGS) $$($(2)_CPPFLAGS) $$(COMMON_FLAGS) $$($(3)_COMMON_FLAGS)" \
|
||||
CROSSCXXFLAGS="$$($(2)_$(3)_INCFLAGS) $$($(2)_CXXFLAGS) $$(COMMON_FLAGS) $$($(3)_COMMON_FLAGS) -std=c++17" \
|
||||
CROSSLDFLAGS="$$($(2)_$(3)_LIBFLAGS) $$($(2)_$(3)_LDFLAGS) $$($(2)_LDFLAGS) $$(CROSSLDFLAGS)" \
|
||||
CROSSPKG_CONFIG_LIBDIR="/usr/lib/$$(CROSS$(3)_LIBDIR)/pkgconfig:/usr/share/pkgconfig" \
|
||||
|
||||
endif
|
||||
|
||||
@ -158,24 +158,24 @@ else
|
||||
install-strip = objcopy $(OBJCOPY_FLAGS) --strip-debug $(1) $(2)/$(notdir $(1)) && rm -f $(2)/$(notdir $(1)).debug
|
||||
endif
|
||||
|
||||
TARGET_32 := i686-linux-gnu
|
||||
TARGET_64 := x86_64-linux-gnu
|
||||
TARGET_CROSS32 := i686-w64-mingw32
|
||||
TARGET_CROSS64 := x86_64-w64-mingw32
|
||||
32_TARGET := i686-linux-gnu
|
||||
64_TARGET := x86_64-linux-gnu
|
||||
CROSS32_TARGET := i686-w64-mingw32
|
||||
CROSS64_TARGET := x86_64-w64-mingw32
|
||||
|
||||
LIBDIR_32 := i386-linux-gnu
|
||||
LIBDIR_64 := x86_64-linux-gnu
|
||||
LIBDIR_CROSS32 := i386-w64-mingw32
|
||||
LIBDIR_CROSS64 := x86_64-w64-mingw32
|
||||
32_LIBDIR := i386-linux-gnu
|
||||
64_LIBDIR := x86_64-linux-gnu
|
||||
CROSS32_LIBDIR := i386-w64-mingw32
|
||||
CROSS64_LIBDIR := x86_64-w64-mingw32
|
||||
|
||||
LIBDIR_WINE_32 := wine/i386-unix
|
||||
LIBDIR_WINE_64 := wine/x86_64-unix
|
||||
LIBDIR_WINE_CROSS32 := wine/i386-windows
|
||||
LIBDIR_WINE_CROSS64 := wine/x86_64-windows
|
||||
32_WINEDIR := wine/i386-unix
|
||||
64_WINEDIR := wine/x86_64-unix
|
||||
CROSS32_WINEDIR := wine/i386-windows
|
||||
CROSS64_WINEDIR := wine/x86_64-windows
|
||||
|
||||
$(OBJ)/.%-post-build32:
|
||||
$(OBJ)/.%-32-post-build:
|
||||
touch $@
|
||||
$(OBJ)/.%-post-build64:
|
||||
$(OBJ)/.%-64-post-build:
|
||||
touch $@
|
||||
|
||||
rules-common = $(call create-rules-common,$(1),$(call toupper,$(1)),$(2),$(3))
|
||||
|
@ -7,31 +7,31 @@
|
||||
define create-rules-configure
|
||||
$(call create-rules-common,$(1),$(2),$(3),$(4))
|
||||
|
||||
$$(OBJ)/.$(1)-configure$(3):
|
||||
@echo ":: configuring $(3)bit $(1)..." >&2
|
||||
$$(OBJ)/.$(1)-$(3)-configure:
|
||||
@echo ":: configuring $(1)-$(3)..." >&2
|
||||
|
||||
cd "$$($(2)_OBJ$(3))" && env $$($(2)_ENV$(3)) \
|
||||
cd "$$($(2)_$(3)_OBJ)" && env $$($(2)_$(3)_ENV) \
|
||||
$$($(2)_SRC)/configure $(--quiet?) \
|
||||
--cross-prefix=$$(TARGET_$(3))- \
|
||||
--cross-prefix=$$($(3)_TARGET)- \
|
||||
--target-os=linux \
|
||||
--prefix="$$($(2)_DST$(3))" \
|
||||
--libdir="$$($(2)_LIBDIR$(3))/$$(LIBDIR_$(4)$(3))" \
|
||||
$$(CONFIGURE_ARGS_$(3)) \
|
||||
--prefix="$$($(2)_$(3)_DST)" \
|
||||
--libdir="$$($(2)_$(3)_LIBDIR)/$$($(4)$(3)_LIBDIR)" \
|
||||
$$($(3)_CONFIGURE_ARGS) \
|
||||
$$($(2)_CONFIGURE_ARGS) \
|
||||
$$($(2)_CONFIGURE_ARGS$(3)) \
|
||||
$$($(2)_$(3)_CONFIGURE_ARGS)
|
||||
|
||||
touch $$@
|
||||
|
||||
$$(OBJ)/.$(1)-build$(3):
|
||||
@echo ":: building $(3)bit $(1)..." >&2
|
||||
+cd "$$($(2)_OBJ$(3))" && env $$($(2)_ENV$(3)) \
|
||||
$$(OBJ)/.$(1)-$(3)-build:
|
||||
@echo ":: building $(1)-$(3)..." >&2
|
||||
+cd "$$($(2)_$(3)_OBJ)" && env $$($(2)_$(3)_ENV) \
|
||||
$$(BEAR) $$(MAKE)
|
||||
cd "$$($(2)_OBJ$(3))" && env $$($(2)_ENV$(3)) \
|
||||
cd "$$($(2)_$(3)_OBJ)" && env $$($(2)_$(3)_ENV) \
|
||||
$$(MAKE) install
|
||||
touch $$@
|
||||
endef
|
||||
|
||||
CONFIGURE_ARGS_32 := --arch=x86
|
||||
CONFIGURE_ARGS_64 := --arch=x86_64
|
||||
32_CONFIGURE_ARGS := --arch=x86
|
||||
64_CONFIGURE_ARGS := --arch=x86_64
|
||||
|
||||
rules-configure = $(call create-rules-configure,$(1),$(call toupper,$(1)),$(2),$(3))
|
||||
|
@ -6,47 +6,47 @@
|
||||
define create-rules-makedep
|
||||
$(call create-rules-common,$(1),$(2),$(3)) # cannot pass $(4)/CROSS here because of link flags for remaining .dll.so modules
|
||||
|
||||
$$(OBJ)/.$(1)-configure$(3):
|
||||
@echo ":: configuring $(3)bit $(1)..." >&2
|
||||
$$(OBJ)/.$(1)-$(3)-configure:
|
||||
@echo ":: configuring $(1)-$(3)..." >&2
|
||||
|
||||
sed -e '/^all:$$$$/,$$$$c all:' \
|
||||
-e '/^SUBDIRS/,/[^\\]$$$$/c SUBDIRS = $$($(2)_SRC)' \
|
||||
\
|
||||
-e '/^srcdir/a objdir = $$(WINE_OBJ$(3))' \
|
||||
-e '/^prefix/c prefix = $$($(2)_DST$(3))' \
|
||||
-e '/^libdir/c libdir = $$($(2)_LIBDIR$(3))' \
|
||||
-e '/^toolsdir/c toolsdir = $$(WINE_OBJ$(3))' \
|
||||
-e '/^srcdir/a objdir = $$(WINE_$(3)_OBJ)' \
|
||||
-e '/^prefix/c prefix = $$($(2)_$(3)_DST)' \
|
||||
-e '/^libdir/c libdir = $$($(2)_$(3)_LIBDIR)' \
|
||||
-e '/^toolsdir/c toolsdir = $$(WINE_$(3)_OBJ)' \
|
||||
\
|
||||
-e '/^CFLAGS/c CFLAGS = $$($(2)_INCFLAGS$(3)) $$($(2)_CFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS$(3))' \
|
||||
-e '/^CPPFLAGS/c CPPFLAGS = $$($(2)_INCFLAGS$(3)) $$($(2)_CPPFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS$(3))' \
|
||||
-e '/^CXXFLAGS/c CXXFLAGS = $$($(2)_INCFLAGS$(3)) $$($(2)_CXXFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS$(3)) -std=c++17' \
|
||||
-e '/^LDFLAGS/c LDFLAGS = $$($(2)_LIBFLAGS$(3)) $$($(2)_LDFLAGS$(3)) $$($(2)_LDFLAGS)' \
|
||||
-e '/^CFLAGS/c CFLAGS = $$($(2)_$(3)_INCFLAGS) $$($(2)_CFLAGS) $$(COMMON_FLAGS) $$($(3)_COMMON_FLAGS)' \
|
||||
-e '/^CPPFLAGS/c CPPFLAGS = $$($(2)_$(3)_INCFLAGS) $$($(2)_CPPFLAGS) $$(COMMON_FLAGS) $$($(3)_COMMON_FLAGS)' \
|
||||
-e '/^CXXFLAGS/c CXXFLAGS = $$($(2)_$(3)_INCFLAGS) $$($(2)_CXXFLAGS) $$(COMMON_FLAGS) $$($(3)_COMMON_FLAGS) -std=c++17' \
|
||||
-e '/^LDFLAGS/c LDFLAGS = $$($(2)_$(3)_LIBFLAGS) $$($(2)_$(3)_LDFLAGS) $$($(2)_LDFLAGS)' \
|
||||
\
|
||||
-e '/^x86_64_CC/a x86_64_CXX = $$(TARGET_CROSS64)-g++' \
|
||||
-e '/^x86_64_CFLAGS/c x86_64_CFLAGS = $$($(2)_INCFLAGS64) $$($(2)_CFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS64)' \
|
||||
-e '/^x86_64_CPPFLAGS/c x86_64_CPPFLAGS = $$($(2)_INCFLAGS64) $$($(2)_CPPFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS64)' \
|
||||
-e '/^x86_64_CXXFLAGS/c x86_64_CXXFLAGS = $$($(2)_INCFLAGS64) $$($(2)_CXXFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS64) -std=c++17' \
|
||||
-e '/^x86_64_LDFLAGS/c x86_64_LDFLAGS = $$($(2)_LIBFLAGS64) $$($(2)_LDFLAGS64) $$(CROSSLDFLAGS)' \
|
||||
-e '/^x86_64_CC/a x86_64_CXX = $$(CROSS64_TARGET)-g++' \
|
||||
-e '/^x86_64_CFLAGS/c x86_64_CFLAGS = $$($(2)_64_INCFLAGS) $$($(2)_CFLAGS) $$(COMMON_FLAGS) $$(64_COMMON_FLAGS)' \
|
||||
-e '/^x86_64_CPPFLAGS/c x86_64_CPPFLAGS = $$($(2)_64_INCFLAGS) $$($(2)_CPPFLAGS) $$(COMMON_FLAGS) $$(64_COMMON_FLAGS)' \
|
||||
-e '/^x86_64_CXXFLAGS/c x86_64_CXXFLAGS = $$($(2)_64_INCFLAGS) $$($(2)_CXXFLAGS) $$(COMMON_FLAGS) $$(64_COMMON_FLAGS) -std=c++17' \
|
||||
-e '/^x86_64_LDFLAGS/c x86_64_LDFLAGS = $$($(2)_64_LIBFLAGS) $$($(2)_64_LDFLAGS) $$(CROSSLDFLAGS)' \
|
||||
\
|
||||
-e '/^i386_CC/a i386_CXX = $$(TARGET_CROSS32)-g++' \
|
||||
-e '/^i386_CFLAGS/c i386_CFLAGS = $$($(2)_INCFLAGS32) $$($(2)_CFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS32)' \
|
||||
-e '/^i386_CPPFLAGS/c i386_CPPFLAGS = $$($(2)_INCFLAGS32) $$($(2)_CPPFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS32)' \
|
||||
-e '/^i386_CXXFLAGS/c i386_CXXFLAGS = $$($(2)_INCFLAGS32) $$($(2)_CXXFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS32) -std=c++17' \
|
||||
-e '/^i386_LDFLAGS/c i386_LDFLAGS = $$($(2)_LIBFLAGS32) $$($(2)_LDFLAGS32) $$(CROSSLDFLAGS)' \
|
||||
-e '/^i386_CC/a i386_CXX = $$(CROSS32_TARGET)-g++' \
|
||||
-e '/^i386_CFLAGS/c i386_CFLAGS = $$($(2)_32_INCFLAGS) $$($(2)_CFLAGS) $$(COMMON_FLAGS) $$(32_COMMON_FLAGS)' \
|
||||
-e '/^i386_CPPFLAGS/c i386_CPPFLAGS = $$($(2)_32_INCFLAGS) $$($(2)_CPPFLAGS) $$(COMMON_FLAGS) $$(32_COMMON_FLAGS)' \
|
||||
-e '/^i386_CXXFLAGS/c i386_CXXFLAGS = $$($(2)_32_INCFLAGS) $$($(2)_CXXFLAGS) $$(COMMON_FLAGS) $$(32_COMMON_FLAGS) -std=c++17' \
|
||||
-e '/^i386_LDFLAGS/c i386_LDFLAGS = $$($(2)_32_LIBFLAGS) $$($(2)_32_LDFLAGS) $$(CROSSLDFLAGS)' \
|
||||
\
|
||||
-e 's@UNIXLDFLAGS =@UNIXLDFLAGS = -L$$(WINE_LIBDIR$(3))/$$(LIBDIR_WINE_$(3)) -l:ntdll.so@' \
|
||||
$$(WINE_OBJ$(3))/Makefile > $$($(2)_OBJ$(3))/Makefile
|
||||
-e 's@UNIXLDFLAGS =@UNIXLDFLAGS = -L$$(WINE_$(3)_LIBDIR)/$$($(3)_WINEDIR) -l:ntdll.so@' \
|
||||
$$(WINE_$(3)_OBJ)/Makefile > $$($(2)_$(3)_OBJ)/Makefile
|
||||
|
||||
cd "$$($(2)_OBJ$(3))" && env $$($(2)_ENV$(3)) \
|
||||
$$(WINE_OBJ$(3))/tools/makedep
|
||||
cd "$$($(2)_$(3)_OBJ)" && env $$($(2)_$(3)_ENV) \
|
||||
$$(WINE_$(3)_OBJ)/tools/makedep
|
||||
|
||||
touch $$@
|
||||
|
||||
$$(OBJ)/.$(1)-build$(3):
|
||||
@echo ":: building $(3)bit $(1)..." >&2
|
||||
+cd "$$($(2)_OBJ$(3))" && env $$($(2)_ENV$(3)) \
|
||||
$$(OBJ)/.$(1)-$(3)-build:
|
||||
@echo ":: building $(1)-$(3)..." >&2
|
||||
+cd "$$($(2)_$(3)_OBJ)" && env $$($(2)_$(3)_ENV) \
|
||||
$$(BEAR) $$(MAKE)
|
||||
cd "$$($(2)_OBJ$(3))" && env $$($(2)_ENV$(3)) \
|
||||
cd "$$($(2)_$(3)_OBJ)" && env $$($(2)_$(3)_ENV) \
|
||||
$$(MAKE) install
|
||||
touch $$@
|
||||
endef
|
||||
|
@ -9,7 +9,7 @@ define create-rules-meson
|
||||
# cross compilation below with the CROSS-prefixed variables.
|
||||
$(call create-rules-common,$(1),$(2),$(3))
|
||||
|
||||
define $(2)_MESON_CROSS$(3)
|
||||
define $(2)_$(3)_MESON_CROSS
|
||||
cat <<EOF
|
||||
[binaries]
|
||||
ar = '$$$$CROSSAR'
|
||||
@ -23,50 +23,50 @@ pkgconfig = '$$$$PKG_CONFIG'
|
||||
|
||||
[properties]
|
||||
needs_exe_wrapper = true
|
||||
c_args = [$$(call list-quote,$$($(2)_INCFLAGS$(3)) $$($(2)_CPPFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS$(3)))]
|
||||
cpp_args = [$$(call list-quote,$$($(2)_INCFLAGS$(3)) $$($(2)_CPPFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS$(3)) -std=c++17)]
|
||||
link_args = [$$(call list-quote,$$($(2)_LIBFLAGS$(3)) $$($(2)_LDFLAGS$(3)) $$($(2)_LDFLAGS) $$(CROSSLDFLAGS))]
|
||||
c_args = [$$(call list-quote,$$($(2)_$(3)_INCFLAGS) $$($(2)_CPPFLAGS) $$(COMMON_FLAGS) $$($(3)_COMMON_FLAGS))]
|
||||
cpp_args = [$$(call list-quote,$$($(2)_$(3)_INCFLAGS) $$($(2)_CPPFLAGS) $$(COMMON_FLAGS) $$($(3)_COMMON_FLAGS) -std=c++17)]
|
||||
link_args = [$$(call list-quote,$$($(2)_$(3)_LIBFLAGS) $$($(2)_$(3)_LDFLAGS) $$($(2)_LDFLAGS) $$(CROSSLDFLAGS))]
|
||||
pkg_config_libdir = '$$$$CROSSPKG_CONFIG_LIBDIR'
|
||||
|
||||
[host_machine]
|
||||
system = 'windows'
|
||||
cpu_family = '$$(MESON_CPU$(3))'
|
||||
cpu = '$$(MESON_CPU$(3))'
|
||||
cpu_family = '$$($(3)_MESON_CPU)'
|
||||
cpu = '$$($(3)_MESON_CPU)'
|
||||
endian = 'little'
|
||||
EOF
|
||||
endef
|
||||
|
||||
export $(2)_MESON_CROSS$(3)
|
||||
export $(2)_$(3)_MESON_CROSS
|
||||
|
||||
$$($(2)_SRC)/meson.build: | $$(OBJ)/.$(1)-post-source
|
||||
|
||||
$$(OBJ)/.$(1)-configure$(3): $$($(2)_SRC)/meson.build
|
||||
@echo ":: configuring $(3)bit $(1)..." >&2
|
||||
rm -rf "$$($(2)_OBJ$(3))/meson-private/coredata.dat"
|
||||
$$(OBJ)/.$(1)-$(3)-configure: $$($(2)_SRC)/meson.build
|
||||
@echo ":: configuring $(1)-$(3)..." >&2
|
||||
rm -rf "$$($(2)_$(3)_OBJ)/meson-private/coredata.dat"
|
||||
|
||||
echo "$$$$$(2)_MESON_CROSS$(3)" | env $$($(2)_ENV$(3)) sh >"$$($(2)_OBJ$(3))/cross-$(3).txt"
|
||||
echo "$$$$$(2)_$(3)_MESON_CROSS" | env $$($(2)_$(3)_ENV) sh >"$$($(2)_$(3)_OBJ)/$(3)-cross.txt"
|
||||
|
||||
env $$($(2)_ENV$(3)) \
|
||||
meson "$$($(2)_OBJ$(3))" "$$($(2)_SRC)" \
|
||||
--prefix="$$($(2)_DST$(3))" \
|
||||
--libdir="lib/$$(LIBDIR_$(4)$(3))" \
|
||||
env $$($(2)_$(3)_ENV) \
|
||||
meson "$$($(2)_$(3)_OBJ)" "$$($(2)_SRC)" \
|
||||
--prefix="$$($(2)_$(3)_DST)" \
|
||||
--libdir="lib/$$($(4)$(3)_LIBDIR)" \
|
||||
--buildtype=plain \
|
||||
$(if $(4),--cross-file="$$($(2)_OBJ$(3))/cross-$(3).txt",) \
|
||||
$$(MESON_ARGS_$(3)) \
|
||||
$(if $(4),--cross-file="$$($(2)_$(3)_OBJ)/$(3)-cross.txt",) \
|
||||
$$($(3)_MESON_ARGS) \
|
||||
$$($(2)_MESON_ARGS) \
|
||||
$$($(2)_MESON_ARGS$(3)) \
|
||||
$$($(2)_$(3)_MESON_ARGS) \
|
||||
$$(MESON_STRIP_ARG)
|
||||
|
||||
touch $$@
|
||||
|
||||
$$(OBJ)/.$(1)-build$(3):
|
||||
@echo ":: building $(3)bit $(1)..." >&2
|
||||
+env $$($(2)_ENV$(3)) \
|
||||
ninja -C "$$($(2)_OBJ$(3))" install
|
||||
$$(OBJ)/.$(1)-$(3)-build:
|
||||
@echo ":: building $(1)-$(3)..." >&2
|
||||
+env $$($(2)_$(3)_ENV) \
|
||||
ninja -C "$$($(2)_$(3)_OBJ)" install
|
||||
touch $$@
|
||||
endef
|
||||
|
||||
MESON_CPU32 = x86
|
||||
MESON_CPU64 = x86_64
|
||||
32_MESON_CPU = x86
|
||||
64_MESON_CPU = x86_64
|
||||
|
||||
rules-meson = $(call create-rules-meson,$(1),$(call toupper,$(1)),$(2),$(3))
|
||||
|
@ -13,13 +13,13 @@ $$($(2)_SRC)/server/request_trace.h: | $$(OBJ)/.$(1)-post-source
|
||||
$$($(2)_SRC)/server/request_trace.h: $$($(2)_ORIGIN)/server/request_trace.h
|
||||
cp -a $$< $$@
|
||||
|
||||
$$(OBJ)/.$(1)-configure32: $$($(2)_SRC)/include/wine/server_protocol.h
|
||||
$$(OBJ)/.$(1)-configure32: $$($(2)_SRC)/server/request_handlers.h
|
||||
$$(OBJ)/.$(1)-configure32: $$($(2)_SRC)/server/request_trace.h
|
||||
$$(OBJ)/.$(1)-32-configure: $$($(2)_SRC)/include/wine/server_protocol.h
|
||||
$$(OBJ)/.$(1)-32-configure: $$($(2)_SRC)/server/request_handlers.h
|
||||
$$(OBJ)/.$(1)-32-configure: $$($(2)_SRC)/server/request_trace.h
|
||||
|
||||
$$(OBJ)/.$(1)-configure64: $$($(2)_SRC)/include/wine/server_protocol.h
|
||||
$$(OBJ)/.$(1)-configure64: $$($(2)_SRC)/server/request_handlers.h
|
||||
$$(OBJ)/.$(1)-configure64: $$($(2)_SRC)/server/request_trace.h
|
||||
$$(OBJ)/.$(1)-64-configure: $$($(2)_SRC)/include/wine/server_protocol.h
|
||||
$$(OBJ)/.$(1)-64-configure: $$($(2)_SRC)/server/request_handlers.h
|
||||
$$(OBJ)/.$(1)-64-configure: $$($(2)_SRC)/server/request_trace.h
|
||||
|
||||
$$(OBJ)/.$(1)-wine-requests: $$($(2)_SRC)/include/wine/server_protocol.h
|
||||
$$(OBJ)/.$(1)-wine-requests: $$($(2)_SRC)/server/request_handlers.h
|
||||
@ -31,8 +31,8 @@ $$(OBJ)/.$(1)-wine-requests: | $$(OBJ)/.$(1)-post-source
|
||||
cd "$$($(2)_SRC)" && tools/make_requests
|
||||
touch $$@
|
||||
|
||||
$$(OBJ)/.$(1)-build32: $$(OBJ)/.$(1)-wine-requests
|
||||
$$(OBJ)/.$(1)-build64: $$(OBJ)/.$(1)-wine-requests
|
||||
$$(OBJ)/.$(1)-32-build: $$(OBJ)/.$(1)-wine-requests
|
||||
$$(OBJ)/.$(1)-64-build: $$(OBJ)/.$(1)-wine-requests
|
||||
endef
|
||||
|
||||
rules-wine-requests = $(call create-rules-wine-requests,$(1),$(call toupper,$(1)))
|
||||
|
@ -6,39 +6,39 @@
|
||||
#
|
||||
define create-rules-winemaker
|
||||
$(call create-rules-common,$(1),$(2),$(3))
|
||||
$(2)_OBJ$(3) := $$($(2)_OBJ$(3))/$(4)
|
||||
$(2)_$(3)_OBJ := $$($(2)_$(3)_OBJ)/$(4)
|
||||
|
||||
$$(OBJ)/.$(1)-configure$(3):
|
||||
@echo ":: configuring $(3)bit $(1)..." >&2
|
||||
rsync -arx "$$($(2)_SRC)/" "$$($(2)_OBJ$(3))/"
|
||||
cd "$$($(2)_OBJ$(3))" && env $$($(2)_ENV$(3)) \
|
||||
$$(OBJ)/.$(1)-$(3)-configure:
|
||||
@echo ":: configuring $(1)-$(3)..." >&2
|
||||
rsync -arx "$$($(2)_SRC)/" "$$($(2)_$(3)_OBJ)/"
|
||||
cd "$$($(2)_$(3)_OBJ)" && env $$($(2)_$(3)_ENV) \
|
||||
winemaker --nosource-fix --nolower-include --nodlls --nomsvcrt \
|
||||
"-I$$(WINE_SRC)/include" \
|
||||
"-I$$(WINE_SRC)/include/wine" \
|
||||
"-I$$(WINE_DST$(3))/include/wine" \
|
||||
"-I$$(WINE_$(3)_DST)/include/wine" \
|
||||
$(patsubst %.dll,--dll,$(patsubst %.exe,--guiexe,$(4))) \
|
||||
$$(WINEMAKER_ARGS_$(3)) \
|
||||
$$($(3)_WINEMAKER_ARGS) \
|
||||
$$($(2)_WINEMAKER_ARGS) \
|
||||
$$($(2)_WINEMAKER_ARGS$(3)) \
|
||||
$$($(2)_$(3)_WINEMAKER_ARGS) \
|
||||
.
|
||||
sed -re 's@_LDFLAGS=@_LDFLAGS= $$$$(LDFLAGS) @' -i "$$($(2)_OBJ$(3))/Makefile"
|
||||
sed -re 's@_LDFLAGS=@_LDFLAGS= $$$$(LDFLAGS) @' -i "$$($(2)_$(3)_OBJ)/Makefile"
|
||||
touch $$@
|
||||
|
||||
$$(OBJ)/.$(1)-build$(3):
|
||||
@echo ":: building $(3)bit $(1)..." >&2
|
||||
rsync -arx "$$($(2)_SRC)/" "$$($(2)_OBJ$(3))/"
|
||||
env $$($(2)_ENV$(3)) \
|
||||
$$(MAKE) -C "$$($(2)_OBJ$(3))" LIBRARIES="$$($(2)_LDFLAGS)"
|
||||
cd "$$($(2)_OBJ$(3))" && touch "$(basename $(4)).spec" && env $$($(2)_ENV$(3)) \
|
||||
$$(OBJ)/.$(1)-$(3)-build:
|
||||
@echo ":: building $(1)-$(3)..." >&2
|
||||
rsync -arx "$$($(2)_SRC)/" "$$($(2)_$(3)_OBJ)/"
|
||||
env $$($(2)_$(3)_ENV) \
|
||||
$$(MAKE) -C "$$($(2)_$(3)_OBJ)" LIBRARIES="$$($(2)_LDFLAGS)"
|
||||
cd "$$($(2)_$(3)_OBJ)" && touch "$(basename $(4)).spec" && env $$($(2)_$(3)_ENV) \
|
||||
winebuild --$(lastword $(subst ., ,$(4))) --fake-module -E "$(basename $(4)).spec" -o "$(4).fake"
|
||||
mkdir -p $$($(2)_LIBDIR$(3))/$(LIBDIR_WINE_$(3))
|
||||
cp -a $$($(2)_OBJ$(3))/$(4).so $$($(2)_LIBDIR$(3))/$(LIBDIR_WINE_$(3))/
|
||||
mkdir -p $$($(2)_LIBDIR$(3))/$(LIBDIR_WINE_CROSS$(3))
|
||||
cp -a $$($(2)_OBJ$(3))/$(4).fake $$($(2)_LIBDIR$(3))/$(LIBDIR_WINE_CROSS$(3))/$(4)
|
||||
mkdir -p $$($(2)_$(3)_LIBDIR)/$($(3)_WINEDIR)
|
||||
cp -a $$($(2)_$(3)_OBJ)/$(4).so $$($(2)_$(3)_LIBDIR)/$($(3)_WINEDIR)/
|
||||
mkdir -p $$($(2)_$(3)_LIBDIR)/$(CROSS$(3)_WINEDIR)
|
||||
cp -a $$($(2)_$(3)_OBJ)/$(4).fake $$($(2)_$(3)_LIBDIR)/$(CROSS$(3)_WINEDIR)/$(4)
|
||||
touch $$@
|
||||
endef
|
||||
|
||||
WINEMAKER_ARGS_32 := --wine32
|
||||
WINEMAKER_ARGS_64 :=
|
||||
32_WINEMAKER_ARGS := --wine32
|
||||
64_WINEMAKER_ARGS :=
|
||||
|
||||
rules-winemaker = $(call create-rules-winemaker,$(1),$(call toupper,$(1)),$(2),$(3))
|
||||
|
Loading…
x
Reference in New Issue
Block a user