Makefile.kmk revision 67927207a2d6bb545eb655ef14cdb090b1957120
# $Id$
## @file
# Sub-Makefile for the Windows guest graphics driver.
#
#
# Copyright (C) 2006-2007 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
# General Public License (GPL) as published by the Free Software
# Foundation, in version 2 as it comes in the "COPYING" file of the
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
#
SUB_DEPTH = ../../../../..
include $(KBUILD_PATH)/subheader.kmk
# Include sub-makefiles.
include $(PATH_SUB_CURRENT)/Miniport/Makefile.kmk
include $(PATH_SUB_CURRENT)/Display/Makefile.kmk
ifdef VBOX_WITH_CROGL
include $(PATH_SUB_CURRENT)/Wine/Makefile.kmk
endif
#
# Install the inf & cat.
# This has to be done here since it depends on both the
# miniport driver and the display dll.
#
INSTALLS += VBoxVideo-inf
VBoxVideo-inf_INST = $(INST_ADDITIONS)
VBoxVideo-inf_MODE = a+r,u+w
VBoxVideo-inf_SOURCES = \
$(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.inf
ifdef VBOX_SIGN_ADDITIONS
VBoxVideo-inf_SOURCES += \
$(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.sys \
$(PATH_TARGET)/VBoxVideoCat.dir/VBoxDisp.dll \
$(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.cat
endif # signing
VBoxVideo-inf_CLEAN = $(VBoxVideo-inf_SOURCES)
VBoxVideo-inf_BLDDIRS = \
$(PATH_TARGET)/VBoxVideoCat.dir
$(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.inf: $(PATH_SUB_CURRENT)/Miniport/VBoxVideo.inf $(MAKEFILE_CURRENT) | $$(call DIRDEP,$$(@D))
$(call MSG_GENERATE,VBoxVideo-inf,$@,$<)
$(call VBOX_EDIT_INF_FN,$<,$@)
$(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.sys: $$(TARGET_VBoxVideo) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoCat.dir/VBoxDisp.dll: $$(TARGET_VBoxDisp) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.cat: \
$(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.inf \
$(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.sys \
$(PATH_TARGET)/VBoxVideoCat.dir/VBoxDisp.dll
$(call MSG_TOOL,Inf2Cat,VBoxVideo-inf,$@,$<)
$(call VBOX_MAKE_CAT_FN, $(@D),$@)
ifdef VBOX_WITH_WDDM
VBOXWDDM_WITH_DISPD3D = 1
ifdef VBOX_WITH_CROGL
VBOXWDDM_WITH_GL = 1
endif
#
# Install the inf & cat.
# This has to be done here since it depends on both the
# miniport driver and the display dll.
#
INSTALLS += VBoxVideoWddm-inf
VBoxVideoWddm-inf_INST = $(INST_ADDITIONS)
VBoxVideoWddm-inf_MODE = a+r,u+w
VBoxVideoWddm-inf_SOURCES = \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxVideoWddm.inf
ifdef VBOX_SIGN_ADDITIONS
VBoxVideoWddm-inf_SOURCES += \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxVideoWddm.sys \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxVideoWddm.cat
ifdef VBOXWDDM_WITH_DISPD3D
VBoxVideoWddm-inf_SOURCES += \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxDispD3D.dll
VBoxVideoWddm-inf_SOURCES.amd64 += \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxDispD3D-x86.dll
endif
ifdef VBOXWDDM_WITH_GL
VBoxVideoWddm-inf_SOURCES += \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGL.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxD3D9wddm.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/wined3dwddm.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLarrayspu.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLcrutil.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLerrorspu.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLfeedbackspu.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpackspu.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpassthroughspu.dll
VBoxVideoWddm-inf_SOURCES.amd64 += \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGL-x86.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxD3D9wddm-x86.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/wined3dwddm-x86.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLarrayspu-x86.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLcrutil-x86.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLerrorspu-x86.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLfeedbackspu-x86.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpackspu-x86.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpassthroughspu-x86.dll
endif
endif # signing
VBoxVideoWddm-inf_CLEAN = $(VBoxVideoWddm-inf_SOURCES)
VBoxVideoWddm-inf_BLDDIRS = \
$(PATH_TARGET)/VBoxVideoWddmCat.dir
VBOXWDDM_EDIT_INF_DISPD3D_FN_ARG = $(if $(VBOXWDDM_WITH_DISPD3D),-e 's/^;dispd3d *//', -e '/^;dispd3d /d')
VBOXWDDM_EDIT_INF_GL_FN_ARG = $(if $(VBOXWDDM_WITH_GL),-e 's/^;gl *//', -e '/^;gl /d')
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxVideoWddm.inf: $(PATH_SUB_CURRENT)/Miniport/wddm/VBoxVideoWddm.inf $(MAKEFILE_CURRENT) | $$(call DIRDEP,$$(@D))
$(call MSG_GENERATE,VBoxVideoWddm-inf,$@,$<)
$(call VBOX_EDIT_INF_FN,$<,$@ $(VBOXWDDM_EDIT_INF_DISPD3D_FN_ARG) $(VBOXWDDM_EDIT_INF_GL_FN_ARG))
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxVideoWddm.sys: $$(TARGET_VBoxVideoWddm) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
ifdef VBOXWDDM_WITH_DISPD3D
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxDispD3D.dll: $$(TARGET_VBoxDispD3D) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
ifeq ($(KBUILD_TARGET_ARCH),amd64)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxDispD3D-x86.dll: $$(TARGET_VBoxDispD3D-x86) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
endif
endif
ifdef VBOXWDDM_WITH_GL
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGL.dll: $$(TARGET_VBoxOGL) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxD3D9wddm.dll: $$(TARGET_VBoxD3D9wddm) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/wined3dwddm.dll: $$(TARGET_wined3dwddm) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLarrayspu.dll: $$(TARGET_VBoxOGLarrayspu) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLcrutil.dll: $$(TARGET_VBoxOGLcrutil) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLerrorspu.dll: $$(TARGET_VBoxOGLerrorspu) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLfeedbackspu.dll: $$(TARGET_VBoxOGLfeedbackspu) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpackspu.dll: $$(TARGET_VBoxOGLpackspu) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpassthroughspu.dll: $$(TARGET_VBoxOGLpassthroughspu) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
ifeq ($(KBUILD_TARGET_ARCH), amd64)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGL-x86.dll: $$(TARGET_VBoxOGL-x86) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxD3D9wddm-x86.dll: $$(TARGET_VBoxD3D9wddm-x86) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/wined3dwddm-x86.dll: $$(TARGET_wined3dwddm-x86) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLarrayspu-x86.dll: $$(TARGET_VBoxOGLarrayspu-x86) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLcrutil-x86.dll: $$(TARGET_VBoxOGLcrutil-x86) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLerrorspu-x86.dll: $$(TARGET_VBoxOGLerrorspu-x86) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLfeedbackspu-x86.dll: $$(TARGET_VBoxOGLfeedbackspu-x86) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpackspu-x86.dll: $$(TARGET_VBoxOGLpackspu-x86) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpassthroughspu-x86.dll: $$(TARGET_VBoxOGLpassthroughspu-x86) | $$(call DIRDEP,$$(@D))
$(INSTALL) -m 644 $< $(@D)
endif
endif
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxVideoWddm.cat: \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxVideoWddm.inf \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxVideoWddm.sys \
$(if $(VBOXWDDM_WITH_DISPD3D), $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxDispD3D.dll, ) \
$(if $(VBOXWDDM_WITH_DISPD3D), $(if-expr "$(KBUILD_TARGET_ARCH)" == "amd64", $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxDispD3D-x86.dll, ), ) \
$(if $(VBOXWDDM_WITH_GL), $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGL.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxD3D9wddm.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/wined3dwddm.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLarrayspu.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLcrutil.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLerrorspu.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLfeedbackspu.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpackspu.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpassthroughspu.dll, ) \
$(if $(VBOXWDDM_WITH_GL), $(if-expr "$(KBUILD_TARGET_ARCH)" == "amd64", \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGL-x86.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxD3D9wddm-x86.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/wined3dwddm-x86.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLarrayspu-x86.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLcrutil-x86.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLerrorspu-x86.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLfeedbackspu-x86.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpackspu-x86.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpassthroughspu-x86.dll, ), )
$(call MSG_TOOL,Inf2Cat,VBoxVideoWddm-inf,$@,$<)
$(call VBOX_MAKE_CAT_FN, $(@D),$@)
endif
include $(KBUILD_PATH)/subfooter.kmk