# $Id: Makefile.kmk 26976 2010-03-02 21:30:45Z vboxsync $ ## @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