Makefile.kmk revision 37c53e9b2c955f92dff6f11aff63809004945f17
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync# $Id$
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync## @file
5b281ba489ca18f0380d7efc7a5108b606cce449vboxsync# Sub-Makefile for the VBox API testcases.
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
e64031e20c39650a7bc902a3e1aba613b9415deevboxsync# Copyright (C) 2006-2007 Oracle Corporation
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync# available from http://www.virtualbox.org. This file is free software;
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync# you can redistribute it and/or modify it under the terms of the GNU
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# General Public License (GPL) as published by the Free Software
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync#
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncSUB_DEPTH = ../../../..
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncinclude $(KBUILD_PATH)/subheader.kmk
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync#
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# Target and globals (small mess)
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync#
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncifndef VBOX_ONLY_SDK
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync if defined(VBOX_WITH_TESTCASES) || "$(USERNAME)" == "umoeller"
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync PROGRAMS += \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync tstAPI \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync $(if $(VBOX_OSE),,tstOVF) \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync $(if $(VBOX_WITH_XPCOM),tstVBoxAPILinux,tstVBoxAPIWin) \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync $(if $(VBOX_WITH_RESOURCE_USAGE_API),tstCollector,)
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync PROGRAMS.linux += \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync $(if $(VBOX_WITH_USB),tstHostHardwareLinux,) \
aa4bcf0a4b2db3ac352b56a291d49cb8d4b66d32vboxsync $(if $(VBOX_WITH_USB),tstUSBProxyLinux,)
aa4bcf0a4b2db3ac352b56a291d49cb8d4b66d32vboxsync endif # !VBOX_WITH_TESTCASES
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncendif # !VBOX_ONLY_SDK
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncif defined(VBOX_ONLY_SDK) || !defined(VBOX_WITH_XPCOM)
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync INSTALLS += samplesMSCOM
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncendif
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncif defined(VBOX_ONLY_SDK) || defined(VBOX_WITH_XPCOM)
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync INSTALLS += samplesXPCOM
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncendif
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync# The samples
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncsamplesMSCOM_MODE = a+r,u+w
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncsamplesMSCOM_INST = $(INST_SDK)bindings/mscom/samples/
192a1d418422c3b5905dd2577527c07a8ed8b61evboxsyncsamplesMSCOM_SOURCES = tstVBoxAPIWin.cpp
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncsamplesXPCOM_MODE = a+r,u+w
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncsamplesXPCOM_INST = $(INST_SDK)bindings/xpcom/samples/
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncsamplesXPCOM_SOURCES = tstVBoxAPILinux.cpp makefile.tstVBoxAPILinux=>Makefile
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync# tstAPI
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstAPI_TEMPLATE = VBOXMAINCLIENTEXE
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#tstAPI_INST = $(INST_SDK)bindings/gluecom/samples/
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstAPI_SOURCES = tstAPI.cpp
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncifeq ($(KBUILD_TARGET),win) ## @todo just add this to the template.
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstAPI_DEPS = $(VBOX_PATH_SDK)/bindings/mscom/include/VirtualBox.h
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncelse
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstAPI_DEPS = $(VBOX_PATH_SDK)/bindings/xpcom/include/VirtualBox_XPCOM.h
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncendif
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncifdef VBOX_WITH_RESOURCE_USAGE_API
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstAPI_DEFS += VBOX_WITH_RESOURCE_USAGE_API
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncendif
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync# tstOVF
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstOVF_TEMPLATE = VBOXMAINCLIENTEXE
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#tstOVF_INST = $(INST_SDK)bindings/gluecom/samples/
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstOVF_SOURCES = tstOVF.cpp
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncifeq ($(KBUILD_TARGET),win) ## @todo just add this to the template.
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstOVF_DEPS = $(VBOX_PATH_SDK)/bindings/mscom/include/VirtualBox.h
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncelse
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstOVF_DEPS = $(VBOX_PATH_SDK)/bindings/xpcom/include/VirtualBox_XPCOM.h
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncendif
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncifdef VBOX_WITH_RESOURCE_USAGE_API
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstOVF_DEFS += VBOX_WITH_RESOURCE_USAGE_API
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncendif
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncifndef VBOX_OSE
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync# OVF test data.
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncINSTALLS += ovf-testcases
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncovf-testcases_MODE = a+r,u+w
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncovf-testcases_INST = $(INST_BIN)ovf-testcases/
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncovf-testcases_SOURCES = \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync ovf-dummy.vmdk \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync ovf-joomla-0.9/joomla-1.1.4-ovf.ovf=>ovf-joomla-0.9/joomla-1.1.4-ovf.ovf \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync ovf-winhost-audio-nodisks/WinXP.ovf=>ovf-winhost-audio-nodisks/WinXP.ovf \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync ovf-winxp-vbox-sharedfolders/winxp.ovf=>ovf-winxp-vbox-sharedfolders/winxp.ovf
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncendif
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync# tstVBoxAPILinux
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync# We only build the testcase here to make sure it builds.
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync# It comes with a custom makefile which should be tested as well!
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstVBoxAPILinux_TEMPLATE = VBOXR3EXE
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstVBoxAPILinux_SOURCES = tstVBoxAPILinux.cpp
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstVBoxAPILinux_CXXFLAGS = -Wno-non-virtual-dtor -fshort-wchar
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstVBoxAPILinux_LDFLAGS.solaris += '$(VBOX_GCC_RPATH_OPT)$$(VBOX_ORIGIN)/../../..'
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncifdef VBOX_WITH_XPCOM_NAMESPACE_CLEANUP
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync tstVBoxAPILinux_DEFS += VBOX_WITH_XPCOM_NAMESPACE_CLEANUP
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncendif
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstVBoxAPILinux_INCS = \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync $(VBOX_XPCOM_INCS) \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync $(VBOX_PATH_SDK)/bindings/xpcom/include
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstVBoxAPILinux_LIBPATH = $(LIBPATH_XPCOM)
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstVBoxAPILinux_LIBS = $(LIB_XPCOM) $(LIB_RUNTIME)
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstVBoxAPILinux_DEPS = \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync $(VBOX_PATH_SDK)/bindings/xpcom/include/VirtualBox_XPCOM.h
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync# tstVBoxAPIWin
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstVBoxAPIWin_TEMPLATE = VBOXMAINCLIENTEXE
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstVBoxAPIWin_SOURCES = \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync tstVBoxAPIWin.cpp \
cf3aad827eee194a3e6e68796710074b44164371vboxsync $(VBOX_PATH_SDK)/bindings/mscom/lib/VirtualBox_i.c
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstVBoxAPIWin_DEPS = \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync $(VBOX_PATH_SDK)/bindings/mscom/include/VirtualBox.h
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync# tstCollector
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstCollector_TEMPLATE = VBOXMAINCLIENTEXE
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstCollector_SOURCES = \
c58c758d3642ac45d3f12356c406c631fcd8f538vboxsync tstCollector.cpp \
c58c758d3642ac45d3f12356c406c631fcd8f538vboxsync ../src-server/Performance.cpp
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstCollector_INCS = ../include
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstCollector_DEFS += VBOX_COLLECTOR_TEST_CASE
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstCollector_LDFLAGS.darwin += -lproc
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstCollector_LDFLAGS.solaris += -lkstat
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstCollector_LDFLAGS.win += psapi.lib powrprof.lib
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync# tstHostHardwareLinux
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstHostHardwareLinux_TEMPLATE = VBOXR3TSTNPEXE
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstHostHardwareLinux_SOURCES = \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync tstHostHardwareLinux.cpp \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync ../src-server/linux/HostHardwareLinux.cpp \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync ../src-server/linux/USBGetDevices.cpp
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstHostHardwareLinux_INCS = . ../include
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstHostHardwareLinux_DEFS = \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync VBOX_TEST_USB_LINUX \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync TESTCASE \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync $(if $(VBOX_WITH_LINUX_COMPILER_H),VBOX_WITH_LINUX_COMPILER_H,) \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync $(if $(VBOX_WITH_DBUS),$(if $(VBOX_USB_WITH_DBUS),VBOX_USB_WITH_DBUS,),) \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync $(if $(VBOX_USB_WITH_SYSFS),VBOX_USB_WITH_SYSFS,) \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync $(if $(VBOX_USB_WITH_INOTIFY),VBOX_USB_WITH_INOTIFY,)
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstHostHardwareLinux_LIBS += \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync $(PATH_OUT)/lib/USBLib.a
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync# tstUSBProxyLinux
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync#
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstUSBProxyLinux_TEMPLATE = VBOXR3TSTNPEXE
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstUSBProxyLinux_SOURCES = \
192a1d418422c3b5905dd2577527c07a8ed8b61evboxsync tstUSBProxyLinux.cpp \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync ../src-server/linux/USBProxyServiceLinux.cpp \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync ../src-server/linux/USBGetDevices.cpp
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstUSBProxyLinux_INCS = \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync . \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync ../include \
3ae788d4138a852743619b65c7404deb5cbae3e7vboxsync $(VBOX_PATH_SDK)/bindings/xpcom/include \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync $(VBOX_PATH_SDK)/bindings/xpcom/include/nsprpub \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync $(VBOX_PATH_SDK)/bindings/xpcom/include/xpcom
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstUSBProxyLinux_DEFS = \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync UNIT_TEST \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync VBOX_WITH_USB \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync VBOX_USB_WITH_SYSFS \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync VBOX_WITH_XPCOM
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstUSBProxyLinux_DEPS = \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync $(VBOX_PATH_SDK)/bindings/xpcom/include/VirtualBox_XPCOM.h
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsynctstUSBProxyLinux_LIBS += \
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync $(PATH_OUT)/lib/USBLib.a
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync# generate rules.
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsyncinclude $(KBUILD_PATH)/subfooter.kmk
192a1d418422c3b5905dd2577527c07a8ed8b61evboxsync
809e0c4b84167932d92a1df4edcbab2edf0ddf25vboxsync