# $Id: Makefile.kmk 99965 2023-05-25 08:28:24Z vboxsync $ ## @file # Sub-Makefile for VBoxTray. # # # Copyright (C) 2006-2023 Oracle and/or its affiliates. # # This file is part of VirtualBox base platform packages, as # available from https://www.virtualbox.org. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation, in version 3 of the # License. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # SPDX-License-Identifier: GPL-3.0-only # SUB_DEPTH = ../../../../.. include $(KBUILD_PATH)/subheader.kmk PROGRAMS += VBoxTray VBoxTray_TEMPLATE = VBoxGuestR3Exe if defined(VBOX_SIGNING_MODE) && defined(VBOX_SIGN_ADDITIONS) # (See the parent makefile.) VBoxTray_INSTTYPE := none VBoxTray_DEBUG_INSTTYPE := both endif VBoxTray_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST) ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING VBoxTray_DEFS := VBOX_WITH_HGCM VBOX_BUILD_TARGET="$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" else VBoxTray_DEFS := VBOX_WITH_HGCM VBOX_BUILD_TARGET=\"$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)\" endif VBoxTray_DEFS += LOG_ENABLED VBoxTray_LDFLAGS = -SubSystem:Windows VBoxTray_INCS = \ ../include \ $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/shared \ $(VBOX_GRAPHICS_INCS) VBoxTray_SOURCES = \ VBoxTray.cpp \ VBoxCaps.cpp \ VBoxConsole.cpp \ VBoxDesktopTracking.cpp \ VBoxDispIf.cpp \ VBoxSeamless.cpp \ VBoxSessionTracking.cpp \ VBoxDisplay.cpp \ VBoxVRDP.cpp \ VBoxIPC.cpp \ VBoxHelpers.cpp VBoxTray_USES.win = vboximportchecker VBoxTray_VBOX_IMPORT_CHECKER.win.x86 = nt4 #nt350 VBoxTray_VBOX_IMPORT_CHECKER.win.amd64 = xp64 ifdef VBOX_WITH_SHARED_CLIPBOARD VBoxTray_DEFS += \ $(if $(VBOX_WITH_SHARED_CLIPBOARD),VBOX_WITH_SHARED_CLIPBOARD,) \ $(if $(VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS),VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS,) VBoxTray_SOURCES += \ VBoxClipboard.cpp \ $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-win.cpp \ $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-common.cpp ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS VBoxTray_DEFS += VBOX_WITH_SHARED_CLIPBOARD_GUEST VBoxTray_SOURCES += \ $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/ClipboardDataObjectImpl-win.cpp \ $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/ClipboardEnumFormatEtcImpl-win.cpp \ $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/ClipboardPath.cpp \ $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/ClipboardStreamImpl-win.cpp \ $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-transfers.cpp \ $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-transfers-provider-local.cpp endif endif ifdef VBOX_WITH_DRAG_AND_DROP VBoxTray_DEFS += \ VBOX_WITH_DRAG_AND_DROP \ $(if $(VBOX_WITH_DRAG_AND_DROP_GH),VBOX_WITH_DRAG_AND_DROP_GH,) VBoxTray_SOURCES += \ VBoxDnD.cpp \ VBoxDnDDataObject.cpp \ VBoxDnDEnumFormat.cpp \ VBoxDnDDropSource.cpp \ VBoxDnDDropTarget.cpp VBoxTray_LIBS += \ $(PATH_STAGE_LIB)/additions/VBoxDnDGuestR3Lib$(VBOX_SUFF_LIB) endif ifdef VBOX_WITH_GUEST_PROPS VBoxTray_DEFS += _WIN32_IE=0x500 VBOX_WITH_GUEST_PROPS VBoxTray_SOURCES += \ VBoxHostVersion.cpp \ VBoxLA.cpp endif ifdef VBOX_WITH_WDDM VBoxTray_DEFS += VBOX_WITH_WDDM VBoxTray_SOURCES += $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/shared/VBoxDispKmt.cpp endif # VBoxTray.cpp uses VBOX_SVN_REV. VBoxTray.cpp_DEFS += VBOX_SVN_REV=$(VBOX_SVN_REV) VBoxTray.cpp_DEPS = $(VBOX_SVN_REV_KMK) # Version info / description + icon. $(call VBOX_SET_VER_INFO_EXE,VBoxTray,VirtualBox Guest Additions Tray Application,$(VBOX_WINDOWS_ADDITIONS_ICON_FILE)) include $(FILE_KBUILD_SUB_FOOTER)