Makefile.kmk revision a1161adeea4a93de6a9370a0a7ab1e58652b365e
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync# Makefile for the Wine D3D related dlls for VirtualBox.
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync# Copyright (C) 2009-2012 Oracle Corporation
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync# available from http://www.virtualbox.org. This file is free software;
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync# you can redistribute it and/or modify it under the terms of the GNU
f5128c5f1bd305041414681727a0d8b46cbe9937vboxsync# General Public License (GPL) as published by the Free Software
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsyncSUB_DEPTH = ../../../../../..
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync# Template for building wine stuff.
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsyncTEMPLATE_VBoxGuestWineDLL = Template for building a wine DLL.
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsyncTEMPLATE_VBoxGuestWineDLL_EXTENDS = VBOXGUESTR3NPDLL
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsyncTEMPLATE_VBoxGuestWineDLL_DEFS = $(TEMPLATE_VBOXGUESTR3NPDLL_DEFS) \
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync __WINESRC__ \
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync WINE_UNICODE_API="" \
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync _REENTRANT \
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync WINE_NOWINSOCK \
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync USE_WIN32_OPENGL \
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsync DLLDIR=\"\" \
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync BINDIR=\"\" \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync LIB_TO_BINDIR=\"\" \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync LIB_TO_DLLDIR=\"\" \
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync BIN_TO_DLLDIR=\"\" \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync LIB_TO_DATADIR=\"\" \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync BIN_TO_DATADIR=\"\"
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync# Template for building the D3D[89] stuff.
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncTEMPLATE_VBoxGuestWineD3DxDLL = Template for building the D3D8/9 stuff.
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncTEMPLATE_VBoxGuestWineD3DxDLL_EXTENDS = VBOXGUESTR3NPDLL
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncTEMPLATE_VBoxGuestWineD3DxDLL_EXTENDS_BY = appending
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncTEMPLATE_VBoxGuestWineD3DxDLL_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsyncTEMPLATE_VBoxGuestWineD3DxDLL_DEFS = VBOX_USING_WINDDK_W7_OR_LATER
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsync#TEMPLATE_VBoxGuestWineD3DxDLL_INCS.x86 = vbox/libWineStub/include
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsyncTEMPLATE_VBoxGuestWineD3DxDLL_DEFS = VBOX_WINE_WITH_IPRT
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsyncTEMPLATE_VBoxGuestWineD3DxDLL_LIBS = \
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsync $(VBOX_LIB_IPRT_GUEST_R3) \
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsync $(VBOX_LIB_VBGL_R3)
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsync# libWine - ???.
34abb65e9e91ad1126048605d5ff0fa382992211vboxsynclibWine_TEMPLATE = VBoxGuestWineDLL
34abb65e9e91ad1126048605d5ff0fa382992211vboxsynclibWine_INCS = \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsynclibWine_SOURCES := \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync# wined3d - ???.
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncDLLS += wined3d
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncwined3d_TEMPLATE = VBoxGuestWineDLL
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncwined3d_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncwined3d_DEFS = \
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync _USE_MATH_DEFINES \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBOX_USING_WINDDK_W7_OR_LATER \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBOX_WINE_WITHOUT_LIBWINE \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBOX_WINE_WITH_SINGLE_CONTEXT \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBOX_WINE_WITH_IPRT
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync# ^^^^ wined3d is now using iprt/asm.h, which includes iprt/assert.h, so iprt is required.
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsyncif "$(KBUILD_TYPE)" != "debug" || defined(VBOX_WINE_NO_DEBUG_MSGS)
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync wined3d_DEFS += WINE_NO_DEBUG_MSGS
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncwined3d_DEFS += \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBOX_WITH_WINE_FIX_IBMTMR \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBOX_WITH_WINE_FIX_BUFOFFSET \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBOX_WITH_WINE_FIX_QUIRKS \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBOX_WITH_WINE_FIX_PBOPSM \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBOX_WITH_WINE_FIX_INITCLEAR \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBOX_WITH_WINE_FIX_TEXCLEAR \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBOX_WITH_WINE_FIX_STRINFOBUF \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBOX_WITH_WINE_DBG
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync#wined3d_DEFS += VBOX_WITH_WINE_FIXES
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncwined3d_INCS := \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncwined3d_SOURCES := \
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsyncwined3d_LIBS = \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(VBOX_LIB_IPRT_GUEST_R3) \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(VBOX_LIB_VBGL_R3) \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(PATH_STAGE_LIB)/VBoxOGL$(VBOX_SUFF_LIB)
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncifdef VBOX_WITH_WDDM
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync # wined3dwddm - ???
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync DLLS += wined3dwddm
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync wined3dwddm_EXTENDS = wined3d
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync if defined(VBOX_SIGNING_MODE)
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync wined3dwddm_DEFS = $(wined3d_DEFS) \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBOX_WITH_WDDM \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync IN_VBOXLIBWINE \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBOX_WINE_WITH_SHADER_CACHE
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncifdef VBOX_WINE_WITH_PROFILE
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync wined3dwddm_DEFS += VBOX_WINE_WITH_PROFILE
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync wined3dwddm_INCS = $(wined3d_INCS) \
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsync $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync wined3dwddm_SOURCES = $(subst wined3d.def,wined3dwddm.def,$(wined3d_SOURCES))
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync wined3dwddm_LIBS = $(wined3d_LIBS) \
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsync $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger$(VBOX_SUFF_LIB) \
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsync $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi$(VBOX_SUFF_LIB)
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync # wined3dwddm-x86 - ???.
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync DLLS.amd64 += wined3dwddm-x86
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync wined3dwddm-x86_EXTENDS = wined3dwddm
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync wined3dwddm-x86_BLD_TRG_ARCH = x86
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync wined3dwddm-x86_DEFS = $(wined3dwddm_DEFS) VBOX_WDDM_WOW64
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync wined3dwddm-x86_LIBS = \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(VBOX_LIB_IPRT_GUEST_R3_X86) \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(VBOX_LIB_VBGL_R3_X86) \
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsync $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger-x86$(VBOX_SUFF_LIB) \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi-x86$(VBOX_SUFF_LIB) \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(PATH_STAGE_LIB)/VBoxOGL-x86$(VBOX_SUFF_LIB)
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncendif # ifdef VBOX_WITH_WDDM
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync# VBoxD3D8 - ???.
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncDLLS += VBoxD3D8
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsyncVBoxD3D8_TEMPLATE = VBoxGuestWineDLL
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsyncVBoxD3D8_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncVBoxD3D8_DEFS = _USE_MATH_DEFINES \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBOX_USING_WINDDK \
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsync VBOX_WINE_WITHOUT_LIBWINE
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncif "$(KBUILD_TYPE)" != "debug" || defined(VBOX_WINE_NO_DEBUG_MSGS)
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBoxD3D8_DEFS += WINE_NO_DEBUG_MSGS
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncVBoxD3D8_INCS := \
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsyncVBoxD3D8_SOURCES := \
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsyncVBoxD3D8_LIBS = \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(PATH_STAGE_LIB)/wined3d$(VBOX_SUFF_LIB)
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsyncVBoxD3D8_DEFS += VBOX_WINE_WITH_IPRT
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncVBoxD3D8_LIBS += \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(VBOX_LIB_IPRT_GUEST_R3) \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(VBOX_LIB_VBGL_R3)
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsync# VBoxD3D9 - ???.
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsyncDLLS += VBoxD3D9
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsyncVBoxD3D9_TEMPLATE = VBoxGuestWineDLL
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsyncVBoxD3D9_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsyncVBoxD3D9_DEFS = _USE_MATH_DEFINES \
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsync VBOX_USING_WINDDK \
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsync VBOX_WINE_WITHOUT_LIBWINE
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncif "$(KBUILD_TYPE)" != "debug" || defined(VBOX_WINE_NO_DEBUG_MSGS)
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBoxD3D9_DEFS += WINE_NO_DEBUG_MSGS
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync#@todo: do we actually need this?
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync#VBoxD3D9_DEFS += VBOX_WITH_WINE_FIX_NO9EX
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncVBoxD3D9_INCS := \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncVBoxD3D9_SOURCES := \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncVBoxD3D9_LIBS = \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(PATH_STAGE_LIB)/wined3d$(VBOX_SUFF_LIB)
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncVBoxD3D9_DEFS += VBOX_WINE_WITH_IPRT
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncVBoxD3D9_LIBS += \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(VBOX_LIB_IPRT_GUEST_R3) \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(VBOX_LIB_VBGL_R3)
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncifdef VBOX_WITH_WDDM
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync # VBoxD3D9wddm - ???.
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync DLLS += VBoxD3D9wddm
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync VBoxD3D9wddm_EXTENDS = VBoxD3D9
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBoxD3D9wddm_INSTTYPE = none
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBoxD3D9wddm_DEBUG_INSTTYPE = both
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBoxD3D9wddm_INCS = $(VBoxD3D9_INCS) \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBoxD3D9wddm_DEFS += $(VBoxD3D9_DEFS) \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBOX_WITH_WDDM \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync IN_VBOXWINEEX \
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync VBOX_WINE_NO_LOCK
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBoxD3D9wddm_SOURCES = $(subst d3d9xpdm.def,d3d9wddm.def,$(VBoxD3D9_SOURCES))
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBoxD3D9wddm_LIBS = \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(subst $(PATH_STAGE_LIB)/wined3d$(VBOX_SUFF_LIB),$(PATH_STAGE_LIB)/wined3dwddm$(VBOX_SUFF_LIB),$(VBoxD3D9_LIBS)) \
04d622a97efc912ec7a11c53cb1ed07ef8d2a204vboxsync $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger$(VBOX_SUFF_LIB) \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi$(VBOX_SUFF_LIB)
63276213dabc30aacddae6c20a095ef6a34e4bd7vboxsync # VBoxD3D9wddm-x86 - For WOW64.
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync DLLS.amd64 += VBoxD3D9wddm-x86
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBoxD3D9wddm-x86_EXTENDS = VBoxD3D9wddm
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBoxD3D9wddm-x86_BLD_TRG_ARCH = x86
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBoxD3D9wddm-x86_DEFS = $(VBoxD3D9wddm_DEFS) VBOX_WDDM_WOW64
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBoxD3D9wddm-x86_LIBS = $(PATH_STAGE_LIB)/wined3dwddm-x86$(VBOX_SUFF_LIB)
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBoxD3D9wddm-x86_LIBS += \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(VBOX_LIB_IPRT_GUEST_R3_X86) \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(VBOX_LIB_VBGL_R3_X86)
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync VBoxD3D9wddm-x86_LIBS += \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger-x86$(VBOX_SUFF_LIB) \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi-x86$(VBOX_SUFF_LIB)
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncendif # VBOX_WITH_WDDM
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync# d3d8 - ???.
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncDLLS += d3d8
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncd3d8_TEMPLATE = VBoxGuestWineD3DxDLL
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncd3d8_SOURCES = \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsync# d3d9 - ???.
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncDLLS += d3d9
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncd3d9_TEMPLATE = VBoxGuestWineD3DxDLL
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncd3d9_SOURCES = \
34abb65e9e91ad1126048605d5ff0fa382992211vboxsyncinclude $(FILE_KBUILD_SUB_FOOTER)