Makefile.kmk revision e932818c5490a1e8628b47a8dbf77f258ffed95b
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# $Id$
a78048ccbdb6256da15e6b0e7e95355e480c2301nd## @file
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# Sub-Makefile for the IPRT testcases.
a78048ccbdb6256da15e6b0e7e95355e480c2301nd#
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
a78048ccbdb6256da15e6b0e7e95355e480c2301nd#
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# Copyright (C) 2006-2010 Oracle Corporation
a78048ccbdb6256da15e6b0e7e95355e480c2301nd#
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# This file is part of VirtualBox Open Source Edition (OSE), as
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# available from http://www.virtualbox.org. This file is free software;
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# you can redistribute it and/or modify it under the terms of the GNU
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# General Public License (GPL) as published by the Free Software
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# Foundation, in version 2 as it comes in the "COPYING" file of the
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
27e52281f1522522b170cafc76b08b58aa70ccaand#
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# The contents of this file may alternatively be used under the terms
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# of the Common Development and Distribution License Version 1.0
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
27e52281f1522522b170cafc76b08b58aa70ccaand# VirtualBox OSE distribution, in which case the provisions of the
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# CDDL are applicable instead of those of the GPL.
a78048ccbdb6256da15e6b0e7e95355e480c2301nd#
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# You may elect to license modified versions of this file under the
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# terms and conditions of either the GPL or the CDDL or both.
a78048ccbdb6256da15e6b0e7e95355e480c2301nd#
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
a78048ccbdb6256da15e6b0e7e95355e480c2301ndSUB_DEPTH = ../../../..
a78048ccbdb6256da15e6b0e7e95355e480c2301ndinclude $(KBUILD_PATH)/subheader.kmk
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
a78048ccbdb6256da15e6b0e7e95355e480c2301ndifdef VBOX_WITH_TESTCASES
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
a78048ccbdb6256da15e6b0e7e95355e480c2301nd#
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# Globals
a78048ccbdb6256da15e6b0e7e95355e480c2301nd#
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# WARNING: Careful with this wrt to the other sub-makefiles this joins.
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak#
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakTEMPLATE = VBOXR3TSTEXE
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# Defined by the parent makefile as well (for errmsgdata.h).
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakIPRT_OUT_DIR ?= $(PATH_TARGET)/Runtime
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak#
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak# Target lists
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak#
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakPROGRAMS += \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTAssertCompile \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTAvl \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTBase64 \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTBitOperations \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTCidr \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTCritSect \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTCType \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTDigest \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstDir \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstDir-2 \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstDir-3 \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTDvm \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstEnv \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstErrUnique \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstFile \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTFileAio \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTFileAppend-1 \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTFileGetSize-1 \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstFileLock \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstFork \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTGetOpt \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTGetOptArgv \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstHandleTable \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTHeapOffset \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTHeapSimple \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTInlineAsm \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstIprtList \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstIprtMiniString \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstLdr \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstLdrLoad \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTList \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTLockValidator \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstLog \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstMemAutoPtr \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTMemEf \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTMemCache \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTMemPool \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstMove \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstMp-1 \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstOnce \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTPath \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTPipe \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTPoll \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTPrfIO \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTProcCreateEx \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstPrfRT \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRand \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTFsQueries \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTSemEventMulti \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstSemMutex \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstSemPingPong \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTSemRW \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTSemXRoads \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTSort \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTStrAlloc \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTStrCache \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTStrCatCopy \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTStrFormat \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstStrSimplePattern \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstStrToNum \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTStrVersion \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTSymlink \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTSystemQueryDmi \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTSystemQueryOsInfo \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTTcp-1 \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTTemp \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTDirCreateUniqueNumbered \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstTermCallbacks \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstThread-1 \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTThreadPoke \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTThreadExecutionTime \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstTime \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstTime-2 \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstTime-3 \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstTime-4 \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstTimer \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstTimerLR \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTTimeSpec \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstUtf8 \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTUuid \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTCircBuf \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTManifest \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTUri \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstVector
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
a78048ccbdb6256da15e6b0e7e95355e480c2301ndPROGRAMS.win += \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTProcWait \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTCritSectW32 \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstFileAppendWin-1 \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd ntGetTimerResolution
a78048ccbdb6256da15e6b0e7e95355e480c2301ndPROGRAMS.linux += \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTProcWait \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTProcIsRunningByName \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTBitOperationsPIC3 \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTInlineAsmPIC \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTInlineAsmPIC3
a78048ccbdb6256da15e6b0e7e95355e480c2301ndPROGRAMS.solaris += \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTCoreDump
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakPROGRAMS.l4 += \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstIoCtl
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakPROGRAMS.darwin += \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstDarwinSched \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTDarwinMachKernel
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakifdef VBOX_WITH_LIBCURL
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak PROGRAMS += \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTS3
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakendif
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakif1of ($(KBUILD_TARGET_ARCH), amd64 x86)
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak PROGRAMS += \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstLdr-2 \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstLdr-3 \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstLdr-4 \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstNoCrt-1 \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTR0MemUserKernelDriver \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTR0SemMutexDriver \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTR0TimerDriver \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstR0ThreadPreemptionDriver \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstTSC
a78048ccbdb6256da15e6b0e7e95355e480c2301nd SYSMODS += \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstLdrObjR0 \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTR0MemUserKernel \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTR0SemMutex \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstRTR0Timer \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstR0ThreadPreemption
a78048ccbdb6256da15e6b0e7e95355e480c2301nd ifdef VBOX_WITH_RAW_MODE
a78048ccbdb6256da15e6b0e7e95355e480c2301nd SYSMODS += tstLdrObj
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak endif
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakendif
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakif1of ($(VBOX_LDR_FMT)), lx pe)
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak LIBRARIES += \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstLdr-4Imp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakendif
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak#
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak# Target configs in almost alphabetical order.
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak#
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstRTAssertCompile_TEMPLATE = VBOXR3TSTEXE
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstRTAssertCompile_INSTTYPE = none
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstRTAssertCompile_SOURCES = tstRTAssertCompile.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstRTAvl_TEMPLATE = VBOXR3TSTEXE
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstRTAvl_SOURCES = tstRTAvl.cpp
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstRTBase64_TEMPLATE = VBOXR3TSTEXE
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstRTBase64_SOURCES = tstRTBase64.cpp
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstRTBitOperations_TEMPLATE = VBOXR3TSTEXE
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstRTBitOperations_SOURCES = tstRTBitOperations.cpp
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
b95ae799514ad86a15610ad75808d7065e9847c9kesststRTBitOperationsPIC3_TEMPLATE = VBOXR3TSTEXE
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstRTBitOperationsPIC3_SOURCES = tstRTBitOperations.cpp
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstRTBitOperationsPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
tstRTBitOperationsPIC3_DEFS = PIC
tstRTCidr_TEMPLATE = VBOXR3TSTEXE
tstRTCidr_SOURCES = tstRTCidr.cpp
tstRTCritSect_TEMPLATE = VBOXR3TSTEXE
tstRTCritSect_SOURCES = tstRTCritSect.cpp
tstRTCritSectW32_TEMPLATE = VBOXR3TSTEXE
tstRTCritSectW32_SOURCES = tstRTCritSect.cpp
tstRTCritSectW32_DEFS = TRY_WIN32_CRIT
tstRTCType_TEMPLATE = VBOXR3TSTEXE
tstRTCType_SOURCES = tstRTCType.cpp
tstRTDigest_SOURCES = tstRTDigest.cpp
tstDir_SOURCES = tstDir.cpp
tstDir-2_SOURCES = tstDir-2.cpp
tstDir-3_SOURCES = tstDir-3.cpp
tstRTDvm_SOURCES = tstRTDvm.cpp
tstEnv_SOURCES = tstEnv.cpp
# Note: tstErrUnique.cpp depends on a header generated by the makefile above us.
tstErrUnique_SOURCES = tstErrUnique.cpp
tstErrUnique_INCS = $(IPRT_OUT_DIR)/
tstErrUnique.cpp_DEPS = $(IPRT_OUT_DIR)/errmsgdata.h
tstFile_SOURCES = tstFile.cpp
tstRTFileAio_SOURCES = VBOXR3TSTEXE
tstRTFileAio_SOURCES = tstRTFileAio.cpp
tstRTFileAppend-1_TEMPLATE = VBOXR3TSTEXE
tstRTFileAppend-1_SOURCES = tstRTFileAppend-1.cpp
tstRTFileGetSize-1_TEMPLATE = VBOXR3TSTEXE
tstRTFileGetSize-1_SOURCES = tstRTFileGetSize-1.cpp
tstFileAppendWin-1_SOURCES = tstFileAppendWin-1.cpp
tstFileLock_SOURCES = tstFileLock.cpp
tstFork_SOURCES = tstFork.cpp
tstRTGetOpt_TEMPLATE = VBOXR3TSTEXE
tstRTGetOpt_SOURCES = tstRTGetOpt.cpp
tstRTGetOptArgv_TEMPLATE = VBOXR3TSTEXE
tstRTGetOptArgv_SOURCES = tstRTGetOptArgv.cpp
tstHandleTable_SOURCES = tstHandleTable.cpp
tstRTHeapOffset_TEMPLATE = VBOXR3TSTEXE
tstRTHeapOffset_SOURCES = tstRTHeapOffset.cpp
tstRTHeapSimple_TEMPLATE = VBOXR3TSTEXE
tstRTHeapSimple_SOURCES = tstRTHeapSimple.cpp
tstIoCtl_SOURCES = tstIoCtl.cpp
tstRTInlineAsm_TEMPLATE = VBOXR3TSTEXE
tstRTInlineAsm_SOURCES = tstRTInlineAsm.cpp
tstRTInlineAsmPIC_TEMPLATE = VBOXR3TSTEXE
tstRTInlineAsmPIC_SOURCES = tstRTInlineAsm.cpp
tstRTInlineAsmPIC_CXXFLAGS = -fPIC
tstRTInlineAsmPIC_DEFS = PIC
tstRTInlineAsmPIC3_TEMPLATE = VBOXR3TSTEXE
tstRTInlineAsmPIC3_SOURCES = tstRTInlineAsm.cpp
tstRTInlineAsmPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
tstRTInlineAsmPIC3_DEFS = PIC
tstIprtList_TEMPLATE = VBOXR3TSTEXE
tstIprtList_SOURCES = tstIprtList.cpp
tstIprtMiniString_TEMPLATE = VBOXR3TSTEXE
tstIprtMiniString_SOURCES = tstIprtMiniString.cpp
tstLdr_SOURCES = tstLdr.cpp
tstLdr-2_SOURCES = tstLdr-2.cpp
tstLdr-2_DEFS = IN_DIS
tstLdr-2_LIBS = \
$(PATH_STAGE_LIB)/DisasmR3$(VBOX_SUFF_LIB)
ifdef VBOX_WITH_RAW_MODE
tstLdrObj_TEMPLATE = VBoxRc
tstLdrObj_INST = $(INST_TESTCASE)
tstLdrObj_SYSSUFF = .gc
tstLdrObj_SOURCES = tstLdrObj.cpp
tstLdrObj_DEFS = IN_DIS IN_RT_RC DIS_CORE_ONLY
ifeq ($(VBOX_LDR_FMT32),elf)
tstLdrObj_DEFS += VBOX_SOME_IMPORT_FUNCTION
endif
tstLdrObj_LIBS = \
$(PATH_STAGE_LIB)/DisasmRC$(VBOX_SUFF_LIB) \
$(PATH_STAGE_LIB)/RuntimeRC$(VBOX_SUFF_LIB)
ifeq ($(VBOX_LDR_FMT32),pe)
tstLdrObj_LIBS += \
$(PATH_STAGE_LIB)/VMMRCBuiltin$(VBOX_SUFF_LIB)
endif # PE
ifeq ($(VBOX_LDR_FMT32),elf)
tstLdrObj_LDFLAGS = -e Entrypoint
endif
ifeq ($(VBOX_LDR_FMT32),lx)
tstLdrObj_LIBS += \
$(PATH_STAGE_LIB)/VMMRCBuiltin$(VBOX_SUFF_LIB)
endif
endif # VBOX_WITH_RAW_MODE
tstLdr-3_SOURCES = tstLdr-3.cpp
tstLdr-3_DEFS = IN_DIS
tstLdr-3_LIBS = \
$(PATH_STAGE_LIB)/DisasmR3$(VBOX_SUFF_LIB)
tstLdr-4Imp_TEMPLATE = VBoxR0
ifeq ($(VBOX_LDR_FMT),lx)
tstLdr-4Imp_SOURCES = tstLdr-4Imp-os2.def
else ifeq ($(VBOX_LDR_FMT),pe)
tstLdr-4Imp_SOURCES.win = tstLdr-4Imp-win.def
endif
tstLdrObjR0_TEMPLATE = VBoxR0
tstLdrObjR0_INST = $(INST_TESTCASE)
tstLdrObjR0_SYSSUFF = .r0
tstLdrObjR0_SOURCES = tstLdrObjR0.cpp tstLdrDisasmTest.cpp
tstLdrObjR0_DEFS = IN_DIS IN_RT_R0 DIS_CORE_ONLY
ifeq ($(VBOX_LDR_FMT32),elf)
tstLdrObjR0_DEFS += VBOX_SOME_IMPORT_FUNCTION
endif
ifn1of ($(KBUILD_TARGET), win)
tstLdrObjR0_CXXFLAGS = $(VBOX_GCC_Wno-array_bounds)
endif
tstLdrObjR0_LIBS = \
$(PATH_STAGE_LIB)/DisasmR0$(VBOX_SUFF_LIB) \
$(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
ifeq ($(VBOX_LDR_FMT),pe)
tstLdrObjR0_LIBS += \
$(PATH_STAGE_LIB)/SUPR0$(VBOX_SUFF_LIB) \
$(TARGET_tstLdr-4Imp)
endif
ifeq ($(VBOX_LDR_FMT),elf)
tstLdrObjR0_LDFLAGS = -e Entrypoint
endif
ifeq ($(VBOX_LDR_FMT),lx)
tstLdrObjR0_LIBS += \
$(PATH_STAGE_LIB)/SUPR0$(VBOX_SUFF_LIB) \
$(TARGET_tstLdr-4Imp)
endif
tstLdr-4_SOURCES = tstLdr-4.cpp tstLdrDisasmTest.cpp
tstLdr-4_DEFS = IN_DIS
tstLdr-4_LIBS = \
$(PATH_STAGE_LIB)/DisasmR3$(VBOX_SUFF_LIB)
tstLdrLoad_SOURCES = tstLdrLoad.cpp
tstRTList_TEMPLATE = VBOXR3TSTEXE
tstRTList_SOURCES = tstRTList.cpp
tstRTLockValidator_TEMPLATE = VBOXR3TSTEXE
tstRTLockValidator_SOURCES = tstRTLockValidator.cpp
tstLog_SOURCES = tstLog.cpp
tstMemAutoPtr_SOURCES = tstMemAutoPtr.cpp
tstRTMemEf_TEMPLATE = VBOXR3TSTEXE
tstRTMemEf_SOURCES = tstRTMemEf.cpp
tstRTMemCache_TEMPLATE = VBOXR3TSTEXE
tstRTMemCache_SOURCES = tstRTMemCache.cpp
tstRTMemPool_TEMPLATE = VBOXR3TSTEXE
tstRTMemPool_SOURCES = tstRTMemPool.cpp
tstMove_SOURCES = tstMove.cpp
tstMp-1_SOURCES = tstMp-1.cpp
tstNoCrt-1_DEFS = RT_WITHOUT_NOCRT_WRAPPER_ALIASES
tstNoCrt-1_SOURCES = \
tstNoCrt-1.cpp \
../common/string/memcpy.asm \
../common/string/mempcpy.asm \
../common/string/memmove.asm \
../common/string/memset.asm \
../common/string/memchr.asm \
../common/string/memcmp.asm \
../common/string/strchr.asm \
../common/string/strcmp.asm \
../common/string/strcpy.asm \
../common/string/strlen.asm
tstOnce_SOURCES = tstOnce.cpp
tstRTPath_TEMPLATE = VBOXR3TSTEXE
tstRTPath_SOURCES = tstRTPath.cpp
tstRTPipe_TEMPLATE = VBOXR3TSTEXE
tstRTPipe_SOURCES = tstRTPipe.cpp
tstRTPoll_TEMPLATE = VBOXR3TSTEXE
tstRTPoll_SOURCES = tstRTPoll.cpp
tstPrfRT_SOURCES = tstPrfRT.cpp
tstRand_SOURCES = tstRand.cpp
tstRTFsQueries_SOURCES = tstRTFsQueries.cpp
tstRTPrfIO_TEMPLATE = VBOXR3TSTEXE
tstRTPrfIO_SOURCES = tstRTPrfIO.cpp
tstRTProcCreateEx_TEMPLATE = VBOXR3TSTEXE
tstRTProcCreateEx_SOURCES = tstRTProcCreateEx.cpp
tstRTProcWait_SOURCES = tstRTProcWait.cpp
tstRTProcIsRunningByName_SOURCES = tstRTProcIsRunningByName.cpp
tstRTS3_SOURCES = tstRTS3.cpp
tstSemMutex_SOURCES = tstSemMutex.cpp
tstRTSemEventMulti_TEMPLATE = VBOXR3TSTEXE
tstRTSemEventMulti_SOURCES = tstRTSemEventMulti.cpp
tstRTSemRW_TEMPLATE = VBOXR3TSTEXE
tstRTSemRW_SOURCES = tstRTSemRW.cpp
tstSemPingPong_SOURCES = tstSemPingPong.cpp
tstRTSemXRoads_TEMPLATE = VBOXR3TSTEXE
tstRTSemXRoads_SOURCES = tstRTSemXRoads.cpp
tstRTSort_TEMPLATE = VBOXR3TSTEXE
tstRTSort_SOURCES = tstRTSort.cpp
tstRTStrAlloc_TEMPLATE = VBOXR3TSTEXE
tstRTStrAlloc_SOURCES = tstRTStrAlloc.cpp
tstRTStrCache_TEMPLATE = VBOXR3TSTEXE
tstRTStrCache_SOURCES = tstRTStrCache.cpp
tstRTStrCatCopy_TEMPLATE = VBOXR3TSTEXE
tstRTStrCatCopy_SOURCES = tstRTStrCatCopy.cpp
tstRTStrFormat_TEMPLATE = VBOXR3TSTEXE
tstRTStrFormat_SOURCES = tstRTStrFormat.cpp
tstStrSimplePattern_SOURCES = tstStrSimplePattern.cpp
tstStrToNum_SOURCES = tstStrToNum.cpp
tstRTStrVersion_TEMPLATE = VBOXR3TSTEXE
tstRTStrVersion_SOURCES = tstRTStrVersion.cpp
tstRTSymlink_TEMPLATE = VBOXR3TSTEXE
tstRTSymlink_SOURCES = tstRTSymlink.cpp
tstRTSystemQueryDmi_TEMPLATE = VBOXR3TSTEXE
tstRTSystemQueryDmi_SOURCES = tstRTSystemQueryDmi.cpp
tstRTSystemQueryOsInfo_TEMPLATE = VBOXR3TSTEXE
tstRTSystemQueryOsInfo_SOURCES = tstRTSystemQueryOsInfo.cpp
tstRTTcp-1_TEMPLATE = VBOXR3TSTEXE
tstRTTcp-1_SOURCES = tstRTTcp-1.cpp
tstRTTemp_TEMPLATE = VBOXR3TSTEXE
tstRTTemp_SOURCES = tstRTTemp.cpp
tstRTDirCreateUniqueNumbered_TEMPLATE = VBOXR3TSTEXE
tstRTDirCreateUniqueNumbered_SOURCES = tstRTDirCreateUniqueNumbered.cpp
tstTermCallbacks_SOURCES = tstTermCallbacks.cpp
tstThread-1_SOURCES = tstThread-1.cpp
tstRTThreadPoke_TEMPLATE = VBOXR3TSTEXE
tstRTThreadPoke_SOURCES = tstRTThreadPoke.cpp
tstRTThreadExecutionTime_TEMPLATE = VBOXR3TSTEXE
tstRTThreadExecutionTime_SOURCES = tstRTThreadExecutionTime.cpp
tstTime_SOURCES = tstTime.cpp
tstTime-2_SOURCES = tstTime-2.cpp
tstTime-3_SOURCES = tstTime-3.cpp
tstTime-4_SOURCES = tstTime-4.cpp
tstTimer_SOURCES = tstTimer.cpp
tstTimerLR_SOURCES = tstTimerLR.cpp
tstRTTimeSpec_TEMPLATE = VBOXR3TSTEXE
tstRTTimeSpec_SOURCES = tstRTTimeSpec.cpp
tstTSC_SOURCES = tstTSC.cpp
tstTSC_CXXFLAGS.linux += -O3
tstRTUuid_TEMPLATE = VBOXR3TSTEXE
tstRTUuid_SOURCES = tstRTUuid.cpp
tstUtf8_SOURCES = tstUtf8.cpp
tstRTCircBuf_TEMPLATE = VBOXR3TSTEXE
tstRTCircBuf_SOURCES = tstRTCircBuf.cpp
tstRTManifest_TEMPLATE = VBOXR3TSTEXE
tstRTManifest_SOURCES = tstRTManifest.cpp
tstRTUri_TEMPLATE = VBOXR3TSTEXE
tstRTUri_SOURCES = tstRTUri.cpp
tstRTCoreDump_TEMPLACE = VBOXR3TSTEXE
tstRTCoreDump_SOURCES = tstRTCoreDump.cpp
tstVector_TEMPLATE = VBOXR3TSTEXE
tstVector_SOURCES = tstVector.cpp
#
# Ring-0 testcases.
#
## @todo create a template for compiling the ring-0 part.
tstRTR0MemUserKernel_TEMPLATE = VBoxR0
tstRTR0MemUserKernel_INST = $(INST_TESTCASE)
tstRTR0MemUserKernel_DEFS = IN_RT_R0
tstRTR0MemUserKernel_SYSSUFF = .r0
tstRTR0MemUserKernel_SOURCES = tstRTR0MemUserKernel.cpp
tstRTR0MemUserKernel_LIBS = $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
if1of ($(VBOX_LDR_FMT), pe lx)
tstRTR0MemUserKernel_LIBS += $(PATH_STAGE_LIB)/SUPR0$(VBOX_SUFF_LIB)
endif
tstRTR0MemUserKernelDriver_TEMPLATE = VBOXR3TSTEXE
tstRTR0MemUserKernelDriver_SOURCES = tstRTR0MemUserKernelDriver.cpp
tstRTR0SemMutex_TEMPLATE = VBoxR0
tstRTR0SemMutex_INST = $(INST_TESTCASE)
tstRTR0SemMutex_DEFS = IN_RT_R0
tstRTR0SemMutex_SYSSUFF = .r0
tstRTR0SemMutex_SOURCES = tstRTR0SemMutex.cpp
tstRTR0SemMutex_LIBS = $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
if1of ($(VBOX_LDR_FMT), pe lx)
tstRTR0SemMutex_LIBS += $(PATH_STAGE_LIB)/SUPR0$(VBOX_SUFF_LIB)
endif
tstRTR0SemMutexDriver_TEMPLATE = VBOXR3TSTEXE
tstRTR0SemMutexDriver_SOURCES = tstRTR0SemMutexDriver.cpp
tstRTR0Timer_TEMPLATE = VBoxR0
tstRTR0Timer_INST = $(INST_TESTCASE)
tstRTR0Timer_DEFS = IN_RT_R0
tstRTR0Timer_SYSSUFF = .r0
tstRTR0Timer_SOURCES = tstRTR0Timer.cpp
tstRTR0Timer_LIBS = $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
if1of ($(VBOX_LDR_FMT), pe lx)
tstRTR0Timer_LIBS += $(PATH_STAGE_LIB)/SUPR0$(VBOX_SUFF_LIB)
endif
tstRTR0TimerDriver_TEMPLATE = VBOXR3TSTEXE
tstRTR0TimerDriver_SOURCES = tstRTR0TimerDriver.cpp
tstR0ThreadPreemption_TEMPLATE = VBoxR0
tstR0ThreadPreemption_INST = $(INST_TESTCASE)
tstR0ThreadPreemption_DEFS = IN_RT_R0
tstR0ThreadPreemption_SYSSUFF = .r0
tstR0ThreadPreemption_SOURCES = tstR0ThreadPreemption.cpp
tstR0ThreadPreemption_LIBS = $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
if1of ($(VBOX_LDR_FMT), pe lx)
tstR0ThreadPreemption_LIBS += $(PATH_STAGE_LIB)/SUPR0$(VBOX_SUFF_LIB)
endif
tstR0ThreadPreemptionDriver_TEMPLATE = VBOXR3TSTEXE
tstR0ThreadPreemptionDriver_SOURCES = tstR0ThreadPreemptionDriver.cpp
#
# Odds and ends.
#
tstDarwinSched_SOURCES = tstDarwinSched.cpp
tstRTDarwinMachKernel_TEMPLATE = VBOXR3TSTEXE
tstRTDarwinMachKernel_INCS = ../include
tstRTDarwinMachKernel_SOURCES = \
tstRTDarwinMachKernel.cpp \
../r0drv/darwin/mach_kernel-r0drv-darwin.cpp
ntGetTimerResolution_SOURCES = ntGetTimerResolution.cpp
ntGetTimerResolution_SDKS.win = WINPSDK W2K3DDK VBOX_NTDLL
endif # VBOX_WITH_TESTCASES
include $(KBUILD_PATH)/subfooter.kmk