Makefile.kmk revision 46fecc499044c1c2248f10d3b219b8d478df9d2e
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# Makefile for the VirtualBox Qt GUI.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# Copyright (C) 2006-2011 Oracle Corporation
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# available from http://www.virtualbox.org. This file is free software;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# you can redistribute it and/or modify it under the terms of the GNU
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# General Public License (GPL) as published by the Free Software
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncSUB_DEPTH = ../../../..
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVBOX_VIRTUALBOX4_SRC := $(PATH_SUB_CURRENT)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVBOX_VIRTUALBOX4_OUT_DIR := $(PATH_TARGET)/VirtualBox/misc
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# Show the update notifier dialog during startup. If this setting is disabled
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# the user can still update using the menu if desired.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncifndef VBOX_OSE
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVBOX_WITH_UPDATE_REQUEST := 1
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# The targets.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncifdef VBOX_WITH_HARDENING
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncPROGRAMS += VirtualBoxHardened
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncDLLS += VirtualBox
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncPROGRAMS += VirtualBox
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# Include the language lists.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncinclude $(PATH_SUB_CURRENT)/nls/ApprovedLanguages.kmk
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# Hardened VirtualBox.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBoxHardened_TEMPLATE = VBOXR3HARDENEDEXE
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBoxHardened_SOURCES = src/hardenedmain.cpp
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBoxHardened_NAME = VirtualBox
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBoxHardened_INST.darwin = $(INST_BIN)VirtualBox $(INST_BIN)VirtualBoxVM
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# Include Qt project file, we'll use FORMS and TRANSLATIONS in
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# the VirtualBox setup below.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncSAVED_TEMPLATE := $(TEMPLATE)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncinclude $(PATH_SUB_CURRENT)/VBoxUI.pro
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# VirtualBox - The GUI program.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_TEMPLATE := $(if $(VBOX_WITH_HARDENING),VBOXQT4GUI,VBOXQT4GUIEXE)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_NAME = VirtualBox
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncifndef VBOX_WITH_HARDENING # For the launch trick we need different inode numbers.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VirtualBox_INST.darwin = $(INST_BIN)VirtualBox $(INST_BIN)VirtualBoxVM
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncif1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd os2) # X11 + os2 ## @todo solaris
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VirtualBox_SDKS += LIBSDL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_DEFS =
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_DEFS.debug = VBOX_CHECK_STATE # QT_FATAL_ASSERT
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_DEFS.darwin = VBOX_GUI_USE_QUARTZ2D VBOX_GUI_USE_QIMAGE
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncifndef VBOX_WITH_COCOA_QT
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_DEFS.darwin.x86= USE_HID_FOR_MODIFIERS
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_DEFS.freebsd = VBOX_GUI_USE_QIMAGE VBOX_GUI_USE_SDL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_DEFS.linux = VBOX_GUI_USE_QIMAGE VBOX_GUI_USE_SDL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_DEFS.netbsd = VBOX_GUI_USE_QIMAGE VBOX_GUI_USE_SDL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_DEFS.openbsd = VBOX_GUI_USE_QIMAGE VBOX_GUI_USE_SDL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_DEFS.solaris = VBOX_GUI_USE_QIMAGE #VBOX_GUI_USE_SDL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_DEFS.win = VBOX_GUI_USE_QIMAGE UNICODE QT_DLL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncifdef VBOX_WITH_ICHAT_THEATER
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VirtualBox_DEFS.darwin += VBOX_WITH_ICHAT_THEATER
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncifneq ($(KBUILD_TYPE),release)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync # non-release builds has some extra features.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VirtualBox_DEFS.win += VBOX_GUI_USE_DDRAW
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_DEFS += \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(if $(VBOX_WITH_UPDATE_REQUEST),VBOX_WITH_UPDATE_REQUEST) \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(if $(VBOX_WITH_ALSA),VBOX_WITH_ALSA) \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(if $(VBOX_WITH_PULSE),VBOX_WITH_PULSE) \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(if $(VBOX_WITH_SOLARIS_OSS),VBOX_WITH_SOLARIS_OSS) \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(if $(VBOX_WITH_E1000),VBOX_WITH_E1000) \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(if $(VBOX_WITH_NETFLT)$(eq $(KBUILD_TARGET),freebsd),VBOX_WITH_NETFLT) \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(if $(VBOX_WITH_VDE),VBOX_WITH_VDE) \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(if $(VBOX_WITH_UDPTUNNEL),VBOX_WITH_UDPTUNNEL) \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(if $(VBOX_WITH_EXTPACK),VBOX_WITH_EXTPACK) \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(if $(VBOX_WITH_EHCI),VBOX_WITH_EHCI) \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(if $(VBOX_WITH_CRHGSMI),VBOX_WITH_CRHGSMI) \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(if $(VBOX_WITH_VIRTIO),VBOX_WITH_VIRTIO) \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(if $(VBOX_WITH_WDDM),VBOX_WITH_WDDM) \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(if $(VBOX_WITH_CROGL),VBOX_WITH_CROGL) \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(if $(VBOX_GUI_WITH_PIDFILE),VBOX_GUI_WITH_PIDFILE) \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(if $(VBOX_GUI_WITH_KEYS_RESET_HANDLER),VBOX_GUI_WITH_KEYS_RESET_HANDLER) \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(if $(VBOX_GUI_WITH_CUSTOMIZATIONS1),VBOX_GUI_WITH_CUSTOMIZATIONS1)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncifdef VBOX_WITH_DEBUGGER_GUI
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VirtualBox_DEFS += VBOX_WITH_DEBUGGER_GUI
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync if "$(KBUILD_TYPE)" != "release"
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VirtualBox_DEFS += VBOX_WITH_DEBUGGER_GUI_MENU
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncifdef VBOX_WITH_VIDEOHWACCEL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VirtualBox_DEFS += VBOX_WITH_VIDEOHWACCEL \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VBOX_GUI_USE_QGL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncelse ifdef VBOX_GUI_USE_QGL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VirtualBox_DEFS += VBOX_GUI_USE_QGL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncifdef VBOX_BLEEDING_EDGE
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_src/selector/UISelectorWindow.cpp_DEFS += \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VBOX_BLEEDING_EDGE=\"$(VBOX_BLEEDING_EDGE)\"
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_src/runtime/UIMachineWindow.cpp_DEFS += \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VBOX_BLEEDING_EDGE=\"$(VBOX_BLEEDING_EDGE)\"
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VBOX_BLEEDING_EDGE=\"$(VBOX_BLEEDING_EDGE)\"
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VBOX_BLEEDING_EDGE=\"$(VBOX_BLEEDING_EDGE)\"
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVBOX_GUI_INC_DIRS = \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_INCS = \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(VBOX_GUI_INC_DIRS) \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(VirtualBox_0_OUTDIR)/include
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# Necessary for the hdd backend enumeration
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_LIBS = $(LIB_DDU)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# This library is required for multi-monitor support
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncifneq ($(KBUILD_TARGET),win)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_CXXFLAGS += -Wno-switch
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncifdef VBOX_WITH_VIDEOHWACCEL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# Necessary for save state support
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_LIBS += $(LIB_VMM)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncifeq ($(KBUILD_TYPE),release)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VirtualBox_LDFLAGS.win += /SUBSYSTEM:windows
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VirtualBox_LDFLAGS.linux += -rdynamic # for backtrace_symbols()
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VirtualBox_LDFLAGS.win += /SUBSYSTEM:console
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# delay loading causes VM process crashes due to the misbehave of the current QtOpenGLVBox4.dll we use
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# (i.e. it does not create the ogl context properly when loaded this way)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# @todo: investigate a better work-around and enable back delay loading since it is needed to avoid
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# crashes caused by buggy ogl drivers for the case 2D is not used (i.e. no ogl stuff loaded)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#if defined(VBOX_WITH_VIDEOHWACCEL) || defined(VBOX_GUI_USE_QGL)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# VirtualBox_LDFLAGS.win += /DelayLoad:QtOpenGLVBox4.dll /DelayLoad:OPENGL32.dll
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync -framework AppKit -framework Carbon \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(if $(VBOX_WITH_HARDENING),-install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VirtualBox.dylib)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncifdef VBOX_WITH_ICHAT_THEATER
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VirtualBox_LDFLAGS.darwin += -framework InstantMessage -framework QuartzCore
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(PATH_SDK_WINPSDK_LIB)/Htmlhelp.Lib \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(PATH_SDK_DXSDK_LIB)/ddraw.lib \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync $(PATH_SDK_DXSDK_LIB)/dxguid.lib
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncif1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris) # X11
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VirtualBox_LIBS += $(PATH_STAGE_DLL)/VBoxKeyboard$(VBOX_SUFF_DLL)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncif defined(VBOX_WITH_VIDEOHWACCEL) || defined(VBOX_GUI_USE_QGL)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VirtualBox_LIBS.win += $(PATH_SDK_WINPSDK_LIB)/Opengl32.lib
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync VirtualBox_LDFLAGS.darwin += -framework OpenGL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# Headers containing definitions of classes that use the Q_OBJECT macro.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncVirtualBox_QT_MOCHDRS = \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync src/runtime/fullscreen/UIKeyboardHandlerFullscreen.h \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync src/runtime/fullscreen/UIMachineLogicFullscreen.h \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync src/runtime/fullscreen/UIMachineWindowFullscreen.h \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync src/settings/global/UIGlobalSettingsNetworkDetails.h \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync src/settings/machine/UIMachineSettingsPortForwardingDlg.h \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync src/settings/machine/UIMachineSettingsSFDetails.h \
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync src/settings/machine/UIMachineSettingsUSBFilterDetails.h \
VirtualBox_DEFS.darwin += VBOX_DARWIN_USE_NATIVE_CONTROLS
# (The include directory and lib/framework for each module will be added by the Qt4 unit.)
# 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 += $(VirtualBox_0_OUTDIR)/include/COMWrappers.h
$(VirtualBox_0_OUTDIR)/include/COMWrappers \
$(VirtualBox_0_OUTDIR)/include/COMWrappers.tmp \
$(VirtualBox_0_OUTDIR)/include/COMWrappers.h \
$(VirtualBox_0_OUTDIR)/include/COMWrappers.cpp
VirtualBox_SOURCES += $(VirtualBox_0_OUTDIR)/include/COMWrappers.cpp
$$(VirtualBox_0_OUTDIR)/include/COMWrappers \
+| $$(VirtualBox_0_OUTDIR)/include/COMWrappers.h \
+| $$(VirtualBox_0_OUTDIR)/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:: $$(VirtualBox_0_OUTDIR)/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/platform/win/VirtualBox.rc_INCS = $(VirtualBox_0_OUTDIR)
$$(VirtualBox_0_OUTDIR)/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 \
$(VBOX_BRAND_GUI_VBOX_64PX_PNG)=>Resources/virtualbox.png \
$(PATH_ROOT)/src/VBox/Resources/darwin/virtualbox-vbox-extpack.icns=>Resources/virtualbox-vbox-extpack.icns \
$$(VirtualBox.app_0_OUTDIR)/Info.plist: $(PATH_SUB_CURRENT)/src/platform/darwin/Info.plist $(VBOX_VERSION_MK) | $$(@D)/
$(call MSG_GENERATE,VirtualBox.app,$<,$@)
INSTALLS += VirtualBoxVM.app
VirtualBoxVM.app_MODE = 644
src/platform/darwin/VM-PkgInfo=>PkgInfo \
$$(VirtualBoxVM.app_0_OUTDIR)/VM-Info.plist: $(PATH_SUB_CURRENT)/src/platform/darwin/VM-Info.plist $(VBOX_VERSION_MK) | $$(@D)/
$(call MSG_GENERATE,VirtualBoxVM.app,$<,$@)
vmstarter_SOURCES = src/platform/darwin/vmstarter.mm
INSTALLS += vmstarter.app
vmstarter.app_MODE = 644
src/platform/darwin/vmstarter-PkgInfo=>PkgInfo \
$$(vmstarter.app_0_OUTDIR)/vmstarter-Info.plist: $(PATH_SUB_CURRENT)/src/platform/darwin/vmstarter-Info.plist $(VBOX_VERSION_MK) | $$(@D)/
$(call MSG_GENERATE,vmstarter.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
#VirtualBox_QT_TRANSLATIONS = nls/VirtualBox_de.ts
grep -i "src=[^:%]" $(filter-out nls/qt_%.ts,$(VirtualBox_QT_TRANSLATIONS))
updatenls:: makeallnls nls/VirtualBox_en.ts