Makefile.kmk revision dd92891b275f4e916d84259d4ce5f610a8aaaa4a
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# Makefile for the VBox Main module.
e64031e20c39650a7bc902a3e1aba613b9415deevboxsync# Copyright (C) 2004-2014 Oracle Corporation
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# available from http://www.virtualbox.org. This file is free software;
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# you can redistribute it and/or modify it under the terms of the GNU
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# General Public License (GPL) as published by the Free Software
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncSUB_DEPTH = ../../..
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# Make sure our Config.kmk is included.
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifndef VBOX_MAIN_CONFIG_KMK_INCLUDED
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync include $(PATH_SUB_CURRENT)/Config.kmk
590bfe12ce22cd3716448fbb9f4dc51664bfe5e2vboxsync# Include sub-makefile(s).
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_WEBSERVICES
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync include $(PATH_SUB_CURRENT)/webservice/Makefile.kmk
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncinclude $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncinclude $(PATH_SUB_CURRENT)/cbinding/Makefile.kmk
01644b3fb3841a1b087fb2a5b8c2870d9876541bvboxsync# Targets and globals (bit of a mess...)
01644b3fb3841a1b087fb2a5b8c2870d9876541bvboxsyncVBOX_PATH_MAIN_SRC := $(PATH_SUB_CURRENT)
01644b3fb3841a1b087fb2a5b8c2870d9876541bvboxsyncifdef VBOX_ONLY_SDK
01644b3fb3841a1b087fb2a5b8c2870d9876541bvboxsync # I'm Evil! Dr. Evil.
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxCOM_0_OUTDIR = $(PATH_TARGET)/VBoxCOM
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync BLDDIRS += $(VBoxCOM_0_OUTDIR) $(PATH_STAGE_BIN)/components
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync include $(KBUILD_PATH)/tools/$(VBOX_VCC_TOOL).kmk # For the idl /cpp statement.
590bfe12ce22cd3716448fbb9f4dc51664bfe5e2vboxsync include $(KBUILD_PATH)/sdks/$(VBOX_WINPSDK).kmk
43747b1f0bc8302a238fb35e55857a5e9aa1933dvboxsyncendif # !VBOX_ONLY_SDK
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# Construct VBOX_MAIN_DEFS
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync## @todo eliminate or expand VBOX_MAIN_DEFS.
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncVBOX_MAIN_DEFS =
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifneq ($(KBUILD_TARGET),win)
f5e53763b0a581b0299e98028c6c52192eb06785vboxsync ifndef VBOX_WITH_XPCOM
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(error "VBox: VBOX_WITH_XPCOM isn't defined")
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBOX_MAIN_DEFS += VBOX_WITH_GENERIC_SESSION_WATCHER
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBOX_MAIN_DEFS += \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_RAW_MODE),VBOX_WITH_RAW_MODE,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_RAW_RING1),VBOX_WITH_RAW_RING1,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_VMSVGA),VBOX_WITH_VMSVGA,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_VMSVGA3D),VBOX_WITH_VMSVGA3D,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_NETFLT),VBOX_WITH_NETFLT,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_COPYTOGUEST),VBOX_WITH_COPYTOGUEST,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_DRAG_AND_DROP),VBOX_WITH_DRAG_AND_DROP,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_DRAG_AND_DROP_GH),VBOX_WITH_DRAG_AND_DROP_GH,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_CROGL),VBOX_WITH_CROGL,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_CRHGSMI),VBOX_WITH_CRHGSMI,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_GUEST_PROPS),VBOX_WITH_GUEST_PROPS,) \
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync $(if $(VBOX_WITH_GUEST_PROPS_RDONLY_GUEST),VBOX_WITH_GUEST_PROPS_RDONLY_GUEST,) \
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync $(if $(VBOX_WITH_GUEST_CONTROL),VBOX_WITH_GUEST_CONTROL,) \
787c7e6ef15f993c455c374f5158e7bb753b1c33vboxsync $(if $(VBOX_WITH_USB_CARDREADER),VBOX_WITH_USB_CARDREADER,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_USB_CARDREADER_TEST),VBOX_WITH_USB_CARDREADER_TEST,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_HOSTNETIF_API),VBOX_WITH_HOSTNETIF_API,) \
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync# Unconditionally enable the new semaphore key generation code
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBOX_MAIN_DEFS += VBOX_WITH_NEW_SYS_V_KEYGEN
787c7e6ef15f993c455c374f5158e7bb753b1c33vboxsyncVBOX_IDL_FILE.MSCOM = $(VBOX_PATH_SDK)/bindings/mscom/idl/VirtualBox.idl
114aab25ffaeef9fba3a27b58ac0c07296bb5814vboxsyncVBOX_IDL_FILE.XPCOM = $(VBOX_PATH_SDK)/bindings/xpcom/idl/VirtualBox_XPCOM.idl
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBOX_IDL_TYPELIB.XPCOM = $(PATH_STAGE_BIN)/components/VirtualBox_XPCOM.xpt
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBOX_IDL_HEADER.XPCOM = $(VBOX_PATH_SDK)/bindings/xpcom/include/VirtualBox_XPCOM.h
787c7e6ef15f993c455c374f5158e7bb753b1c33vboxsync# The MS COM specific stuff.
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncif defined(VBOX_ONLY_SDK) || "$(KBUILD_TARGET)" == "win"
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync OTHERS += \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync OTHER_CLEAN += \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync INSTALLS += VBox-mscom-bindings-include VBox-mscom-bindings-lib
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBox-mscom-bindings-include_INST = $(INST_SDK)bindings/mscom/include/
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBox-mscom-bindings-include_MODE = a+r,u+w
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBox-mscom-bindings-include_SOURCES = $(VBoxCOM_0_OUTDIR)/VirtualBox.h
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBox-mscom-bindings-include_CLEAN = $(VBoxCOM_0_OUTDIR)/VirtualBox.h
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBox-mscom-bindings-lib_INST = $(INST_SDK)bindings/mscom/lib/
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBox-mscom-bindings-lib_MODE = a+r,u+w
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBox-mscom-bindings-lib_SOURCES = $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBox-mscom-bindings-lib_CLEAN = $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync BLDDIRS += $(VBOX_PATH_SDK)/bindings/mscom/idl
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# The XPCOM specific stuff.
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# if defined(VBOX_ONLY_SDK) || "$(KBUILD_TARGET)" != "win" -- does not build on Windows
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsyncif "$(KBUILD_TARGET)" != "win"
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync OTHERS += $(VBOX_IDL_FILE.XPCOM) $(VBOX_IDL_TYPELIB.XPCOM) $(VBOX_IDL_HEADER.XPCOM)
01644b3fb3841a1b087fb2a5b8c2870d9876541bvboxsync OTHER_CLEAN += \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync INSTALLS += VBox-xpcom-bindings-lib
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBox-xpcom-bindings-lib_INST = $(INST_SDK)bindings/xpcom/lib/
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBox-xpcom-bindings-lib_MODE = a+r,u+w
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBox-xpcom-bindings-lib_SOURCES = $(VBoxCOM_0_OUTDIR)/VirtualBox_XPCOM_i.c=>VirtualBox_i.c
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBox-xpcom-bindings-lib_CLEAN = $(VBoxCOM_0_OUTDIR)/VirtualBox_XPCOM_i.c
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBOX_MAIN_PREREQS += $(VBOX_IDL_TYPELIB.XPCOM) $(VBOX_IDL_HEADER.XPCOM)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync BLDDIRS += \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_PATH_SDK)/bindings/xpcom/idl \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncendif # xpcom
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# Strip documentation from source XIDL so that we don't get a full
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# recompile every time a comma in the documentation is changed.
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync$(VBOX_XIDL_FILE).ts +| $(VBOX_XIDL_FILE): \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_XIDL_FILE_SRC) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_PATH_MAIN_SRC)/idl/docstrip.xsl \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync | $$(dir $$@)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# $(CP) -fv $< $(VBOX_XIDL_FILE).ts
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(QUIET)$(VBOX_XSLTPROC) -o $(VBOX_XIDL_FILE).ts $(VBOX_PATH_MAIN_SRC)/idl/docstrip.xsl $<
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(QUIET)$(CP) --changed -fv $(VBOX_XIDL_FILE).ts $(VBOX_XIDL_FILE)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncOTHER_CLEAN += $(VBOX_XIDL_FILE) $(VBOX_XIDL_FILE).ts
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# The Main API documentation
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBOX_MAIN_DOC_DIR = $(VBOX_PATH_SDK)/docs
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncBLDDIRS += $(VBOX_MAIN_DOC_DIR)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync$(PATH_TARGET)/docs.Main: \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_PATH_MAIN_SRC)/Doxyfile.Main \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_PATH_MAIN_SRC)/idl/doxygen.xsl \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_XIDL_FILE_SRC) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync | $(PATH_TARGET)/ \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_MAIN_DOC_DIR)/
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(call MSG_TOOL,xsltproc,doxygen input,$<,$@)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(QUIET)$(RM) -f $(wildcard $(VBOX_MAIN_DOC_DIR)/html/*) $(PATH_TARGET)/docs.Main
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(QUIET)$(VBOX_XSLTPROC) -o $(PATH_TARGET)/VirtualBox.idl $(VBOX_PATH_MAIN_SRC)/idl/doxygen.xsl $(VBOX_XIDL_FILE_SRC)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(QUIET)$(REDIRECT) -E 'DOCDIR=$(VBOX_MAIN_DOC_DIR)' -E 'PATH_TARGET=$(PATH_TARGET)' -E 'PATH_CHM=$(subst /,\,$(VBOX_MAIN_DOC_DIR)/VirtualBoxAPI.chm)' \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync -- doxygen $(VBOX_PATH_MAIN_SRC)/Doxyfile.Main
25747178cb66800d8386c20b8ffd87f78f24f4e5vboxsync $(QUIET)$(TEST) -s "$(PATH_TARGET)/Main.err" -- $(ECHO_EXT) ">>>>>>>>>>>>>>>>>>>> Main.err: >>>>>>>>>>>>>>>>>>>>>>>>"
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(QUIET)$(TEST) -s "$(PATH_TARGET)/Main.err" -- $(CAT) "$(PATH_TARGET)/Main.err"
25747178cb66800d8386c20b8ffd87f78f24f4e5vboxsync $(QUIET)$(TEST) -s "$(PATH_TARGET)/Main.err" -- $(ECHO_EXT) "<<<<<<<<<<<<<<<<<<<< Main.err <<<<<<<<<<<<<<<<<<<<<<<<<"
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(QUIET)$(TEST) -s "$(PATH_TARGET)/Main.err" -- $(ECHO_EXT) "===> **************************************************"
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(QUIET)$(TEST) -s "$(PATH_TARGET)/Main.err" -- $(ECHO_EXT) "===> Please fix above doxygen errors/warnings listed in"
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(QUIET)$(TEST) -s "$(PATH_TARGET)/Main.err" -- $(ECHO_EXT) "===> $(PATH_TARGET)/Main.err"
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(QUIET)$(TEST) -s "$(PATH_TARGET)/Main.err" -- $(ECHO_EXT) "===> **************************************************"
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync -$(EXEC_X86_WIN32) $(VBOX_PATH_HTML_HELP_WORKSHOP)/hhc.exe $(subst /,\\,$(VBOX_MAIN_DOC_DIR)/html/index.hhp)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(APPEND) $(PATH_TARGET)/docs.Main
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncif !defined(VBOX_ONLY_DOCS) && defined(VBOX_WITH_ALL_DOXYGEN_TARGETS)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncdocs: $(PATH_TARGET)/docs.Main
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifndef VBOX_ONLY_SDK
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# Generate library with API class wrappers from the XIDL file.
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncLIBRARIES += VBoxAPIWrap
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxAPIWrap_TEMPLATE = VBoxMainLib
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxAPIWrap_SOURCES = \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBoxAPIWrap_0_OUTDIR)/VBoxAPI.d \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(filter %.cpp,$(VBOX_MAIN_APIWRAPPER_GEN_FILES))
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxAPIWrap_DEFS.win.x86 += _WIN32_WINNT=0x0500
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxAPIWrap_DEFS.win.amd64 += _WIN32_WINNT=0x0510
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxAPIWrap_INCS += \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxAPIWrap_CLEAN = \
25747178cb66800d8386c20b8ffd87f78f24f4e5vboxsync $(wildcard $(VBoxAPIWrap_0_OUTDIR)/*.cpp) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(wildcard $(VBoxAPIWrap_0_OUTDIR)/*.h) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBoxAPIWrap_0_OUTDIR)/VBoxAPI.d.ts \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBoxAPIWrap_0_OUTDIR)/VBoxAPI.d \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBoxAPIWrap_VBOX_RAWSRC)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# Two VBox variables used here and/or in the rules generating wrappers.
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxAPIWrap_VBOX_RAWSRC = \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBoxAPIWrap_0_OUTDIR)/apiwrappers
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxAPIWrap_VBOX_XSLT = \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_PATH_MAIN_SRC)/idl/apiwrap-server.xsl
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# This include file (generated at the bottom of this file), defines
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# VBOX_MAIN_APIWRAPPER_GEN_FILES and VBOX_MAIN_APIWRAPPER_GEN_HDRS.
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxAPIWrap_VBOX_KMK_FILE = $(PATH_OUT)/vboxapiwrap.kmk
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncinclude $(VBoxAPIWrap_VBOX_KMK_FILE)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_32_ON_64_MAIN_API
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncLIBRARIES += VBoxAPIWrap-x86
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxAPIWrap-x86_TEMPLATE = VBoxMainLib-x86
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxAPIWrap-x86_EXTENDS = VBoxAPIWrap
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsyncVBoxAPIWrap-x86_DTRACE_HDR_FLAGS = -32 # ugly, should be fixed in the tool in Config.kmk
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsyncendif # !VBOX_ONLY_SDK
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# Some SDK bit.
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncINSTALLS += VBox-main-xidl
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBox-main-xidl_INST = $(INST_SDK)bindings/
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBox-main-xidl_MODE = a+r,u+w
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBox-main-xidl_SOURCES = $(VBOX_XIDL_FILE_SRC)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_PYTHON
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncINSTALLS += VBox-python-glue
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBox-python-glue_INST = $(INST_SDK)installer/vboxapi/
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBox-python-glue_MODE = a+r,u+w
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBox-python-glue_SOURCES = \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBox-python-glue_0_OUTDIR)/VirtualBox_constants.py
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBox-python-glue_CLEAN = \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBox-python-glue_0_OUTDIR)/VirtualBox_constants.py
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync$$(VBox-python-glue_0_OUTDIR)/VirtualBox_constants.py: \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_PATH_MAIN_SRC)/glue/constants-python.xsl \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_XIDL_FILE) \
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync | $$(dir $$@)
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync $(call MSG_TOOL,xsltproc,Python constants,$<,$@)
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync $(QUIET)$(VBOX_XSLTPROC) -o $@ $< $(VBOX_XIDL_FILE)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsyncendif # VBOX_WITH_PYTHON
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsyncifndef VBOX_ONLY_SDK # Note this goes on for *very* long
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync# Generate SchemaDefs.h and SchemaDefs.cpp from XML Schema
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync# These two files are used by both VBoxC and VBoxSVC.
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsyncBLDDIRS += $(PATH_TARGET)/Main
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsynctestschemadefs: $(VBOX_XML_SCHEMADEFS_H) $(VBOX_XML_SCHEMADEFS_CPP)
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync# VBoxSVC executable
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsyncPROGRAMS += VBoxSVC
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsyncVBoxSVC_TEMPLATE = VBOXMAINEXE
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsyncVBoxSVC_DEFS = \
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync VBOX_MAIN_SETTINGS_ADDONS \
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync IN_VMM_STATIC \
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync $(VBOX_MAIN_DEFS) \
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync $(if $(VBOX_WITH_VBOXSDL),VBOX_WITH_VBOXSDL,) \
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync $(if $(VBOX_WITH_HEADLESS),VBOX_WITH_HEADLESS,) \
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync $(if $(VBOX_WITH_QTGUI),VBOX_WITH_QTGUI,) \
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync $(if $(VBOX_WITH_HGCM),VBOX_WITH_HGCM,) \
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync $(if $(VBOX_WITH_ALSA),VBOX_WITH_ALSA,) \
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync $(if $(VBOX_WITH_PULSE),VBOX_WITH_PULSE,) \
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync $(if $(VBOX_WITH_WINMM),VBOX_WITH_WINMM,) \
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync $(if $(VBOX_WITH_SOLARIS_OSS),VBOX_WITH_SOLARIS_OSS,) \
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync $(if $(VBOX_WITH_E1000),VBOX_WITH_E1000,) \
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(if $(VBOX_WITH_VIRTIO),VBOX_WITH_VIRTIO,) \
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(if $(VBOX_WITH_AHCI),VBOX_WITH_AHCI,) \
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(if $(VBOX_WITH_LSILOGIC),VBOX_WITH_LSILOGIC,) \
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(if $(VBOX_WITH_LINUX_COMPILER_H),VBOX_WITH_LINUX_COMPILER_H,) \
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync $(if $(VBOX_WITH_RESOURCE_USAGE_API),VBOX_WITH_RESOURCE_USAGE_API,) \
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync $(if $(VBOX_WITH_PDM_ASYNC_COMPLETION),VBOX_WITH_PDM_ASYNC_COMPLETION,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_DBUS),$(if $(VBOX_USB_WITH_DBUS),VBOX_USB_WITH_DBUS,),) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_USB_WITH_SYSFS),VBOX_USB_WITH_SYSFS,) \
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync $(if $(VBOX_USB_WITH_INOTIFY),VBOX_USB_WITH_INOTIFY,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_LIVE_MIGRATION),VBOX_WITH_LIVE_MIGRATION,) \
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync $(if $(VBOX_WITH_EXTPACK),VBOX_WITH_EXTPACK,) \
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(if $(VBOX_WITH_VUSB),VBOX_WITH_VUSB,) \
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(if $(VBOX_WITH_S3),VBOX_WITH_S3,) \
4fcfe0bd966753617b7ab5fb81fb24709914fc1cvboxsync $(if $(VBOX_WITH_PCI_PASSTHROUGH),VBOX_WITH_PCI_PASSTHROUGH,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_PDM_AUDIO_DRIVER),VBOX_WITH_PDM_AUDIO_DRIVER,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_NAT_SERVICE),VBOX_WITH_NAT_SERVICE,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_CROGL),VBOX_WITH_CROGL,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_CRHGSMI),VBOX_WITH_CRHGSMI,)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_USB
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxSVC_DEFS += \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBOX_WITH_USB \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_EHCI),VBOX_WITH_EHCI,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_NEW_USB_CODE_ON_DARWIN),VBOX_WITH_NEW_USB_CODE_ON_DARWIN,)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxSVC_DEFS.win += VBOX_COM_OUTOFPROC_MODULE
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxSVC_DEFS.win += _WIN32_WINNT=0x0510
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# Try to load and use libhal at runtime for probing removable media
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# VBoxSVC_DEFS.linux += VBOX_USE_LIBHAL
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxSVC_DEFS.solaris += VBOX_USE_LIBHAL
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxSVC_DEFS.freebsd += VBOX_USE_LIBHAL
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxSVC_CXXFLAGS = $(filter-out -Wno-unused,$(TEMPLATE_VBOXMAINEXE_CXXFLAGS))
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxSVC_INCS = \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBoxSVC_0_OUTDIR) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(dir $(VBOX_XML_SCHEMADEFS_H)) \
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsync $(VBOX_MAIN_APIWRAPPER_INCS) \
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsync $(VBoxCOM_0_OUTDIR)
01644b3fb3841a1b087fb2a5b8c2870d9876541bvboxsyncifdef VBOX_WITH_USB
01644b3fb3841a1b087fb2a5b8c2870d9876541bvboxsyncVBoxSVC_LIBS += \
01644b3fb3841a1b087fb2a5b8c2870d9876541bvboxsync $(PATH_STAGE_LIB)/VBoxAPIWrap$(VBOX_SUFF_LIB) \
01644b3fb3841a1b087fb2a5b8c2870d9876541bvboxsync $(PATH_STAGE_LIB)/SSMStandalone$(VBOX_SUFF_LIB) \
01644b3fb3841a1b087fb2a5b8c2870d9876541bvboxsyncVBoxSVC_SDKS = VBOX_LIBPNG VBOX_ZLIB VBOX_OPENSSL
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/dnsapi.lib
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxSVC_INTERMEDIATES = \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_MAIN_PREREQS) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_XML_SCHEMADEFS_H) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_AUTOGEN_EVENT_H) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_MAIN_APIWRAPPER_GEN_HDRS)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxSVC_SOURCES = \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBoxAPIWrap_0_OUTDIR)/VBoxAPI.d \
01644b3fb3841a1b087fb2a5b8c2870d9876541bvboxsync $(if $(VBOX_WITH_EXTPACK),src-all/ExtPackManagerImpl.cpp src-all/ExtPackUtil.cpp,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_XML_SCHEMADEFS_CPP) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_AUTOGEN_EVENT_CPP) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_XPCOM),src-server/xpcom/server.cpp,)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifn1of ($(KBUILD_TARGET), win darwin)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxSVC_SOURCES += $(PATH_ROOT)/src/VBox/Devices/Network/slirp/resolv_conf_parser.c
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_USB
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync ifdef VBOX_WITH_SYSFS_BY_DEFAULT
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync src-server/linux/USBProxyServiceLinux.cpp_DEFS += VBOX_WITH_SYSFS_BY_DEFAULT
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxSVC_SOURCES += \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxSVC_SOURCES.darwin += src-server/darwin/USBProxyServiceDarwin.cpp
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxSVC_SOURCES.linux += src-server/linux/USBProxyServiceLinux.cpp
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxSVC_SOURCES.linux += src-server/linux/USBGetDevices.cpp
01644b3fb3841a1b087fb2a5b8c2870d9876541bvboxsync VBoxSVC_SOURCES.os2 += src-server/os2/USBProxyServiceOs2.cpp
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxSVC_SOURCES.solaris += src-server/solaris/USBProxyServiceSolaris.cpp
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxSVC_SOURCES.win += src-server/win/USBProxyServiceWindows.cpp
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxSVC_SOURCES.freebsd += src-server/freebsd/USBProxyServiceFreeBSD.cpp
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_NETFLT
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(PATH_STAGE_LIB)/WinNetConfig$(VBOX_SUFF_LIB) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(PATH_STAGE_LIB)/VBoxDrvCfg$(VBOX_SUFF_LIB) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(PATH_SDK_$(VBOX_WINDDK)_LIB)/newdev.lib \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/WbemUuid.Lib
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxSVC_LDFLAGS.darwin = -framework IOKit -framework SystemConfiguration
01644b3fb3841a1b087fb2a5b8c2870d9876541bvboxsyncifdef VBOX_WITH_CROGL
01644b3fb3841a1b087fb2a5b8c2870d9876541bvboxsync VBoxSVC_LIBS += $(PATH_STAGE_LIB)/VBoxOGLTest$(VBOX_SUFF_LIB)
01644b3fb3841a1b087fb2a5b8c2870d9876541bvboxsync VBoxSVC_LDFLAGS.darwin += -framework OpenGL
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifeq ($(KBUILD_TYPE),debug)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxSVC_LDFLAGS.linux += -rdynamic # for backtrace_symbols()
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_RESOURCE_USAGE_API
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxSVC_SOURCES += \
a7d402dcc23137e7b9527be6de80400043a5fbf4vboxsync VBoxSVC_SOURCES.darwin += src-server/darwin/PerformanceDarwin.cpp
fbf08fabb4c4b383d6aa2830c2bd5b943a26f10cvboxsync VBoxSVC_SOURCES.freebsd += src-server/freebsd/PerformanceFreeBSD.cpp
a7d402dcc23137e7b9527be6de80400043a5fbf4vboxsync VBoxSVC_SOURCES.linux += src-server/linux/PerformanceLinux.cpp
fbf08fabb4c4b383d6aa2830c2bd5b943a26f10cvboxsync VBoxSVC_SOURCES.os2 += src-server/os2/PerformanceOs2.cpp
fbf08fabb4c4b383d6aa2830c2bd5b943a26f10cvboxsync VBoxSVC_SOURCES.solaris += src-server/solaris/PerformanceSolaris.cpp
fbf08fabb4c4b383d6aa2830c2bd5b943a26f10cvboxsync VBoxSVC_SOURCES.win += src-server/win/PerformanceWin.cpp
fbf08fabb4c4b383d6aa2830c2bd5b943a26f10cvboxsync VBoxSVC_LDFLAGS.solaris += -lkstat -lnvpair
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_HOSTNETIF_API
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxSVC_SOURCES.win += src-server/win/NetIf-win.cpp
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxSVC_SOURCES.linux += src-server/linux/NetIf-linux.cpp
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxSVC_SOURCES.os2 += src-server/os2/NetIf-os2.cpp
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxSVC_SOURCES.darwin += src-server/darwin/NetIf-darwin.cpp
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsync VBoxSVC_SOURCES.solaris += src-server/solaris/NetIf-solaris.cpp
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxSVC_SOURCES.freebsd += src-server/freebsd/NetIf-freebsd.cpp
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsync VBoxSVC_DEFS += VBOX_WITH_HOSTNETIF_API
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsync if1of ($(KBUILD_TARGET), linux darwin solaris freebsd)
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsync VBoxSVC_SOURCES += src-server/generic/NetIf-generic.cpp
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsyncsrc-server/win/VBoxSVC.rc_INCS = $(VBoxSVC_0_OUTDIR)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsyncsrc-server/win/VBoxSVC.rc_DEPS = $(VBoxSVC_0_OUTDIR)/VBoxSVC.rgs $(VBoxSVC_0_OUTDIR)/VBoxSVC-icon.rc
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsyncsrc-server/win/VBoxSVC.rc_CLEAN = $(VBoxSVC_0_OUTDIR)/VBoxSVC.rgs $(VBoxSVC_0_OUTDIR)/VBoxSVC-icon.rc
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync$$(VBoxSVC_0_OUTDIR)/VBoxSVC-icon.rc: $(MAKEFILE_CURRENT) $(VBOX_WINDOWS_ICON_FILE) | $$(dir $$(@D))
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(APPEND) -t $@ '1 ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_FILE))"'
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync$$(VBoxSVC_0_OUTDIR)/VBoxSVC.rgs: $(VBOX_PATH_MAIN_SRC)/src-all/win/VirtualBox_rgs.xsl $(VBOX_XIDL_FILE) | $$(dir $$(@D))
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(VBOX_XSLTPROC) --stringparam Module VBoxSVC -o $@ $< $(VBOX_XIDL_FILE)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync## @todo r=klaus unfortunately we don't have xmllint everywhere, would be
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync# good to check the validity for every VirtualBox.xidl change.
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync#$(VBOX_XIDL_FILE).validated.ts: $(VBOX_XIDL_FILE_SRC)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync# xmllint --dtdvalid $(VBOX_PATH_MAIN_SRC)/idl/VirtualBox.dtd --noout $<
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync# $(QUIET)$(CP) --changed -fv $< $(VBOX_XIDL_FILE).validated.ts
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync#OTHERS += $(VBOX_XIDL_FILE).validated.ts
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync#OTHER_CLEAN += $(VBOX_XIDL_FILE).validated.ts
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsynctestvalidxidl: $(VBOX_XIDL_FILE_SRC)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync xmllint --dtdvalid $(VBOX_PATH_MAIN_SRC)/idl/VirtualBox.dtd --noout $<
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync# Embed some constraints from XML Schema file into VBoxSVC
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsyncVBOX_XML_SCHEMA = $(VBOX_PATH_MAIN_SRC)/xml/VirtualBox-settings.xsd
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync$(VBOX_XML_SCHEMADEFS_H): $(VBOX_XML_SCHEMADEFS_XSL) $(VBOX_XML_SCHEMA) | $$(dir $$@)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(call MSG_GENERATE,SchemaDefs,$@,$<)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(QUIET)$(VBOX_XSLTPROC) --stringparam mode declare -o $@ $(VBOX_XML_SCHEMADEFS_XSL) $(VBOX_XML_SCHEMA)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync$(VBOX_XML_SCHEMADEFS_CPP): $(VBOX_XML_SCHEMADEFS_XSL) $(VBOX_XML_SCHEMA) | $$(dir $$@)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(call MSG_GENERATE,SchemaDefs,$@,$<)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(QUIET)$(VBOX_XSLTPROC) --stringparam mode define -o $@ $(VBOX_XML_SCHEMADEFS_XSL) $(VBOX_XML_SCHEMA)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsynctestvalidsettings: $(VBOX_XML_SCHEMA)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync xmllint --schema $< --noout $(HOME)/.VirtualBox/VirtualBox.xml
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync xmllint --schema $< --noout $(HOME)/.VirtualBox/Machines/*/*.xml
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync xmllint --schema $< --noout $(HOME)/.VirtualBox/Machines/*/*.vbox
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync xmllint --schema $< --noout $(HOME)/VirtualBox\ VMs/*/*.vbox
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsyncOTHER_CLEAN += $(VBOX_XML_SCHEMADEFS_H) $(VBOX_XML_SCHEMADEFS_CPP)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync# Generate some event stuff for VBoxSVC and VBoxC.
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync$(VBOX_AUTOGEN_EVENT_H): $(VBOX_PATH_MAIN_SRC)/idl/comimpl.xsl $(VBOX_XIDL_FILE) | $$(dir $$@)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(call MSG_TOOL,xsltproc,autogen events,$<,$@)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(QUIET)$(VBOX_XSLTPROC) --stringparam G_kind VBoxEventHeader -o $@ $< $(VBOX_XIDL_FILE)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync$(VBOX_AUTOGEN_EVENT_CPP): $(VBOX_PATH_MAIN_SRC)/idl/comimpl.xsl $(VBOX_XIDL_FILE) | $$(dir $$@)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(call MSG_TOOL,xsltproc,autogen events,$<,$@)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(QUIET)$(VBOX_XSLTPROC) --stringparam G_kind VBoxEvent -o $@ $< $(VBOX_XIDL_FILE)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsyncOTHER_CLEAN += $(VBOX_AUTOGEN_EVENT_H) $(VBOX_AUTOGEN_EVENT_CPP)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsyncifdef VBOX_WITH_XPCOM
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync# VBoxSVCM - VBoxSVC wrapper module
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncDLLS += VBoxSVCM
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxSVCM_TEMPLATE = VBOXMAINCOMP
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncVBoxSVCM_DEFS = IN_RING3 $(VBOX_MAIN_DEFS)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_HARDENING
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxSVCM_DEFS += VBOX_WITH_HARDENING
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxSVCM_INCS = \
a39ea3668b7019c23a68936259545f9b71bce1aavboxsync $(VBoxC_0_OUTDIR) \
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsyncVBoxSVCM_INTERMEDIATES = $(VBOX_MAIN_PREREQS)
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncVBoxSVCM_SOURCES = \
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/components/VBoxSVCM.dylib \
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync -exported_symbols_list $(VBoxSVCM_0_OUTDIR)/VBoxSVCM.def
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync ifeq ($(KBUILD_TARGET),darwin)
e74eef731a813e4e06680c587a6759b9974b29c9vboxsyncVBoxSVCM_ORDERDEPS += $(VBoxSVCM_0_OUTDIR)/VBoxSVCM.def
e74eef731a813e4e06680c587a6759b9974b29c9vboxsyncVBoxSVCM_CLEAN += $(VBoxSVCM_0_OUTDIR)/VBoxSVCM.def
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync$$(VBoxSVCM_0_OUTDIR)/VBoxSVCM.def:
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync $(RM) -f $@
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync $(APPEND) $@ _NSGetModule
e74eef731a813e4e06680c587a6759b9974b29c9vboxsyncVBoxSVCM_INTERMEDIATES += $(VBOX_IDL_HEADER.XPCOM)
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync # 32-bit version of the module.
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync ifdef VBOX_WITH_32_ON_64_MAIN_API
e74eef731a813e4e06680c587a6759b9974b29c9vboxsyncDLLS += VBoxSVCM-x86
e74eef731a813e4e06680c587a6759b9974b29c9vboxsyncVBoxSVCM-x86_TEMPLATE = VBoxMainComp-x86
e74eef731a813e4e06680c587a6759b9974b29c9vboxsyncVBoxSVCM-x86_EXTENDS = VBoxSVCM
e74eef731a813e4e06680c587a6759b9974b29c9vboxsyncendif # VBOX_WITH_XPCOM
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync# VBoxC module
e74eef731a813e4e06680c587a6759b9974b29c9vboxsyncDLLS += VBoxC
e74eef731a813e4e06680c587a6759b9974b29c9vboxsyncVBoxC_TEMPLATE = VBOXMAINCOMP
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsyncVBoxC_DEFS = \
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsync $(VBOX_MAIN_DEFS) \
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsync VBOX_COM_INPROC \
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync $(if $(VBOX_WITH_HGCM),VBOX_WITH_HGCM,) \
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync $(if $(VBOX_WITH_ALSA),VBOX_WITH_ALSA,) \
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync $(if $(VBOX_WITH_PULSE),VBOX_WITH_PULSE,) \
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync $(if $(VBOX_WITH_WINMM),VBOX_WITH_WINMM,) \
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync $(if $(VBOX_WITH_SOLARIS_OSS),VBOX_WITH_SOLARIS_OSS,) \
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync $(if $(VBOX_WITH_E1000),VBOX_WITH_E1000,) \
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync $(if $(VBOX_WITH_VIRTIO),VBOX_WITH_VIRTIO,) \
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync $(if $(VBOX_WITH_EFI),VBOX_WITH_EFI,) \
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync $(if $(VBOX_WITH_PDM_ASYNC_COMPLETION),VBOX_WITH_PDM_ASYNC_COMPLETION,) \
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync $(if $(VBOX_WITH_LIVE_MIGRATION),VBOX_WITH_LIVE_MIGRATION,) \
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync $(if $(VBOX_WITH_VUSB),VBOX_WITH_VUSB,) \
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync $(if $(VBOX_WITH_HGSMI),VBOX_WITH_HGSMI,) \
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync $(if $(VBOX_WITH_VIDEOHWACCEL),VBOX_WITH_VIDEOHWACCEL,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_DRAG_AND_DROP),VBOX_WITH_DRAG_AND_DROP,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_DRAG_AND_DROP_GH),VBOX_WITH_DRAG_AND_DROP_GH,) \
cad8876b46f9e366c4a1007a40c27ca1df078950vboxsync $(if $(VBOX_WITH_USB),VBOX_WITH_USB,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if-expr defined(VBOX_WITH_EHCI) && defined(VBOX_WITH_USB),VBOX_WITH_EHCI,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_EXTPACK),VBOX_WITH_EXTPACK,) \
c28fa006ba669ad8f26ae31d00a338379c04ea1bvboxsync $(if $(VBOX_WITH_PCI_PASSTHROUGH),VBOX_WITH_PCI_PASSTHROUGH,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_VPX),VBOX_WITH_VPX,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_PDM_AUDIO_DRIVER),VBOX_WITH_PDM_AUDIO_DRIVER,)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_CRHGSMI
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsync VBoxC_DEFS += VBOX_WITH_CRHGSMI
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsyncifdef VBOX_WITH_NETSHAPER
c28fa006ba669ad8f26ae31d00a338379c04ea1bvboxsync VBoxC_DEFS += VBOX_WITH_NETSHAPER
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxC_DEFS.darwin.x86 = VBOX_WITH_2X_4GB_ADDR_SPACE
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxC_DEFS.win.x86 += _WIN32_WINNT=0x0500
e74eef731a813e4e06680c587a6759b9974b29c9vboxsyncVBoxC_DEFS.win.amd64 += _WIN32_WINNT=0x0510
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxC_SDKS = VBOX_LIBPNG VBOX_ZLIB
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_VPX
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxC_SDKS += VBOX_VPX
01644b3fb3841a1b087fb2a5b8c2870d9876541bvboxsyncifdef VBOX_WITH_OPENSSL_FIPS
01644b3fb3841a1b087fb2a5b8c2870d9876541bvboxsync VBoxC_SDKS += VBOX_OPENSSL2
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxC_INCS = \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBoxC_0_OUTDIR) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_MAIN_APIWRAPPER_INCS) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(dir $(VBOX_XML_SCHEMADEFS_H)) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_MAIN_APIWRAPPER_DIR)/dtrace
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBoxCOM_0_OUTDIR) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/components/VBoxC.dylib \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync -exported_symbols_list $(VBoxC_0_OUTDIR)/VBoxC.def \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync -framework IOKit
fbf08fabb4c4b383d6aa2830c2bd5b943a26f10cvboxsyncVBoxC_LIBS += \
a7d402dcc23137e7b9527be6de80400043a5fbf4vboxsync $(PATH_STAGE_LIB)/VBoxAPIWrap$(VBOX_SUFF_LIB) \
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(if-expr "$(LIB_VMM)" == "$(VBOX_LIB_VMM_LAZY)",$(LIB_REM),) \
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(VBOX_LIB_VMM_LAZY)
72730eaca1e865cb4503d6f8f00bc00bc5e1c038vboxsync $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/delayimp.lib
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_NETFLT
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(PATH_STAGE_LIB)/VBoxDrvCfg$(VBOX_SUFF_LIB) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(PATH_SDK_$(VBOX_WINDDK)_LIB)/newdev.lib \
c28fa006ba669ad8f26ae31d00a338379c04ea1bvboxsync $(PATH_STAGE_LIB)/WinNetConfig$(VBOX_SUFF_LIB) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/WbemUuid.Lib
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_CROGL
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxC_LIBS += $(PATH_STAGE_LIB)/VBoxOGLTest$(VBOX_SUFF_LIB)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxC_LDFLAGS.darwin += -framework OpenGL
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_DRAG_AND_DROP
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxC_LIBS += $(PATH_STAGE_LIB)/VBoxDnDHostR3Lib$(VBOX_SUFF_LIB)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxC_INTERMEDIATES = \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_MAIN_PREREQS) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_XML_SCHEMADEFS_H) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_AUTOGEN_EVENT_H) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_MAIN_APIWRAPPER_GEN_HDRS)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxC_SOURCES = \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBoxAPIWrap_0_OUTDIR)/VBoxAPI.d \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_EXTPACK),src-all/ExtPackManagerImpl.cpp src-all/ExtPackUtil.cpp,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_USB_CARDREADER),src-client/UsbCardReader.cpp,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_WITH_PCI_PASSTHROUGH),src-client/PCIRawDevImpl.cpp,) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_AUTOGEN_EVENT_CPP) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_XML_SCHEMADEFS_CPP)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_PDM_AUDIO_DRIVER
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxC_SOURCES += \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxC_SOURCES += \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_GUEST_CONTROL
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxC_SOURCES += \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_DRAG_AND_DROP
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxC_SOURCES += \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_XPCOM
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxC_SOURCES += \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_HGCM
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxC_SOURCES += \
25747178cb66800d8386c20b8ffd87f78f24f4e5vboxsyncifdef VBOX_WITH_USB
25747178cb66800d8386c20b8ffd87f78f24f4e5vboxsync VBoxC_SOURCES += \
25747178cb66800d8386c20b8ffd87f78f24f4e5vboxsyncifdef VBOX_WITH_VPX
25747178cb66800d8386c20b8ffd87f78f24f4e5vboxsync VBoxC_SOURCES += \
25747178cb66800d8386c20b8ffd87f78f24f4e5vboxsyncifeq ($(KBUILD_TARGET),darwin)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxC_ORDERDEPS += $(VBoxC_0_OUTDIR)/VBoxC.def
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxC_CLEAN += $(VBoxC_0_OUTDIR)/VBoxC.def
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync$$(VBoxC_0_OUTDIR)/VBoxC.def: $(MAKEFILE_CURRENT)
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsync $(RM) -f $@
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(APPEND) $@ _NSGetModule
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(APPEND) $@ _VBoxDriversRegister
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsync $(if $(VBOX_BLEEDING_EDGE),VBOX_BLEEDING_EDGE=\"$(VBOX_BLEEDING_EDGE)\",) \
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsync $(if $(VBOX_WITH_OPENSSL_FIPS), VBOX_OPENSSL_FIPS,)
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsyncsrc-client/win/VBoxC.rc_DEPS = $(VBoxC_0_OUTDIR)/VBoxC.rgs $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsync$$(VBoxC_0_OUTDIR)/VBoxC.rgs: $(VBOX_PATH_MAIN_SRC)/src-all/win/VirtualBox_rgs.xsl $(VBOX_XIDL_FILE) | $$(dir $$@)
1e61c2f4dd6e398ffa2028c55f1e0170b53fa7a3vboxsync $(VBOX_XSLTPROC) --stringparam Module VBoxC -o $@ $< $(VBOX_XIDL_FILE)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_32_ON_64_MAIN_API
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync # 32-bit VBox API Client In-Process module.
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync # This is currently just a 32-bit version of VBoxC. It might be desirable to
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync # split up VBoxC into a simple client and a VM client part later, in which
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync # case this module will be a simple client.
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync # Note! One important thing is that the typelib for this DLL must be build
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync # with the /env win32 switch and the VBoxC typelib with /env amd64, if
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync # not they will overwrite each others typelib module entry.
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync DLLS += VBoxClient-x86
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxClient-x86_TEMPLATE = VBoxMainComp-x86
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxClient-x86_EXTENDS = VBoxC
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxClient-x86_DEFS = VBOX_COM_INPROC_API_CLIENT $(VBoxC_DEFS)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxClient-x86_INST.win = $(INST_DLL)x86/
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBoxClient-x86_0_OUTDIR) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBoxCOM-x86_0_OUTDIR) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxClient-x86_SOURCES = \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_AUTOGEN_EVENT_CPP) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_XML_SCHEMADEFS_CPP)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync ifdef VBOX_WITH_XPCOM
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxClient-x86_SOURCES += \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxClient-x86_LIBS = \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(PATH_STAGE_LIB)/VBoxAPIWrap-x86$(VBOX_SUFF_LIB)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxClient-x86_LIBS.win = $(NO_SUCH_VARIABLE)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxClient-x86_LIBS.win.x86 = $(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_LIB)/delayimp.lib
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxClient-x86_CLEAN.win += $(VBoxClient-x86_0_OUTDIR)/VBoxClient-x86.rgs
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBoxClient-x86_0_OUTDIR)/VBoxClient-x86.rgs \
2c8ee291fb75c4a6f05df160f5d67f4e9ef1cabcvboxsync $(VBoxCOM-x86_0_OUTDIR)/VirtualBox-x86.tlb
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $$(VBoxClient-x86_0_OUTDIR)/VBoxClient-x86.rgs: \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_PATH_MAIN_SRC)/src-all/win/VirtualBox_rgs.xsl \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_XIDL_FILE) | $$(dir $$@)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_XSLTPROC) --stringparam Module VBoxC -o $@ $< $(VBOX_XIDL_FILE)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# VBoxCOM - COM Abstraction Layer library
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncLIBRARIES += VBoxCOM
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxCOM_TEMPLATE = VBoxMainLib
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxCOM_INTERMEDIATES = $(VBOX_MAIN_PREREQS) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBOX_MAIN_APIWRAPPER_GEN_HDRS)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxCOM_SOURCES = \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncVBoxCOM_INCS += $(VBOX_MAIN_APIWRAPPER_INCS) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifeq ($(KBUILD_TARGET),win)
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxCOM_DEFS.x86 = _WIN32_WINNT=0x0500
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxCOM_DEFS.amd64 = _WIN32_WINNT=0x0510
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxCOM_SOURCES += \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync VBoxCOM_SOURCES += \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(VBoxCOM_0_OUTDIR)/VirtualBox_XPCOM_i.c \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncendif # !win
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync $(if $(VBOX_BLEEDING_EDGE),VBOX_BLEEDING_EDGE=\"$(VBOX_BLEEDING_EDGE)\",) \
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync KBUILD_TYPE=\"$(KBUILD_TYPE)\"
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync# 32-bit version of VBoxCOM.
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsyncifdef VBOX_WITH_32_ON_64_MAIN_API
24ab761b2beb5af0393c6f2585b6351d8b3085f0vboxsync LIBRARIES += VBoxCOM-x86
VBoxExtPackHelperApp_LDFLAGS.darwin = -framework Security
VBoxExtPackHelperApp_LDFLAGS.win = /SUBSYSTEM:windows
PROGRAMS.linux += VBoxVolInfo
VBoxVolInfo_SOURCES = src-helper-apps/VBoxVolInfo.cpp
INSTALLS.win += VBoxMain-com-inst
VBoxMain-com-inst_SOURCES = src-all/win/comregister.cmd
# Installs linux/hardening related things to components.
INSTALLS.linux += VBoxMain-hardening-inst
VBoxProxyStub_DEFS.win.x86 = WIN32
$(VBoxCOM_0_OUTDIR)/dlldata.c \
$(VBoxCOM_0_OUTDIR)/VirtualBox_p.c \
$(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \
VBoxProxyStub-x86_DEFS.win.x86 = WIN32
$(VBoxCOM-x86_0_OUTDIR)/dlldata.c \
$(VBoxCOM-x86_0_OUTDIR)/VirtualBox_p.c \
$(VBoxCOM-x86_0_OUTDIR)/VirtualBox_i.c \
$(QUIET)$(VBOX_XSLTPROC) -o $@ $(if $(VBOX_WITH_MIDL_PROXY_STUB),-stringparam g_fGenProxy yes,) $< $(VBOX_XIDL_FILE)
testidlhdr: $(VBOX_IDL_HEADER.XPCOM)
$(if $(VBOX_WITH_32_ON_64_MAIN_API),$(VBoxCOM-x86_0_OUTDIR)/VirtualBox_i.c,)
$(VBoxCOM_0_OUTDIR)/VirtualBox_XPCOM_i.c: $(VBOX_PATH_MAIN_SRC)/idl/xpidl_iid.xsl $(VBOX_XIDL_FILE) | $$(dir $$@)
$(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \
+ $(VBoxCOM_0_OUTDIR)/VirtualBox.h \
$(if $(VBOX_WITH_MIDL_PROXY_STUB),+ $(VBoxCOM_0_OUTDIR)/VirtualBox_p.c + $(VBoxCOM_0_OUTDIR)/dlldata.c,) \
$(VBoxCOM-x86_0_OUTDIR)/VirtualBox_i.c \
+ $(VBoxCOM-x86_0_OUTDIR)/VirtualBox.h \
$(if $(VBOX_WITH_MIDL_PROXY_STUB),+ $(VBoxCOM-x86_0_OUTDIR)/VirtualBox_p.c + $(VBoxCOM-x86_0_OUTDIR)/dlldata.c,) \
/tlb $(call VBOX_FN_MAKE_WIN_PATH,$(VBoxCOM-x86_0_OUTDIR)/VirtualBox-x86.tlb) \
/cpp_cmd $(subst $(EXEC_X86_WIN32),,$(call VBOX_FN_MAKE_WIN_PATH,$(TOOL_$(VBOX_VCC_TOOL_STEM)X86_CC))) \
VBOX_JMSCOM_JAR = $(VBoxJMscom-inst-jar_0_OUTDIR)/vboxjmscom.jar
VBOX_GLUE_XSLT_DIR := $(PATH_ROOT)/src/VBox/Main/glue
VBOX_JACOB_DIR := $(PATH_ROOT)/src/libs/jacob-1.17
VBoxJMscom-inst-jar_INST = $(INST_SDK)bindings/mscom/java/
$(VBOX_JMSCOM_GEN)/jmscomglue.list \
$(VBOX_JMSCOM_GEN)/jmscomglue.list: \
$(VBOX_GLUE_XSLT_DIR)/glue-java.xsl \
$(QUIET)$(VBOX_FILESPLIT) $(VBOX_JMSCOM_GEN)/java/merged.file $(VBOX_JMSCOM_GEN)/java
$$(VBOX_JMSCOM_JAR): $(VBOX_JMSCOM_GEN)/jmscomglue.list | $$(dir $$@)
$(call MSG_TOOL,javac,$(notdir $@),jmscomglue.list,)
$(QUIET)$(VBOX_JAVAC) $(VBOX_JAVAC_OPTS) @$(VBOX_JMSCOM_GEN)/jmscomglue.list \
-d $(VBOX_JMSCOM_JDEST) -classpath "$(VBOX_JMSCOM_JDEST)$(VBOX_SEP)$(VBOX_JACOB_DIR)/jacob.jar"
## @todo compile TestVBox.java (see below) to have sanity checking
javagluesample_INST = $(INST_SDK)bindings/glue/java/
$(VBOX_PATH_MAIN_SRC)/glue/tests/Makefile=>Makefile
$(VBOX_PATH_MAIN_SRC)/idl/typemap-shared.inc.xsl \
$(QUIET)$(RM) -f $(filter-out $(VBOX_MAIN_APIWRAPPER_GEN_FILES),$(wildcard $(VBoxAPIWrap_0_OUTDIR)/*.cpp) $(wildcard $(VBoxAPIWrap_0_OUTDIR)/*.h))
$(VBoxAPIWrap_VBOX_KMK_FILE).ts +| $(VBoxAPIWrap_VBOX_KMK_FILE): $(VBOX_XIDL_FILE) $(VBoxAPIWrap_VBOX_XSLT) $(VBOX_PATH_MAIN_SRC)/Makefile.kmk
'VBOX_MAIN_APIWRAPPER_GEN_FILES := $$(addprefix $$(VBOX_MAIN_APIWRAPPER_DIR)/,$$(VBOX_MAIN_APIWRAPPER_GEN_FILES))' \
$(VBoxAPIWrap_0_OUTDIR)/VBoxAPI.d.ts \
+| $(VBoxAPIWrap_0_OUTDIR)/VBoxAPI.d: \
$(VBOX_PATH_MAIN_SRC)/src-all/VBoxAPI-start.d \
$(VBOX_PATH_MAIN_SRC)/src-all/VBoxAPI-end.d
$(CP) -f -- $(VBOX_PATH_MAIN_SRC)/src-all/VBoxAPI-start.d $@
$(SED) -e "" --append $@ $(VBOX_PATH_MAIN_SRC)/src-all/VBoxAPI-end.d
$(QUIET)$(CP) --changed -fv -- $@ $(VBoxAPIWrap_0_OUTDIR)/VBoxAPI.d
testconverter:: $(VBOX_USER_HOME)/VirtualBox.xml
$(call MSG_TOOL,xsltproc,Test Settings Converter,$<,$(VBOX_USER_HOME)/VirtualBox.xml.test)
testconverter2:: $(VBOX_USER_HOME)/Machines/dos/dos.xml
$(QUIET)$(VBOX_XSLTPROC) -o $<.test xml/SettingsConverter.xsl $<