# $Id: Makefile.kmk 32241 2010-09-06 04:52:56Z vboxsync $ ## @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 ifeq ($(KBUILD_TARGET_ARCH),x86) include $(PATH_SUB_CURRENT)/Wine/Makefile.kmk endif 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 VBOXWDDM VBOXWDDM_WITH_DISPD3D = 1 ifeq ($(KBUILD_TARGET_ARCH), x86) 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/VBoxDispD3D64.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/libWine.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/VBoxOGL64.dll \ $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxD3D964.dll \ $(PATH_TARGET)/VBoxVideoWddmCat.dir/wined3d64.dll \ $(PATH_TARGET)/VBoxVideoWddmCat.dir/libWine64.dll \ $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLarrayspu64.dll \ $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLcrutil64.dll \ $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLerrorspu64.dll \ $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLfeedbackspu64.dll \ $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpackspu64.dll \ $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpassthroughspu64.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/VBoxDispD3D64.dll: $$(TARGET_VBoxDispD3D64) | $$(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/libWine.dll: $$(TARGET_libWine) | $$(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/VBoxOGL64.dll: $$(TARGET_VBoxOGL64) | $$(call DIRDEP,$$(@D)) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxD3D964.dll: $$(TARGET_VBoxD3D964) | $$(call DIRDEP,$$(@D)) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/wined3d64.dll: $$(TARGET_wined3d64) | $$(call DIRDEP,$$(@D)) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/libWine64.dll: $$(TARGET_libWine64) | $$(call DIRDEP,$$(@D)) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLarrayspu64.dll: $$(TARGET_VBoxOGLarrayspu64) | $$(call DIRDEP,$$(@D)) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLcrutil64.dll: $$(TARGET_VBoxOGLcrutil64) | $$(call DIRDEP,$$(@D)) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLerrorspu64.dll: $$(TARGET_VBoxOGLerrorspu64) | $$(call DIRDEP,$$(@D)) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLfeedbackspu64.dll: $$(TARGET_VBoxOGLfeedbackspu64) | $$(call DIRDEP,$$(@D)) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpackspu64.dll: $$(TARGET_VBoxOGLpackspu64) | $$(call DIRDEP,$$(@D)) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpassthroughspu64.dll: $$(TARGET_VBoxOGLpassthroughspu64) | $$(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/VBoxDispD3D64.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/libWine.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/VBoxOGL64.dll \ $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxD3D964.dll \ $(PATH_TARGET)/VBoxVideoWddmCat.dir/wined3d64.dll \ $(PATH_TARGET)/VBoxVideoWddmCat.dir/libWine64.dll \ $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLarrayspu64.dll \ $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLcrutil64.dll \ $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLerrorspu64.dll \ $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLfeedbackspu64.dll \ $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpackspu64.dll \ $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpassthroughspu64.dll, ), ) $(call MSG_TOOL,Inf2Cat,VBoxVideoWddm-inf,$@,$<) $(call VBOX_MAKE_CAT_FN, $(@D),$@) endif include $(KBUILD_PATH)/subfooter.kmk