Makefile.kmk revision 9ee431cac56f7b56e2197f78dae4d469b180be7a
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# $Id$
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync## @file
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# Sub-Makefile for the Windows guest graphics driver.
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# Copyright (C) 2006-2007 Oracle Corporation
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# available from http://www.virtualbox.org. This file is free software;
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# you can redistribute it and/or modify it under the terms of the GNU
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# General Public License (GPL) as published by the Free Software
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncSUB_DEPTH = ../../../../..
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncinclude $(KBUILD_PATH)/subheader.kmk
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# Include sub-makefiles.
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncinclude $(PATH_SUB_CURRENT)/Miniport/Makefile.kmk
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncinclude $(PATH_SUB_CURRENT)/Display/Makefile.kmk
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncifdef VBOX_WITH_CROGL
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync include $(PATH_SUB_CURRENT)/Wine/Makefile.kmk
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncendif
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# Install the inf & cat.
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# This has to be done here since it depends on both the
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# miniport driver and the display dll.
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncINSTALLS += VBoxVideo-inf
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncVBoxVideo-inf_INST = $(INST_ADDITIONS)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncVBoxVideo-inf_MODE = a+r,u+w
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncVBoxVideo-inf_SOURCES = \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync $(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.inf
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncifdef VBOX_SIGN_ADDITIONS
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncVBoxVideo-inf_SOURCES += \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync $(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.sys \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync $(PATH_TARGET)/VBoxVideoCat.dir/VBoxDisp.dll \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync $(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.cat
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncendif # signing
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncVBoxVideo-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
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/VBoxDispD3D32.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/VBoxOGL32.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxD3D9wddm32.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/wined3dwddm32.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/libWine32.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLarrayspu32.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLcrutil32.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLerrorspu32.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLfeedbackspu32.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpackspu32.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpassthroughspu32.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/VBoxDispD3D32.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/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/wined3dwddm32.dll: $$(TARGET_wined3dwddm32) | $$(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/VBoxDispD3D32.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/VBoxOGL32.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxD3D9wddm32.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/wined3dwddm32.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/libWine32.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLarrayspu32.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLcrutil32.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLerrorspu32.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLfeedbackspu32.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpackspu32.dll \
$(PATH_TARGET)/VBoxVideoWddmCat.dir/VBoxOGLpassthroughspu32.dll, ), )
$(call MSG_TOOL,Inf2Cat,VBoxVideoWddm-inf,$@,$<)
$(call VBOX_MAKE_CAT_FN, $(@D),$@)
endif
include $(KBUILD_PATH)/subfooter.kmk