# $Id: Makefile.kmk 89684 2021-06-14 14:39:39Z vboxsync $ ## @file # VirtualBox Validation Kit - Audio Utilities. # # # Copyright (C) 2010-2021 Oracle Corporation # # This file is part of VirtualBox Open Source Edition (OSE), as # available from http://www.virtualbox.org. This file is free software; # you can redistribute it and/or modify it under the terms of the GNU # General Public License (GPL) as published by the Free Software # Foundation, in version 2 as it comes in the "COPYING" file of the # VirtualBox OSE distribution. VirtualBox OSE is distributed in the # hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. # # The contents of this file may alternatively be used under the terms # of the Common Development and Distribution License Version 1.0 # (CDDL) only, as it comes in the "COPYING.CDDL" file of the # VirtualBox OSE distribution, in which case the provisions of the # CDDL are applicable instead of those of the GPL. # # You may elect to license modified versions of this file under the # terms and conditions of either the GPL or the CDDL or both. # SUB_DEPTH = ../../../../.. include $(KBUILD_PATH)/subheader.kmk # # Make sure the ValKit config file is included when the additions build # is including just this makefile. # ifndef VBOX_VALIDATIONKIT_CONFIG_KMK_INCLUDED include $(PATH_ROOT)/src/VBox/ValidationKit/Config.kmk endif # # Append what we build here to PROGRAMS (at the top because it's a bit messy). # ifn1of ($(KBUILD_TARGET), os2 freebsd netbsd openbsd) if defined(VBOX_ONLY_VALIDATIONKIT) || !defined(VBOX_ONLY_BUILD) PROGRAMS += vkat endif ifdef VBOX_WITH_ADDITIONS_SHIPPING_AUDIO_TEST if defined(VBOX_ONLY_ADDITIONS) || !defined(VBOX_ONLY_BUILD) ifndef VBOX_WITH_ADDITIONS_FROM_BUILD_SERVER ifdef VBOX_WITH_ADDITIONS PROGRAMS += vkatadd endif endif endif endif endif # # Utility to play sine wave to Default Audio Device. # if 0 # Disabled for now; does not work without WinMM.dll import validator files. PROGRAMS.win += ntPlayToneWaveX ntPlayToneWaveX_TEMPLATE = VBoxValidationKitR3 ntPlayToneWaveX_SOURCES = ntPlayToneWaveX.cpp ntPlayToneWaveX_LIBS += \ WinMM.Lib endif # # The Validation Kit Audio Test (VKAT) utility. # VKAT_PATH_AUDIO = $(PATH_ROOT)/src/VBox/Devices/Audio vkat_TEMPLATE = VBoxValidationKitR3 vkat_VBOX_IMPORT_CHECKER.win.x86 = nt4 vkat_DEFS = VBOX_AUDIO_VKAT IN_VMM_R3 IN_VMM_STATIC vkat_INCS = \ $(PATH_ROOT)/src/VBox/Devices/build \ $(PATH_ROOT)/src/VBox/Devices vkat_SOURCES = \ vkat.cpp \ vkatCommon.cpp \ vkatCmdGeneric.cpp \ vkatDriverStack.cpp \ $(VKAT_PATH_AUDIO)/AudioTest.cpp \ $(VKAT_PATH_AUDIO)/DrvAudio.cpp \ $(VKAT_PATH_AUDIO)/DrvHostAudioNull.cpp \ $(VKAT_PATH_AUDIO)/AudioMixer.cpp \ $(VKAT_PATH_AUDIO)/AudioMixBuffer.cpp \ $(VKAT_PATH_AUDIO)/AudioHlp.cpp # Self-test stuff. vkat_DEFS += VBOX_WITH_AUDIO_VALIDATIONKIT vkat_SOURCES += \ vkatCmdSelfTest.cpp \ $(VKAT_PATH_AUDIO)/DrvHostAudioValidationKit.cpp \ $(VKAT_PATH_AUDIO)/AudioTestService.cpp \ $(VKAT_PATH_AUDIO)/AudioTestServiceClient.cpp \ $(VKAT_PATH_AUDIO)/AudioTestServiceProtocol.cpp \ $(VKAT_PATH_AUDIO)/AudioTestServiceTcp.cpp ifdef VBOX_WITH_AUDIO_PULSE vkat_DEFS += VBOX_WITH_AUDIO_PULSE vkat_SOURCES += \ $(VKAT_PATH_AUDIO)/DrvHostAudioPulseAudioStubs.cpp \ $(VKAT_PATH_AUDIO)/DrvHostAudioPulseAudio.cpp endif ifdef VBOX_WITH_AUDIO_ALSA vkat_DEFS += VBOX_WITH_AUDIO_ALSA vkat_SOURCES += \ $(VKAT_PATH_AUDIO)/DrvHostAudioAlsa.cpp \ $(VKAT_PATH_AUDIO)/DrvHostAudioAlsaStubs.cpp endif ifdef VBOX_WITH_AUDIO_OSS vkat_DEFS += VBOX_WITH_AUDIO_OSS vkat_SOURCES += \ $(VKAT_PATH_AUDIO)/DrvHostAudioOss.cpp endif vkat_SOURCES.win += \ $(VKAT_PATH_AUDIO)/DrvHostAudioDSound.cpp \ $(VKAT_PATH_AUDIO)/DrvHostAudioWasApi.cpp ifdef VBOX_WITH_AUDIO_MMNOTIFICATION_CLIENT vkat_DEFS.win += VBOX_WITH_AUDIO_MMNOTIFICATION_CLIENT vkat_SOURCES.win += \ $(VKAT_PATH_AUDIO)/DrvHostAudioDSoundMMNotifClient.cpp endif vkat_SOURCES.darwin = \ $(VKAT_PATH_AUDIO)/DrvHostAudioCoreAudio.cpp \ $(VKAT_PATH_AUDIO)/DrvHostAudioCoreAudioAuth.mm vkat_LDFLAGS.darwin = \ -framework CoreAudio \ -framework AudioUnit \ -framework AudioToolbox \ -framework Foundation ifn1of ($(VBOX_DEF_MACOSX_VERSION_MIN), 10.4 10.5 10.6) vkat_LDFLAGS.darwin += \ -framework AVFoundation endif # # The additions variant of the audio test utility. # # We name it VBoxAudioTest though, to not clutter up Guest Additions installations # (all VBox binaries have the VBox prefix). # vkatadd_EXTENDS = vkat vkatadd_EXTENDS_BY = appending vkatadd_NAME = VBoxAudioTest$(HOSTSUFF_EXE) vkatadd_TEMPLATE = VBoxGuestR3Exe vkatadd_SDKS = VBOX_ZLIB_STATIC vkatadd_LDFLAGS.darwin = -framework IOKit vkatadd_LIBS.solaris = m # # Copy the valkit vkat to bin so it can be shipped with the host installer too. # We name it VBoxAudioTest though, to not clutter up host installations. # ifdef VBOX_WITH_HOST_SHIPPING_AUDIO_TEST ifn1of ($(KBUILD_TARGET), os2 freebsd netbsd openbsd) ifndef VBOX_ONLY_ADDITIONS INSTALLS += vkathost vkathost_TEMPLATE = VBOXR3EXE vkathost_SOURCES = $(vkat_1_TARGET)=>VBoxAudioTest$(HOSTSUFF_EXE) endif endif endif include $(FILE_KBUILD_SUB_FOOTER)