SUB_DEPTH = ../../../../../..
# Template for building wine stuff.
TEMPLATE_VBoxGuestWineDLL = Template for building a wine DLL.
TEMPLATE_VBoxGuestWineDLL_EXTENDS = VBOXGUESTR3NPDLL
TEMPLATE_VBoxGuestWineDLL_DEFS = $(TEMPLATE_VBOXGUESTR3NPDLL_DEFS) \
# Template for building the D3D[89] stuff.
TEMPLATE_VBoxGuestWineD3DxDLL = Template for building the D3D8/9 stuff.
TEMPLATE_VBoxGuestWineD3DxDLL_EXTENDS = VBOXGUESTR3NPDLL
TEMPLATE_VBoxGuestWineD3DxDLL_EXTENDS_BY = appending
TEMPLATE_VBoxGuestWineD3DxDLL_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
TEMPLATE_VBoxGuestWineD3DxDLL_DEFS = VBOX_USING_WINDDK_W7_OR_LATER
TEMPLATE_VBoxGuestWineD3DxDLL_DEFS = VBOX_WINE_WITH_IPRT
TEMPLATE_VBoxGuestWineD3DxDLL_LIBS = \
$(VBOX_LIB_IPRT_GUEST_R3) \
libWine_TEMPLATE = VBoxGuestWineDLL
wined3d_TEMPLATE = VBoxGuestWineDLL
wined3d_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
VBOX_USING_WINDDK_W7_OR_LATER \
VBOX_WINE_WITHOUT_LIBWINE \
VBOX_WINE_WITH_SINGLE_CONTEXT \
if "$(KBUILD_TYPE)" != "debug" || defined(VBOX_WINE_NO_DEBUG_MSGS)
wined3d_DEFS += WINE_NO_DEBUG_MSGS
VBOX_WITH_WINE_FIX_IBMTMR \
VBOX_WITH_WINE_FIX_BUFOFFSET \
VBOX_WITH_WINE_FIX_QUIRKS \
VBOX_WITH_WINE_FIX_PBOPSM \
VBOX_WITH_WINE_FIX_INITCLEAR \
VBOX_WITH_WINE_FIX_TEXCLEAR \
VBOX_WITH_WINE_FIX_STRINFOBUF \
VBOX_WITH_WINE_FIX_SHADERCLEANUP \
VBOX_WITH_WINE_FIX_SURFUPDATA \
VBOX_WITH_WINE_FIX_CURVBO \
VBOX_WITH_WINE_FIX_ZEROVERTATTR \
VBOX_WITH_WINE_FIX_FTOA \
#wined3d_DEFS += VBOX_WITH_WINE_FIXES
$(VBOX_LIB_IPRT_GUEST_R3) \
$(PATH_STAGE_LIB)/VBoxOGL$(VBOX_SUFF_LIB)
wined3dwddm_EXTENDS = wined3d
if defined(VBOX_SIGNING_MODE)
wined3dwddm_DEFS = $(wined3d_DEFS) \
VBOX_WINE_WITH_SHADER_CACHE
ifdef VBOX_WINE_WITH_PROFILE
wined3dwddm_DEFS += VBOX_WINE_WITH_PROFILE
wined3dwddm_INCS = $(wined3d_INCS) \
wined3dwddm_LIBS = $(wined3d_LIBS) \
$(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger$(VBOX_SUFF_LIB) \
$(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi$(VBOX_SUFF_LIB)
wined3dwddm-x86_EXTENDS = wined3dwddm
wined3dwddm-x86_BLD_TRG_ARCH = x86
wined3dwddm-x86_DEFS = $(wined3dwddm_DEFS) VBOX_WDDM_WOW64
$(VBOX_LIB_IPRT_GUEST_R3_X86) \
$(VBOX_LIB_VBGL_R3_X86) \
$(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger-x86$(VBOX_SUFF_LIB) \
$(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi-x86$(VBOX_SUFF_LIB) \
$(PATH_STAGE_LIB)/VBoxOGL-x86$(VBOX_SUFF_LIB)
endif # ifdef VBOX_WITH_WDDM
VBoxD3D8_TEMPLATE = VBoxGuestWineDLL
VBoxD3D8_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
VBoxD3D8_DEFS = _USE_MATH_DEFINES \
VBOX_WINE_WITHOUT_LIBWINE
if "$(KBUILD_TYPE)" != "debug" || defined(VBOX_WINE_NO_DEBUG_MSGS)
VBoxD3D8_DEFS += WINE_NO_DEBUG_MSGS
$(PATH_STAGE_LIB)/wined3d$(VBOX_SUFF_LIB)
VBoxD3D8_DEFS += VBOX_WINE_WITH_IPRT
$(VBOX_LIB_IPRT_GUEST_R3) \
VBoxD3D9_TEMPLATE = VBoxGuestWineDLL
VBoxD3D9_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
VBoxD3D9_DEFS = _USE_MATH_DEFINES \
VBOX_WINE_WITHOUT_LIBWINE
if "$(KBUILD_TYPE)" != "debug" || defined(VBOX_WINE_NO_DEBUG_MSGS)
VBoxD3D9_DEFS += WINE_NO_DEBUG_MSGS
#@todo: do we actually need this?
#VBoxD3D9_DEFS += VBOX_WITH_WINE_FIX_NO9EX
$(PATH_STAGE_LIB)/wined3d$(VBOX_SUFF_LIB)
VBoxD3D9_DEFS += VBOX_WINE_WITH_IPRT
$(VBOX_LIB_IPRT_GUEST_R3) \
VBoxD3D9wddm_EXTENDS = VBoxD3D9
if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
VBoxD3D9wddm_INSTTYPE = none
VBoxD3D9wddm_DEBUG_INSTTYPE = both
VBoxD3D9wddm_INCS = $(VBoxD3D9_INCS) \
VBoxD3D9wddm_DEFS += $(VBoxD3D9_DEFS) \
$(subst $(PATH_STAGE_LIB)/wined3d$(VBOX_SUFF_LIB),$(PATH_STAGE_LIB)/wined3dwddm$(VBOX_SUFF_LIB),$(VBoxD3D9_LIBS)) \
$(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger$(VBOX_SUFF_LIB) \
$(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi$(VBOX_SUFF_LIB)
# VBoxD3D9wddm-x86 - For WOW64.
VBoxD3D9wddm-x86_EXTENDS = VBoxD3D9wddm
VBoxD3D9wddm-x86_BLD_TRG_ARCH = x86
VBoxD3D9wddm-x86_DEFS = $(VBoxD3D9wddm_DEFS) VBOX_WDDM_WOW64
VBoxD3D9wddm-x86_LIBS = $(PATH_STAGE_LIB)/wined3dwddm-x86$(VBOX_SUFF_LIB)
VBoxD3D9wddm-x86_LIBS += \
$(VBOX_LIB_IPRT_GUEST_R3_X86) \
VBoxD3D9wddm-x86_LIBS += \
$(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger-x86$(VBOX_SUFF_LIB) \
$(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi-x86$(VBOX_SUFF_LIB)
d3d8_TEMPLATE = VBoxGuestWineD3DxDLL
d3d9_TEMPLATE = VBoxGuestWineD3DxDLL
include $(FILE_KBUILD_SUB_FOOTER)