Makefile.kmk revision d43bc899846d79d02f728a878b43e7b49887ce0e
af062818b47340eef15700d2f0211576ba3506eevboxsync# Makefile for the VirtualBox Qt GUI.
af062818b47340eef15700d2f0211576ba3506eevboxsync# Copyright (C) 2006-2010 Sun Microsystems, Inc.
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
af062818b47340eef15700d2f0211576ba3506eevboxsync# available from http://www.virtualbox.org. This file is free software;
af062818b47340eef15700d2f0211576ba3506eevboxsync# you can redistribute it and/or modify it under the terms of the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync# General Public License (GPL) as published by the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
af062818b47340eef15700d2f0211576ba3506eevboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
af062818b47340eef15700d2f0211576ba3506eevboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsync# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsync# Clara, CA 95054 USA or visit http://www.sun.com if you need
af062818b47340eef15700d2f0211576ba3506eevboxsync# additional information or have any questions.
af062818b47340eef15700d2f0211576ba3506eevboxsyncSUB_DEPTH = ../../../..
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
af062818b47340eef15700d2f0211576ba3506eevboxsyncVBOX_VIRTUALBOX4_SRC := $(PATH_SUB_CURRENT)
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsyncVBOX_VIRTUALBOX4_OUT_DIR := $(PATH_TARGET)/VirtualBox/misc
af062818b47340eef15700d2f0211576ba3506eevboxsyncVBOX_WITH_REGISTRATION := 1
af062818b47340eef15700d2f0211576ba3506eevboxsync# Ask the user to register at Sun. If this setting is disabled the user can
af062818b47340eef15700d2f0211576ba3506eevboxsync# still register using the menu if desired.
af062818b47340eef15700d2f0211576ba3506eevboxsyncVBOX_WITH_REGISTRATION_REQUEST := 1
af062818b47340eef15700d2f0211576ba3506eevboxsync# Show the update notifier dialog during startup. If this setting is disabled
af062818b47340eef15700d2f0211576ba3506eevboxsync# the user can still update using the menu if desired.
af062818b47340eef15700d2f0211576ba3506eevboxsyncVBOX_WITH_UPDATE_REQUEST := 1
af062818b47340eef15700d2f0211576ba3506eevboxsync# Build new VirtualBox FE/Qt4 GUI runtime core.
af062818b47340eef15700d2f0211576ba3506eevboxsync# Currently its not used, you can build it for developing purposes.
af062818b47340eef15700d2f0211576ba3506eevboxsync#VBOX_WITH_NEW_RUNTIME_CORE := 1
af062818b47340eef15700d2f0211576ba3506eevboxsync# Force the usage of the new runtime core for the single monitor case also.
af062818b47340eef15700d2f0211576ba3506eevboxsync#VBOX_FORCE_NEW_RUNTIME_CORE_ALWAYS := 1
af062818b47340eef15700d2f0211576ba3506eevboxsync# The targets.
af062818b47340eef15700d2f0211576ba3506eevboxsyncifdef VBOX_WITH_HARDENING
af062818b47340eef15700d2f0211576ba3506eevboxsyncPROGRAMS += VirtualBoxHardened
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsyncDLLS += VirtualBox
af062818b47340eef15700d2f0211576ba3506eevboxsyncPROGRAMS += VirtualBox
af062818b47340eef15700d2f0211576ba3506eevboxsyncifeq ($(filter-out freebsd linux openbsd netbsd solaris,$(KBUILD_TARGET)),) # X11
af062818b47340eef15700d2f0211576ba3506eevboxsync DLLS += VBoxKeyboard
040b4a09341f574825386333398110f4db3e1e51vboxsync ## @todo convert to install target.
af062818b47340eef15700d2f0211576ba3506eevboxsync OTHERS += $(PATH_BIN)/vboxkeyboard.tar.gz
af062818b47340eef15700d2f0211576ba3506eevboxsync CLEAN += $(PATH_BIN)/vboxkeyboard.tar.gz
af062818b47340eef15700d2f0211576ba3506eevboxsync# Include the language lists.
af062818b47340eef15700d2f0211576ba3506eevboxsyncinclude $(PATH_SUB_CURRENT)/nls/ApprovedLanguages.kmk
af062818b47340eef15700d2f0211576ba3506eevboxsync# VBoxKeyboard - keyboard library for X11.
af062818b47340eef15700d2f0211576ba3506eevboxsyncVBoxKeyboard_TEMPLATE = VBOXR3
af062818b47340eef15700d2f0211576ba3506eevboxsyncVBoxKeyboard_SOURCES = \
af062818b47340eef15700d2f0211576ba3506eevboxsyncVBoxKeyboard_LIBS = X11
af062818b47340eef15700d2f0211576ba3506eevboxsyncVBoxKeyboard_LIBPATH = $(VBOX_LIBPATH_X11)
af062818b47340eef15700d2f0211576ba3506eevboxsync# vboxkeyboard.tar.gz - the LGPLed keyboard library must always be
af062818b47340eef15700d2f0211576ba3506eevboxsync# redistributed with usable sources.
af062818b47340eef15700d2f0211576ba3506eevboxsync# This rule will link create a temporary symlink to src/X11/ and tar
af062818b47340eef15700d2f0211576ba3506eevboxsync# up the selected files into a tarball that is installed into the
040b4a09341f574825386333398110f4db3e1e51vboxsync# bin directory (probably belongs in /usr/shared/somewhere really,
040b4a09341f574825386333398110f4db3e1e51vboxsync# but wtf, it's not like we're even trying to be FHS compliant).
af062818b47340eef15700d2f0211576ba3506eevboxsync## @todo this should be tar'ed down into the output directory and installed using an install target.
af062818b47340eef15700d2f0211576ba3506eevboxsync$(PATH_BIN)/vboxkeyboard.tar.gz: $(abspathex \
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync $(VBoxKeyboard_SOURCES) \
af062818b47340eef15700d2f0211576ba3506eevboxsync ,$(PATH_SUB_CURRENT)) | $(PATH_TARGET)/VBoxKeyboard/
af062818b47340eef15700d2f0211576ba3506eevboxsync $(call MSG_TOOL,tar/gzip,,$@)
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET2)$(RM) -f $(PATH_TARGET)/VBoxKeyboard/vboxkeyboard $@
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(LN_SYMLINK) $(VBOX_VIRTUALBOX4_SRC)/src/X11/ $(PATH_TARGET)/VBoxKeyboard/vboxkeyboard
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsync $(QUIET)cd $(PATH_TARGET)/VBoxKeyboard \
af062818b47340eef15700d2f0211576ba3506eevboxsync && tar -chvf - $(addprefix vboxkeyboard/,$(notdir $^)) \
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync | gzip - > $@
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET2)$(RM) -f $(PATH_TARGET)/VBoxKeyboard/vboxkeyboard
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsyncOTHER_CLEAN += \
af062818b47340eef15700d2f0211576ba3506eevboxsync# Hardened VirtualBox.
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBoxHardened_TEMPLATE = VBOXR3HARDENEDEXE
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsyncVirtualBoxHardened_SOURCES = src/hardenedmain.cpp
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBoxHardened_NAME = VirtualBox
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBoxHardened_INST.darwin = $(INST_BIN)VirtualBox $(INST_BIN)VirtualBoxVM
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsync# Include Qt project file, we'll use FORMS and TRANSLATIONS in
af062818b47340eef15700d2f0211576ba3506eevboxsync# the VirtualBox setup below.
af062818b47340eef15700d2f0211576ba3506eevboxsyncSAVED_TEMPLATE := $(TEMPLATE)
af062818b47340eef15700d2f0211576ba3506eevboxsyncinclude $(PATH_SUB_CURRENT)/VBoxUI.pro
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsync# VirtualBox - The GUI program.
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_TEMPLATE := $(if $(VBOX_WITH_HARDENING),VBOXQT4GUI,VBOXQT4GUIEXE)
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_NAME = VirtualBox
af062818b47340eef15700d2f0211576ba3506eevboxsyncifndef VBOX_WITH_HARDENING # For the launch trick we need different inode numbers.
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_INST.darwin = $(INST_BIN)VirtualBox $(INST_BIN)VirtualBoxVM
af062818b47340eef15700d2f0211576ba3506eevboxsyncifeq ($(filter-out freebsd linux netbsd openbsd os2,$(KBUILD_TARGET)),) # X11 + os2 ## @todo solaris
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_SDKS += LIBSDL
af062818b47340eef15700d2f0211576ba3506eevboxsyncifdef VBOX_WITH_ICHAT_THEATER
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync # For testing iChat Theater stuff change the sdk path (HACK ALERT!)
af062818b47340eef15700d2f0211576ba3506eevboxsync VBOX_PATH_MACOSX_SDK = /Developer/SDKs/MacOSX10.5.sdk
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_DEFS = VBOX_GUI_SEPARATE_VM_PROCESS
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_DEFS.debug = VBOX_CHECK_STATE # QT_FATAL_ASSERT
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_DEFS.darwin = VBOX_GUI_USE_QUARTZ2D VBOX_GUI_USE_QIMAGE VBOX_WITHOUT_QHTTP
af062818b47340eef15700d2f0211576ba3506eevboxsyncifndef VBOX_WITH_COCOA_QT
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_DEFS.darwin.x86= USE_HID_FOR_MODIFIERS
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_DEFS.freebsd = VBOX_GUI_USE_QIMAGE VBOX_GUI_USE_SDL
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_DEFS.linux = VBOX_GUI_USE_QIMAGE VBOX_GUI_USE_SDL
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_DEFS.netbsd = VBOX_GUI_USE_QIMAGE VBOX_GUI_USE_SDL
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_DEFS.openbsd = VBOX_GUI_USE_QIMAGE VBOX_GUI_USE_SDL
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_DEFS.solaris = VBOX_GUI_USE_QIMAGE #VBOX_GUI_USE_SDL
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_DEFS.win = VBOX_GUI_USE_QIMAGE UNICODE QT_DLL
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_DEFS.win.amd64 = VBOX_WITHOUT_QHTTP
af062818b47340eef15700d2f0211576ba3506eevboxsyncifdef VBOX_WITH_ICHAT_THEATER
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsync VirtualBox_DEFS.darwin += VBOX_WITH_ICHAT_THEATER
af062818b47340eef15700d2f0211576ba3506eevboxsyncifdef VBOX_WITH_NEW_RUNTIME_CORE
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync VirtualBox_DEFS += VBOX_WITH_NEW_RUNTIME_CORE
af062818b47340eef15700d2f0211576ba3506eevboxsync ifdef VBOX_FORCE_NEW_RUNTIME_CORE_ALWAYS
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsync VirtualBox_DEFS += VBOX_FORCE_NEW_RUNTIME_CORE_ALWAYS
af062818b47340eef15700d2f0211576ba3506eevboxsyncifneq ($(KBUILD_TYPE),release)
af062818b47340eef15700d2f0211576ba3506eevboxsync # non-release builds has some extra features.
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_DEFS.win += VBOX_GUI_USE_DDRAW
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_DEFS += \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(if $(VBOX_WITH_REGISTRATION),VBOX_WITH_REGISTRATION) \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(if $(VBOX_WITH_REGISTRATION_REQUEST),VBOX_WITH_REGISTRATION_REQUEST) \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(if $(VBOX_WITH_UPDATE_REQUEST),VBOX_WITH_UPDATE_REQUEST) \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(if $(VBOX_WITH_ALSA),VBOX_WITH_ALSA) \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(if $(VBOX_WITH_PULSE),VBOX_WITH_PULSE) \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(if $(VBOX_WITH_SOLARIS_OSS),VBOX_WITH_SOLARIS_OSS) \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(if $(VBOX_WITH_E1000),VBOX_WITH_E1000) \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(if $(VBOX_WITH_NETFLT)$(eq $(KBUILD_TARGET),freebsd),VBOX_WITH_NETFLT)
af062818b47340eef15700d2f0211576ba3506eevboxsyncifdef VBOX_WITH_DEBUGGER_GUI
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_DEFS += VBOX_WITH_DEBUGGER_GUI
af062818b47340eef15700d2f0211576ba3506eevboxsync if "$(KBUILD_TYPE)" != "release"
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_DEFS += VBOX_WITH_DEBUGGER_GUI_MENU
af062818b47340eef15700d2f0211576ba3506eevboxsyncifdef VBOX_WITH_VIDEOHWACCEL
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_DEFS += VBOX_WITH_VIDEOHWACCEL \
af062818b47340eef15700d2f0211576ba3506eevboxsync VBOX_GUI_USE_QGL
af062818b47340eef15700d2f0211576ba3506eevboxsyncelse ifdef VBOX_GUI_USE_QGL
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_DEFS += VBOX_GUI_USE_QGL
af062818b47340eef15700d2f0211576ba3506eevboxsyncifdef VBOX_WITH_VIRTIO
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_DEFS += VBOX_WITH_VIRTIO
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsyncifdef VBOX_BLEEDING_EDGE
af062818b47340eef15700d2f0211576ba3506eevboxsync VBOX_BLEEDING_EDGE=\"$(VBOX_BLEEDING_EDGE)\"
af062818b47340eef15700d2f0211576ba3506eevboxsync VBOX_BLEEDING_EDGE=\"$(VBOX_BLEEDING_EDGE)\"
af062818b47340eef15700d2f0211576ba3506eevboxsync VBOX_BLEEDING_EDGE=\"$(VBOX_BLEEDING_EDGE)\"
af062818b47340eef15700d2f0211576ba3506eevboxsync VBOX_BLEEDING_EDGE=\"$(VBOX_BLEEDING_EDGE)\"
af062818b47340eef15700d2f0211576ba3506eevboxsyncVBOX_GUI_INC_DIRS = \
af062818b47340eef15700d2f0211576ba3506eevboxsyncifdef VBOX_WITH_NEW_RUNTIME_CORE
af062818b47340eef15700d2f0211576ba3506eevboxsyncVBOX_GUI_INC_DIRS += \
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_INCS = \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(VBOX_GUI_INC_DIRS) \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(PATH_VirtualBox)/include
af062818b47340eef15700d2f0211576ba3506eevboxsync# Necessary for the hdd backend enumeration
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_LIBS = $(LIB_DDU)
af062818b47340eef15700d2f0211576ba3506eevboxsync# This library is required for multi-monitor support
af062818b47340eef15700d2f0211576ba3506eevboxsyncifdef VBOX_WITH_VIDEOHWACCEL
af062818b47340eef15700d2f0211576ba3506eevboxsync# Necessary for save state support
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_LIBS += $(LIB_VMM)
af062818b47340eef15700d2f0211576ba3506eevboxsyncifeq ($(KBUILD_TYPE),release)
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_LDFLAGS.win += /SUBSYSTEM:windows
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_LDFLAGS.linux+= -rdynamic # for backtrace_symbols()
af062818b47340eef15700d2f0211576ba3506eevboxsync ifeq ($(USERNAME),dmik)
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_LDFLAGS.win += /SUBSYSTEM:windows
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_LDFLAGS.win += /SUBSYSTEM:console
af062818b47340eef15700d2f0211576ba3506eevboxsyncif defined(VBOX_WITH_VIDEOHWACCEL) || defined(VBOX_GUI_USE_QGL)
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_LDFLAGS.win += /DelayLoad:QtOpenGLVBox4.dll /DelayLoad:OPENGL32.dll
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync -framework IOKit -framework AppKit -framework ApplicationServices -framework Foundation -framework Carbon \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(if $(VBOX_WITH_HARDENING),-install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VirtualBox.dylib)
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_LDFLAGS.darwin.x86 = -framework QuickTime
af062818b47340eef15700d2f0211576ba3506eevboxsyncifdef VBOX_WITH_ICHAT_THEATER
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_LDFLAGS.darwin += -framework InstantMessage -framework QuartzCore
af062818b47340eef15700d2f0211576ba3506eevboxsyncif defined(VBOX_WITH_VIDEOHWACCEL) || defined(VBOX_GUI_USE_QGL)
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_LDFLAGS.darwin += -framework OpenGL
af062818b47340eef15700d2f0211576ba3506eevboxsync $(PATH_SDK_WINPSDK_LIB)/Htmlhelp.Lib \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(PATH_SDK_DXSDK_LIB)/ddraw.lib \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(PATH_SDK_DXSDK_LIB)/dxguid.lib
af062818b47340eef15700d2f0211576ba3506eevboxsyncifeq ($(filter-out freebsd linux netbsd openbsd solaris,$(KBUILD_TARGET)),) # X11
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_LIBS += $(PATH_DLL)/VBoxKeyboard$(VBOX_SUFF_DLL)
af062818b47340eef15700d2f0211576ba3506eevboxsyncif defined(VBOX_WITH_VIDEOHWACCEL) || defined(VBOX_GUI_USE_QGL)
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_LIBS.win += $(PATH_SDK_WINPSDK_LIB)/Opengl32.lib
af062818b47340eef15700d2f0211576ba3506eevboxsync# Headers containing definitions of classes that use the Q_OBJECT macro.
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_QT_MOCHDRS = \
af062818b47340eef15700d2f0211576ba3506eevboxsync src/settings/global/VBoxGLSettingsNetworkDetails.h \
af062818b47340eef15700d2f0211576ba3506eevboxsync src/wizards/exportappliance/UIExportApplianceWzd.h \
af062818b47340eef15700d2f0211576ba3506eevboxsync src/wizards/importappliance/UIImportApplianceWzd.h \
af062818b47340eef15700d2f0211576ba3506eevboxsyncifdef VBOX_WITH_NEW_RUNTIME_CORE
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_QT_MOCHDRS += \
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsync src/runtime/fullscreen/UIMachineLogicFullscreen.h \
af062818b47340eef15700d2f0211576ba3506eevboxsync src/runtime/fullscreen/UIMachineWindowFullscreen.h \
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsync# Sources containing local definitions of classes that use the Q_OBJECT macro.
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_QT_MOCSRCS = \
af062818b47340eef15700d2f0211576ba3506eevboxsyncifdef VBOX_WITH_NEW_RUNTIME_CORE
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_QT_MOCSRCS += \
af062818b47340eef15700d2f0211576ba3506eevboxsyncifdef VBOX_WITH_XPCOM
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_QT_MOCSRCS += \
af062818b47340eef15700d2f0211576ba3506eevboxsyncifeq ($(KBUILD_TARGET),win)
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_QT_MOCSRCS += \
af062818b47340eef15700d2f0211576ba3506eevboxsyncVirtualBox_SOURCES = \
af062818b47340eef15700d2f0211576ba3506eevboxsync src/settings/global/VBoxGLSettingsNetworkDetails.cpp \
af062818b47340eef15700d2f0211576ba3506eevboxsync src/settings/vm/VBoxVMSettingsUSBFilterDetails.cpp \
af062818b47340eef15700d2f0211576ba3506eevboxsync src/wizards/exportappliance/UIExportApplianceWzd.cpp \
af062818b47340eef15700d2f0211576ba3506eevboxsync src/wizards/importappliance/UIImportApplianceWzd.cpp \
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsyncifdef VBOX_WITH_NEW_RUNTIME_CORE
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsyncVirtualBox_SOURCES += \
af062818b47340eef15700d2f0211576ba3506eevboxsync src/runtime/fullscreen/UIMachineLogicFullscreen.cpp \
af062818b47340eef15700d2f0211576ba3506eevboxsync src/runtime/fullscreen/UIMachineWindowFullscreen.cpp \
af062818b47340eef15700d2f0211576ba3506eevboxsync src/runtime/fullscreen/UIMachineViewFullscreen.cpp \
af062818b47340eef15700d2f0211576ba3506eevboxsyncifeq ($(filter-out freebsd linux netbsd openbsd solaris,$(KBUILD_TARGET)),) # X11
af062818b47340eef15700d2f0211576ba3506eevboxsync ifndef VBOX_OSE
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_QT_MOCHDRS += \
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_SOURCES += \
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_VBOX_EXTRA_NLS_SOURCES += \
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_SOURCES += \
af062818b47340eef15700d2f0211576ba3506eevboxsync VirtualBox_VBOX_EXTRA_NLS_SOURCES += \
# (The include directory and lib/framework for each module will be added by the Qt4 unit.)
# Import QDesigner UI sources and translations from VBoxUI.pro.
FORMS := $(filter-out src/VBoxRegistrationDlg.ui,$(FORMS))
# Resource files with some OSE differences (VirtualBoxBrand.qrc is created further down).
VirtualBox_SOURCES += VirtualBox1.qrc
VirtualBox1.qrc_RCCFLAGS = -name BASIC1
VirtualBox_SOURCES += VirtualBox2.qrc
VirtualBox2.qrc_RCCFLAGS = -name BASIC2
VirtualBox_SOURCES += VirtualBoxMac.qrc
VirtualBoxMac.qrc_RCCFLAGS = -name MAC
VirtualBox_SOURCES += VirtualBoxOther.qrc
VirtualBoxOther.qrc_RCCFLAGS = -name OTHER
VirtualBox_SOURCES += $(VBOX_VIRTUALBOX4_OUT_DIR)/VirtualBoxBrand.qrc
$(VBOX_VIRTUALBOX4_OUT_DIR)/VirtualBoxBrand.qrc_RCCFLAGS = -name BRAND
VirtualBox_SOURCES += VirtualBoxShaders.qrc
VirtualBoxShaders.qrc_RCCFLAGS = -name SHADERS
# Import the translation source from VBoxUI.pro and add the qt_xx_YY counterparts
# bird: What about $(if $(VBOX_GCC_Wno-missing-base-class-initializer),$(VBOX_GCC_Wno-missing-base-class-initializer),$(VBOX_GCC_Wno-extra))?
VirtualBox_src/globals/COMDefs.cpp_CXXFLAGS = $(VBOX_GCC_Wno-extra)
VirtualBox_INTERMEDIATES += $(PATH_VirtualBox)/include/COMWrappers.h
$(PATH_VirtualBox)/include/COMWrappers \
$(PATH_VirtualBox)/include/COMWrappers.tmp \
$(PATH_VirtualBox)/include/COMWrappers.h \
$(PATH_VirtualBox)/include/COMWrappers.cpp
VirtualBox_SOURCES += $(PATH_VirtualBox)/include/COMWrappers.cpp
$$(PATH_VirtualBox)/include/COMWrappers \
+| $$(PATH_VirtualBox)/include/COMWrappers.h \
+| $$(PATH_VirtualBox)/include/COMWrappers.cpp: \
$(VBOX_VIRTUALBOX4_SRC)/src/globals/COMWrappers.xsl \
$(QUIET)$(VBOX_XSLTPROC) -o $@ $(VBOX_VIRTUALBOX4_SRC)/src/globals/COMWrappers.xsl $<
' * DO NOT EDIT! This is a generated file, see COMWrappers.h for details.' \
'#include "VBoxGlobal.h"' \
testwrappers:: $$(PATH_VirtualBox)/include/COMWrappers.h
VirtualBox_CLEAN += $(VBOX_VIRTUALBOX4_OUT_DIR)/VirtualBoxBrand.qrc
$(VBOX_VIRTUALBOX4_OUT_DIR)/VirtualBoxBrand.qrc: \
$(VBOX_VIRTUALBOX4_SRC)/VirtualBoxBrand.qrc \
VirtualBox_INTERMEDIATES += $(VirtualBox_0_OUTDIR)/include/precomp.h.gch
tstx: $$(VirtualBox_0_OUTDIR)/include/precomp.h.gch
$$(VirtualBox_0_OUTDIR)/include/precomp.h.gch: \
$(PATH_SUB_CURRENT)/src/precomp.h \
$$(VirtualBox_0_OUTDIR)/include/COMWrappers.h \
$$(filter %.gen.h, $$(VirtualBox_INTERMEDIATES) ) \
$(VBOX_PATH_SDK)/bindings/xpcom/include/VirtualBox_XPCOM.h \
$(if-expr "$(KBUILD_TYPE)" == "debug", '-DDEBUG' '-DDEBUG_bird' '-DDEBUG_USERNAME=bird' '-DVBOX_CHECK_STATE' ,) \
# On Windows we'll have to generate/edit part of the resource file.
src/win/VirtualBox.rc_INCS = $(PATH_VirtualBox)
$$(PATH_VirtualBox)/VirtualBox-icon.rc: $(MAKEFILE_CURRENT) $(VBOX_WINDOWS_ICON_FILE) | $$(dir $$@)
INSTALLS += VirtualBox.lproj
VirtualBox.lproj_MODE = 755
VirtualBox.lproj_DIRS := $(addsuffix .lproj,$(VBOX_APPROVED_GUI_LANGUAGES))
# The VirtualBoxVM.app helper is for launching VMs (fixes some issues with the dock).
INSTALLS += VirtualBox.app
VirtualBox.app_INST = $(INST_VIRTUALBOX)Contents/
VirtualBox.app_MODE = 644
$(VBOX_MACOSX_ICON_FILE)=>Resources/virtualbox.icns
$$(PATH_VirtualBox.app)/Info.plist: $(PATH_SUB_CURRENT)/src/darwin/Info.plist $(VBOX_VERSION_MK) | $$(@D)/
$(call MSG_GENERATE,VirtualBox.app,$<,$@)
INSTALLS += VirtualBoxVM.app
VirtualBoxVM.app_MODE = 644
src/darwin/VM-PkgInfo=>PkgInfo \
$$(PATH_VirtualBoxVM.app)/VM-Info.plist: $(PATH_SUB_CURRENT)/src/darwin/VM-Info.plist $(VBOX_VERSION_MK) | $$(@D)/
$(call MSG_GENERATE,VirtualBoxVM.app,$<,$@)
VBoxOGL2D_DEFS = IN_RING3 QT_NO_DEBUG QT_THREAD_SUPPORT QT_SHARED HAVE_CONFIG_H $(ARCH_BITS_DEFS) VBOX_WITH_VIDEOHWACCEL VBOX_GUI_USE_QGL
PROGRAMS.darwin += tstDarwinKeyboard
tstDarwinKeyboard_DEFS.x86 = USE_HID_FOR_MODIFIERS
# Unset everything that was loaded from VBoxUI.pro.
include $(KBUILD_PATH)/subfooter.kmk
# before a new product release. VirtualBox_xx_YY.ts is a template for new
updatenls:: makeallnls nls/VirtualBox_en.ts