# $Id: Makefile.kmk 35381 2010-12-30 16:12:47Z 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 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) | $$(dir $$@) $(call MSG_GENERATE,VBoxVideo-inf,$@,$<) $(call VBOX_EDIT_INF_FN,$<,$@) $(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.sys: $$(TARGET_VBoxVideo) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoCat.dir/VBoxDisp.dll: $$(TARGET_VBoxDisp) | $$(dir $$@) $(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) | $$(dir $$@) $(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) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) ifdef VBOXWDDM_WITH_DISPD3D $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxDispD3D.dll: $$(TARGET_VBoxDispD3D) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) ifeq ($(KBUILD_TARGET_ARCH),amd64) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxDispD3D-x86.dll: $$(TARGET_VBoxDispD3D-x86) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) endif endif ifdef VBOXWDDM_WITH_GL $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGL.dll: $$(TARGET_VBoxOGL) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxD3D9wddm.dll: $$(TARGET_VBoxD3D9wddm) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/wined3dwddm.dll: $$(TARGET_wined3dwddm) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLarrayspu.dll: $$(TARGET_VBoxOGLarrayspu) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLcrutil.dll: $$(TARGET_VBoxOGLcrutil) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLerrorspu.dll: $$(TARGET_VBoxOGLerrorspu) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLfeedbackspu.dll: $$(TARGET_VBoxOGLfeedbackspu) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpackspu.dll: $$(TARGET_VBoxOGLpackspu) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpassthroughspu.dll: $$(TARGET_VBoxOGLpassthroughspu) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) ifeq ($(KBUILD_TARGET_ARCH), amd64) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGL-x86.dll: $$(TARGET_VBoxOGL-x86) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxD3D9wddm-x86.dll: $$(TARGET_VBoxD3D9wddm-x86) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/wined3dwddm-x86.dll: $$(TARGET_wined3dwddm-x86) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLarrayspu-x86.dll: $$(TARGET_VBoxOGLarrayspu-x86) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLcrutil-x86.dll: $$(TARGET_VBoxOGLcrutil-x86) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLerrorspu-x86.dll: $$(TARGET_VBoxOGLerrorspu-x86) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLfeedbackspu-x86.dll: $$(TARGET_VBoxOGLfeedbackspu-x86) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpackspu-x86.dll: $$(TARGET_VBoxOGLpackspu-x86) | $$(dir $$@) $(INSTALL) -m 644 $< $(@D) $(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpassthroughspu-x86.dll: $$(TARGET_VBoxOGLpassthroughspu-x86) | $$(dir $$@) $(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