Makefile.kmk revision 772269936494ffaddd0750ba9e28e805ba81398c
# $Id$
## @file
# Makefile for the Windows guest video driver.
#
#
# Copyright (C) 2011-2012 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)/mp/Makefile.kmk
include $(PATH_SUB_CURRENT)/disp/Makefile.kmk
#
# 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)/mp/xpdm/VBoxVideo.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
$(call MSG_GENERATE,VBoxVideo-inf,$@,$<)
$(call VBOX_EDIT_INF_FN,$<,$@)
$(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.sys: $$(VBoxVideo_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoCat.dir/VBoxDisp.dll: $$(VBoxDisp_1_TARGET) | $$(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)/mp/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: $$(VBoxVideoWddm_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
ifdef VBOXWDDM_WITH_DISPD3D
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxDispD3D.dll: $$(VBoxDispD3D_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
ifeq ($(KBUILD_TARGET_ARCH),amd64)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxDispD3D-x86.dll: $$(VBoxDispD3D-x86_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
endif
endif
ifdef VBOXWDDM_WITH_GL
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGL.dll: $$(VBoxOGL_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxD3D9wddm.dll: $$(VBoxD3D9wddm_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/wined3dwddm.dll: $$(wined3dwddm_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLarrayspu.dll: $$(VBoxOGLarrayspu_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLcrutil.dll: $$(VBoxOGLcrutil_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLerrorspu.dll: $$(VBoxOGLerrorspu_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLfeedbackspu.dll: $$(VBoxOGLfeedbackspu_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpackspu.dll: $$(VBoxOGLpackspu_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpassthroughspu.dll: $$(VBoxOGLpassthroughspu_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
ifeq ($(KBUILD_TARGET_ARCH), amd64)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGL-x86.dll: $$(VBoxOGL-x86_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxD3D9wddm-x86.dll: $$(VBoxD3D9wddm-x86_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/wined3dwddm-x86.dll: $$(wined3dwddm-x86_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLarrayspu-x86.dll: $$(VBoxOGLarrayspu-x86_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLcrutil-x86.dll: $$(VBoxOGLcrutil-x86_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLerrorspu-x86.dll: $$(VBoxOGLerrorspu-x86_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLfeedbackspu-x86.dll: $$(VBoxOGLfeedbackspu-x86_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpackspu-x86.dll: $$(VBoxOGLpackspu-x86_1_TARGET) | $$(dir $$@)
$(INSTALL) -m 644 $< $(@D)
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpassthroughspu-x86.dll: $$(VBoxOGLpassthroughspu-x86_1_TARGET) | $$(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 $(FILE_KBUILD_SUB_FOOTER)