Makefile.kmk revision f8bec4d0d62cd1f6e3e5eabf8f2703aef91a6dbe
# $Id$
## @file
# Sub-Makefile for the Windows guest graphics driver.
#
#
# Copyright (C) 2006-2007 Sun Microsystems, Inc.
#
# 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.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
# Clara, CA 95054 USA or visit http://www.sun.com if you need
# additional information or have any questions.
#
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
#
# 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
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')
$(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))
$(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
$(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, ), )
$(call MSG_TOOL,Inf2Cat,VBoxVideoWddm-inf,$@,$<)
$(call VBOX_MAKE_CAT_FN, $(@D),$@)
endif
include $(KBUILD_PATH)/subfooter.kmk