Makefile.kmk revision b9bff341fd9b5ca32214d7b68845ba8a7fb316af
af062818b47340eef15700d2f0211576ba3506eevboxsync# Makefile for the Wine D3D related dlls for VirtualBox.
772269936494ffaddd0750ba9e28e805ba81398cvboxsync# Copyright (C) 2009-2012 Oracle Corporation
af062818b47340eef15700d2f0211576ba3506eevboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
af062818b47340eef15700d2f0211576ba3506eevboxsync# available from http://www.virtualbox.org. This file is free software;
af062818b47340eef15700d2f0211576ba3506eevboxsync# you can redistribute it and/or modify it under the terms of the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync# General Public License (GPL) as published by the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
af062818b47340eef15700d2f0211576ba3506eevboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
af062818b47340eef15700d2f0211576ba3506eevboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
af062818b47340eef15700d2f0211576ba3506eevboxsyncSUB_DEPTH = ../../../../../..
af062818b47340eef15700d2f0211576ba3506eevboxsyncinclude $(KBUILD_PATH)/subheader.kmk
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsync# Template for building wine stuff.
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsyncTEMPLATE_VBoxGuestWineDLL = Template for building a wine DLL.
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsyncTEMPLATE_VBoxGuestWineDLL_EXTENDS = VBOXGUESTR3NPDLL
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsyncTEMPLATE_VBoxGuestWineDLL_DEFS = $(TEMPLATE_VBOXGUESTR3NPDLL_DEFS) \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync __WINESRC__ \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync WINE_UNICODE_API="" \
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsync _REENTRANT \
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsync WINE_NOWINSOCK \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync USE_WIN32_OPENGL \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync DLLDIR=\"\" \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync BINDIR=\"\" \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync LIB_TO_BINDIR=\"\" \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync LIB_TO_DLLDIR=\"\" \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync BIN_TO_DLLDIR=\"\" \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync LIB_TO_DATADIR=\"\" \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync BIN_TO_DATADIR=\"\"
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsync# Template for building the D3D[89] stuff.
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsyncTEMPLATE_VBoxGuestWineD3DxDLL = Template for building the D3D8/9 stuff.
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsyncTEMPLATE_VBoxGuestWineD3DxDLL_EXTENDS = VBOXGUESTR3NPDLL
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsyncTEMPLATE_VBoxGuestWineD3DxDLL_EXTENDS_BY = appending
7519a1c4323fa86fbb19a36a91cd25abfd7af714vboxsyncTEMPLATE_VBoxGuestWineD3DxDLL_SDKS.amd64 = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
7519a1c4323fa86fbb19a36a91cd25abfd7af714vboxsyncTEMPLATE_VBoxGuestWineD3DxDLL_DEFS.amd64 = $(if-expr $(VBOX_WINDDK_GST_WLH) != WINDDKWLH,VBOX_USING_WINDDK_W7_OR_LATER,)
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsyncifdef VBOX_WINE_WITH_IPRT
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsync TEMPLATE_VBoxGuestWineD3DxDLL_DEFS = VBOX_WINE_WITH_IPRT
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsync TEMPLATE_VBoxGuestWineD3DxDLL_LIBS = \
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsync $(VBOX_LIB_IPRT_GUEST_R3) \
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsync $(VBOX_LIB_VBGL_R3)
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsync# libWine - ???.
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsynclibWine_TEMPLATE = VBoxGuestWineDLL
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsynclibWine_INCS = \
af062818b47340eef15700d2f0211576ba3506eevboxsynclibWine_SOURCES := \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync# wined3d - ???.
9a5befd0a4c36b07cd78a71dcacfa289fbdc93c7vboxsyncDLLS += wined3d
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsyncwined3d_TEMPLATE = VBoxGuestWineDLL
7519a1c4323fa86fbb19a36a91cd25abfd7af714vboxsyncwined3d_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsyncwined3d_DEFS = \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync _USE_MATH_DEFINES \
7519a1c4323fa86fbb19a36a91cd25abfd7af714vboxsync $(if-expr $(VBOX_WINDDK_GST_WLH) != WINDDKWLH,VBOX_USING_WINDDK_W7_OR_LATER,) \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBOX_WINE_WITHOUT_LIBWINE \
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsync VBOX_WINE_WITH_SINGLE_SWAPCHAIN_CONTEXT \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBOX_WINE_WITH_IPRT
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync# ^^^^ wined3d is now using iprt/asm.h, which includes iprt/assert.h, so iprt is required.
9ee431cac56f7b56e2197f78dae4d469b180be7avboxsyncif "$(KBUILD_TYPE)" != "debug" || defined(VBOX_WINE_NO_DEBUG_MSGS)
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync wined3d_DEFS += WINE_NO_DEBUG_MSGS
7519a1c4323fa86fbb19a36a91cd25abfd7af714vboxsyncwined3d_INCS := \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsyncwined3d_SOURCES := \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsyncwined3d_LIBS = \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(VBOX_LIB_IPRT_GUEST_R3) \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(VBOX_LIB_VBGL_R3)
e068057c82b010bc7cc663e8f57ac3ef1890a33cvboxsyncifdef VBOX_WITH_WDDM
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync # wined3dwddm - ???
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync DLLS += wined3dwddm
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync wined3dwddm_EXTENDS = wined3d
b9bff341fd9b5ca32214d7b68845ba8a7fb316afvboxsync if defined(VBOX_SIGNING_MODE)
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync wined3dwddm_DEFS = $(subst VBOX_WINE_WITH_SINGLE_SWAPCHAIN_CONTEXT,,$(wined3d_DEFS)) \
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsync VBOX_WITH_WDDM \
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsync VBOX_WINE_WITH_SINGLE_CONTEXT \
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsync IN_VBOXLIBWINE
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync wined3dwddm_INCS = $(wined3d_INCS) \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync wined3dwddm_SOURCES = $(subst wined3d.def,wined3dwddm.def,$(wined3d_SOURCES)) \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync wined3dwddm_LIBS = $(wined3d_LIBS) \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger$(VBOX_SUFF_LIB) \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi$(VBOX_SUFF_LIB)
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync # wined3dwddm-x86 - ???.
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync DLLS.amd64 += wined3dwddm-x86
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsync wined3dwddm-x86_EXTENDS = wined3dwddm
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync wined3dwddm-x86_BLD_TRG_ARCH = x86
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync wined3dwddm-x86_DEFS = $(wined3dwddm_DEFS) VBOX_WDDM_WOW64
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync wined3dwddm-x86_LIBS = \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(VBOX_LIB_IPRT_GUEST_R3_X86) \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(VBOX_LIB_VBGL_R3_X86) \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger-x86$(VBOX_SUFF_LIB) \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi-x86$(VBOX_SUFF_LIB)
6cd9e4d9b3398c78dfee8363a3ad75a33304d76cvboxsyncendif # ifdef VBOX_WITH_WDDM
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync# VBoxD3D8 - ???.
9a5befd0a4c36b07cd78a71dcacfa289fbdc93c7vboxsyncDLLS += VBoxD3D8
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsyncVBoxD3D8_TEMPLATE = VBoxGuestWineDLL
7519a1c4323fa86fbb19a36a91cd25abfd7af714vboxsyncVBoxD3D8_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsyncVBoxD3D8_DEFS = _USE_MATH_DEFINES \
7519a1c4323fa86fbb19a36a91cd25abfd7af714vboxsync VBOX_USING_WINDDK \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBOX_WINE_WITHOUT_LIBWINE
9ee431cac56f7b56e2197f78dae4d469b180be7avboxsyncif "$(KBUILD_TYPE)" != "debug" || defined(VBOX_WINE_NO_DEBUG_MSGS)
8daece1012c8dac65e6b148c77e189161ffc43f1vboxsync VBoxD3D8_DEFS += WINE_NO_DEBUG_MSGS
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsyncVBoxD3D8_INCS := \
6decafdf89f825b3af922ab6fa02345e08e5be7bvboxsyncVBoxD3D8_SOURCES := \
6decafdf89f825b3af922ab6fa02345e08e5be7bvboxsyncVBoxD3D8_LIBS = \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(PATH_STAGE_LIB)/wined3d$(VBOX_SUFF_LIB)
d2432596ad0325b8a9b42552ce4fcd251f37fcc3vboxsyncifdef VBOX_WINE_WITH_IPRT
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBoxD3D8_DEFS += VBOX_WINE_WITH_IPRT
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBoxD3D8_LIBS += \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(VBOX_LIB_IPRT_GUEST_R3) \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(VBOX_LIB_VBGL_R3)
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync# VBoxD3D9 - ???.
9a5befd0a4c36b07cd78a71dcacfa289fbdc93c7vboxsyncDLLS += VBoxD3D9
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsyncVBoxD3D9_TEMPLATE = VBoxGuestWineDLL
7519a1c4323fa86fbb19a36a91cd25abfd7af714vboxsyncVBoxD3D9_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsyncVBoxD3D9_DEFS = _USE_MATH_DEFINES \
7519a1c4323fa86fbb19a36a91cd25abfd7af714vboxsync VBOX_USING_WINDDK \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBOX_WINE_WITHOUT_LIBWINE
9ee431cac56f7b56e2197f78dae4d469b180be7avboxsyncif "$(KBUILD_TYPE)" != "debug" || defined(VBOX_WINE_NO_DEBUG_MSGS)
6decafdf89f825b3af922ab6fa02345e08e5be7bvboxsync VBoxD3D9_DEFS += WINE_NO_DEBUG_MSGS
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsyncVBoxD3D9_INCS := \
4ca627b809c47f842ea1e994ae06516fc70ade2avboxsyncVBoxD3D9_SOURCES := \
c956475d30580345549e914629db5a9535a01bfbvboxsyncVBoxD3D9_LIBS = \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(PATH_STAGE_LIB)/wined3d$(VBOX_SUFF_LIB)
d2432596ad0325b8a9b42552ce4fcd251f37fcc3vboxsyncifdef VBOX_WINE_WITH_IPRT
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBoxD3D9_DEFS += VBOX_WINE_WITH_IPRT
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBoxD3D9_LIBS += \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(VBOX_LIB_IPRT_GUEST_R3) \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(VBOX_LIB_VBGL_R3)
e068057c82b010bc7cc663e8f57ac3ef1890a33cvboxsyncifdef VBOX_WITH_WDDM
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync # VBoxD3D9wddm - ???.
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync DLLS += VBoxD3D9wddm
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBoxD3D9wddm_EXTENDS = VBoxD3D9
6cd9e4d9b3398c78dfee8363a3ad75a33304d76cvboxsync if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBoxD3D9wddm_INSTTYPE = none
6cd9e4d9b3398c78dfee8363a3ad75a33304d76cvboxsync VBoxD3D9wddm_DEBUG_INSTTYPE = both
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBoxD3D9wddm_INCS = $(VBoxD3D9_INCS) \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
b9bff341fd9b5ca32214d7b68845ba8a7fb316afvboxsync VBoxD3D9wddm_DEFS += $(VBoxD3D9_DEFS) \
b9bff341fd9b5ca32214d7b68845ba8a7fb316afvboxsync VBOX_WITH_WDDM \
b9bff341fd9b5ca32214d7b68845ba8a7fb316afvboxsync VBOX_WINE_WITHOUT_LIBWINE \
b9bff341fd9b5ca32214d7b68845ba8a7fb316afvboxsync IN_VBOXWINEEX \
b9bff341fd9b5ca32214d7b68845ba8a7fb316afvboxsync VBOX_WINE_NO_LOCK
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBoxD3D9wddm_SOURCES = $(subst d3d9xpdm.def,d3d9wddm.def,$(VBoxD3D9_SOURCES))
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBoxD3D9wddm_LIBS = \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(subst $(PATH_STAGE_LIB)/wined3d$(VBOX_SUFF_LIB),$(PATH_STAGE_LIB)/wined3dwddm$(VBOX_SUFF_LIB),$(VBoxD3D9_LIBS)) \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger$(VBOX_SUFF_LIB) \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi$(VBOX_SUFF_LIB)
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync # VBoxD3D9wddm-x86 - For WOW64.
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync DLLS.amd64 += VBoxD3D9wddm-x86
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBoxD3D9wddm-x86_EXTENDS = VBoxD3D9wddm
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBoxD3D9wddm-x86_BLD_TRG_ARCH = x86
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBoxD3D9wddm-x86_DEFS = $(VBoxD3D9wddm_DEFS) VBOX_WDDM_WOW64
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBoxD3D9wddm-x86_LIBS = $(PATH_STAGE_LIB)/wined3dwddm-x86$(VBOX_SUFF_LIB)
6cd9e4d9b3398c78dfee8363a3ad75a33304d76cvboxsync ifdef VBOX_WINE_WITH_IPRT
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBoxD3D9wddm-x86_LIBS += \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(VBOX_LIB_IPRT_GUEST_R3_X86) \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(VBOX_LIB_VBGL_R3_X86)
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync VBoxD3D9wddm-x86_LIBS += \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger-x86$(VBOX_SUFF_LIB) \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi-x86$(VBOX_SUFF_LIB)
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsyncendif # VBOX_WITH_WDDM
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync# d3d8 - ???.
9a5befd0a4c36b07cd78a71dcacfa289fbdc93c7vboxsyncDLLS += d3d8
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsyncd3d8_TEMPLATE = VBoxGuestWineD3DxDLL
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsyncd3d8_SOURCES = \
852b14b6955b040197a997fc4b6c3d16ae6549fcvboxsync# d3d9 - ???.
9a5befd0a4c36b07cd78a71dcacfa289fbdc93c7vboxsyncDLLS += d3d9
26ace617079c5c0eda0412af6abfcf8d79e56264vboxsyncd3d9_TEMPLATE = VBoxGuestWineD3DxDLL
4ca627b809c47f842ea1e994ae06516fc70ade2avboxsyncd3d9_SOURCES = \
772269936494ffaddd0750ba9e28e805ba81398cvboxsyncinclude $(FILE_KBUILD_SUB_FOOTER)