Makefile.kmk revision 835f466ddcea46e5e3e595d385f04451f0fe6ba7
6ae232055d4d8a97267517c5e50074c2c819941and# $Id$
6ae232055d4d8a97267517c5e50074c2c819941and## @file
6ae232055d4d8a97267517c5e50074c2c819941and# Sub-Makefile for the IPRT testcases.
6ae232055d4d8a97267517c5e50074c2c819941and#
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and#
6ae232055d4d8a97267517c5e50074c2c819941and# Copyright (C) 2006-2009 Sun Microsystems, Inc.
6ae232055d4d8a97267517c5e50074c2c819941and#
6ae232055d4d8a97267517c5e50074c2c819941and# This file is part of VirtualBox Open Source Edition (OSE), as
6ae232055d4d8a97267517c5e50074c2c819941and# available from http://www.virtualbox.org. This file is free software;
6ae232055d4d8a97267517c5e50074c2c819941and# you can redistribute it and/or modify it under the terms of the GNU
6ae232055d4d8a97267517c5e50074c2c819941and# General Public License (GPL) as published by the Free Software
6ae232055d4d8a97267517c5e50074c2c819941and# Foundation, in version 2 as it comes in the "COPYING" file of the
6ae232055d4d8a97267517c5e50074c2c819941and# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
6ae232055d4d8a97267517c5e50074c2c819941and# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
6ae232055d4d8a97267517c5e50074c2c819941and#
6ae232055d4d8a97267517c5e50074c2c819941and# The contents of this file may alternatively be used under the terms
6ae232055d4d8a97267517c5e50074c2c819941and# of the Common Development and Distribution License Version 1.0
6ae232055d4d8a97267517c5e50074c2c819941and# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
6ae232055d4d8a97267517c5e50074c2c819941and# VirtualBox OSE distribution, in which case the provisions of the
6ae232055d4d8a97267517c5e50074c2c819941and# CDDL are applicable instead of those of the GPL.
6ae232055d4d8a97267517c5e50074c2c819941and#
6ae232055d4d8a97267517c5e50074c2c819941and# You may elect to license modified versions of this file under the
6ae232055d4d8a97267517c5e50074c2c819941and# terms and conditions of either the GPL or the CDDL or both.
6ae232055d4d8a97267517c5e50074c2c819941and#
6ae232055d4d8a97267517c5e50074c2c819941and# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
6ae232055d4d8a97267517c5e50074c2c819941and# Clara, CA 95054 USA or visit http://www.sun.com if you need
6ae232055d4d8a97267517c5e50074c2c819941and# additional information or have any questions.
6ae232055d4d8a97267517c5e50074c2c819941and#
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andSUB_DEPTH = ../../../..
6ae232055d4d8a97267517c5e50074c2c819941andinclude $(KBUILD_PATH)/subheader.kmk
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andifdef VBOX_WITH_TESTCASES
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and#
6ae232055d4d8a97267517c5e50074c2c819941and# Globals
6ae232055d4d8a97267517c5e50074c2c819941and#
6ae232055d4d8a97267517c5e50074c2c819941and# WARNING: Careful with this wrt to the other sub-makefiles this joins.
6ae232055d4d8a97267517c5e50074c2c819941and#
6ae232055d4d8a97267517c5e50074c2c819941andTEMPLATE = VBOXR3TSTEXE
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and# Defined by the parent makefile as well (for errmsgdata.h).
6ae232055d4d8a97267517c5e50074c2c819941andIPRT_OUT_DIR ?= $(PATH_TARGET)/Runtime
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and#
6ae232055d4d8a97267517c5e50074c2c819941and# Target lists
6ae232055d4d8a97267517c5e50074c2c819941and#
6ae232055d4d8a97267517c5e50074c2c819941andPROGRAMS += \
6ae232055d4d8a97267517c5e50074c2c819941and tstRTAvl \
6ae232055d4d8a97267517c5e50074c2c819941and tstRTBase64 \
6ae232055d4d8a97267517c5e50074c2c819941and tstRTBitOperations \
6ae232055d4d8a97267517c5e50074c2c819941and tstRTCidr \
6ae232055d4d8a97267517c5e50074c2c819941and tstRTCritSect \
6ae232055d4d8a97267517c5e50074c2c819941and tstDeadlock \
6ae232055d4d8a97267517c5e50074c2c819941and tstDir \
6ae232055d4d8a97267517c5e50074c2c819941and tstDir-2 \
6ae232055d4d8a97267517c5e50074c2c819941and tstDir-3 \
6ae232055d4d8a97267517c5e50074c2c819941and tstEnv \
6ae232055d4d8a97267517c5e50074c2c819941and tstErrUnique \
6ae232055d4d8a97267517c5e50074c2c819941and tstFile \
6ae232055d4d8a97267517c5e50074c2c819941and tstFileLock \
6ae232055d4d8a97267517c5e50074c2c819941and tstFork \
6ae232055d4d8a97267517c5e50074c2c819941and tstGetOpt \
6ae232055d4d8a97267517c5e50074c2c819941and tstHandleTable \
6ae232055d4d8a97267517c5e50074c2c819941and tstHeapSimple \
6ae232055d4d8a97267517c5e50074c2c819941and tstInlineAsm \
6ae232055d4d8a97267517c5e50074c2c819941and tstLdr \
6ae232055d4d8a97267517c5e50074c2c819941and tstLdr-2 \
6ae232055d4d8a97267517c5e50074c2c819941and tstLdr-3 \
6ae232055d4d8a97267517c5e50074c2c819941and tstLdr-4 \
6ae232055d4d8a97267517c5e50074c2c819941and tstLdrLoad \
6ae232055d4d8a97267517c5e50074c2c819941and tstLog \
6ae232055d4d8a97267517c5e50074c2c819941and tstMemAutoPtr \
6ae232055d4d8a97267517c5e50074c2c819941and tstRTMemPool \
6ae232055d4d8a97267517c5e50074c2c819941and tstMove \
6ae232055d4d8a97267517c5e50074c2c819941and tstMp-1 \
6ae232055d4d8a97267517c5e50074c2c819941and tstNoCrt-1 \
6ae232055d4d8a97267517c5e50074c2c819941and tstOnce \
6ae232055d4d8a97267517c5e50074c2c819941and tstPath \
6ae232055d4d8a97267517c5e50074c2c819941and tstPrfRT \
6ae232055d4d8a97267517c5e50074c2c819941and tstRand \
6ae232055d4d8a97267517c5e50074c2c819941and tstRTFsQueries \
6ae232055d4d8a97267517c5e50074c2c819941and tstR0ThreadPreemptionDriver \
6ae232055d4d8a97267517c5e50074c2c819941and tstRTS3 \
6ae232055d4d8a97267517c5e50074c2c819941and tstSems \
6ae232055d4d8a97267517c5e50074c2c819941and tstSemPingPong \
6ae232055d4d8a97267517c5e50074c2c819941and tstRTStrCache \
6ae232055d4d8a97267517c5e50074c2c819941and tstStrFormat \
6ae232055d4d8a97267517c5e50074c2c819941and tstStrSimplePattern \
6ae232055d4d8a97267517c5e50074c2c819941and tstStrToNum \
6ae232055d4d8a97267517c5e50074c2c819941and tstSystemQueryOsInfo \
6ae232055d4d8a97267517c5e50074c2c819941and tstRTTemp \
6ae232055d4d8a97267517c5e50074c2c819941and tstTermCallbacks \
6ae232055d4d8a97267517c5e50074c2c819941and tstThread-1 \
6ae232055d4d8a97267517c5e50074c2c819941and tstTime \
6ae232055d4d8a97267517c5e50074c2c819941and tstTime-2 \
6ae232055d4d8a97267517c5e50074c2c819941and tstTime-3 \
6ae232055d4d8a97267517c5e50074c2c819941and tstTime-4 \
6ae232055d4d8a97267517c5e50074c2c819941and tstTimer \
6ae232055d4d8a97267517c5e50074c2c819941and tstTimerLR \
6ae232055d4d8a97267517c5e50074c2c819941and tstTimeSpec \
6ae232055d4d8a97267517c5e50074c2c819941and tstTSC \
6ae232055d4d8a97267517c5e50074c2c819941and tstUtf8 \
6ae232055d4d8a97267517c5e50074c2c819941and tstUuid
6ae232055d4d8a97267517c5e50074c2c819941and# tstSems
6ae232055d4d8a97267517c5e50074c2c819941andPROGRAMS.win += \
6ae232055d4d8a97267517c5e50074c2c819941and tstRTProcWait \
6ae232055d4d8a97267517c5e50074c2c819941and tstRTCritSectW32 \
6ae232055d4d8a97267517c5e50074c2c819941and tstFileAppendWin-1 \
6ae232055d4d8a97267517c5e50074c2c819941and ntGetTimerResolution
6ae232055d4d8a97267517c5e50074c2c819941andPROGRAMS.linux += \
6ae232055d4d8a97267517c5e50074c2c819941and tstRTProcWait \
6ae232055d4d8a97267517c5e50074c2c819941and tstRTProcIsRunningByName \
6ae232055d4d8a97267517c5e50074c2c819941and tstRTBitOperationsPIC3 \
6ae232055d4d8a97267517c5e50074c2c819941and tstInlineAsmPIC \
6ae232055d4d8a97267517c5e50074c2c819941and tstInlineAsmPIC3 \
6ae232055d4d8a97267517c5e50074c2c819941and tstSemMutex \
6ae232055d4d8a97267517c5e50074c2c819941and tstSemRW
6ae232055d4d8a97267517c5e50074c2c819941andPROGRAMS.l4 += \
6ae232055d4d8a97267517c5e50074c2c819941and tstIoCtl
6ae232055d4d8a97267517c5e50074c2c819941andPROGRAMS.darwin += \
6ae232055d4d8a97267517c5e50074c2c819941and tstDarwinSched
6ae232055d4d8a97267517c5e50074c2c819941andSYSMODS += \
6ae232055d4d8a97267517c5e50074c2c819941and tstLdrObj \
6ae232055d4d8a97267517c5e50074c2c819941and tstLdrObjR0 \
6ae232055d4d8a97267517c5e50074c2c819941and tstR0ThreadPreemption
6ae232055d4d8a97267517c5e50074c2c819941andif1of ($(VBOX_LDR_FMT)), lx pe)
6ae232055d4d8a97267517c5e50074c2c819941andLIBRARIES += \
6ae232055d4d8a97267517c5e50074c2c819941and tstLdr-4Imp
6ae232055d4d8a97267517c5e50074c2c819941andendif
6ae232055d4d8a97267517c5e50074c2c819941andifdef RT_ASYNC_IO_CODE
6ae232055d4d8a97267517c5e50074c2c819941andPROGRAMS += \
6ae232055d4d8a97267517c5e50074c2c819941and tstFileAio
6ae232055d4d8a97267517c5e50074c2c819941andendif
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and#
6ae232055d4d8a97267517c5e50074c2c819941and# Target configs in almost alphabetical order.
6ae232055d4d8a97267517c5e50074c2c819941and#
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstRTAvl_TEMPLATE = VBOXR3TSTEXE
6ae232055d4d8a97267517c5e50074c2c819941andtstRTAvl_SOURCES = tstRTAvl.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstRTBase64_TEMPLATE = VBOXR3TSTEXE
6ae232055d4d8a97267517c5e50074c2c819941andtstRTBase64_SOURCES = tstRTBase64.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstRTBitOperations_TEMPLATE = VBOXR3TSTEXE
6ae232055d4d8a97267517c5e50074c2c819941andtstRTBitOperations_SOURCES = tstRTBitOperations.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstRTBitOperationsPIC3_TEMPLATE = VBOXR3TSTEXE
6ae232055d4d8a97267517c5e50074c2c819941andtstRTBitOperationsPIC3_SOURCES = tstRTBitOperations.cpp
6ae232055d4d8a97267517c5e50074c2c819941andtstRTBitOperationsPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
6ae232055d4d8a97267517c5e50074c2c819941andtstRTBitOperationsPIC3_DEFS = PIC
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstRTCidr_TEMPLATE = VBOXR3TSTEXE
6ae232055d4d8a97267517c5e50074c2c819941andtstRTCidr_SOURCES = tstRTCidr.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstRTCritSect_TEMPLATE = VBOXR3TSTEXE
6ae232055d4d8a97267517c5e50074c2c819941andtstRTCritSect_SOURCES = tstRTCritSect.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstRTCritSectW32_TEMPLATE = VBOXR3TSTEXE
6ae232055d4d8a97267517c5e50074c2c819941andtstRTCritSectW32_SOURCES = tstRTCritSect.cpp
6ae232055d4d8a97267517c5e50074c2c819941andtstRTCritSectW32_DEFS = TRY_WIN32_CRIT
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstDeadlock_SOURCES = tstDeadlock.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstDir_SOURCES = tstDir.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstDir-2_SOURCES = tstDir-2.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstDir-3_SOURCES = tstDir-3.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstEnv_SOURCES = tstEnv.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and# Note: tstErrUnique.cpp depends on a header generated by the makefile above us.
6ae232055d4d8a97267517c5e50074c2c819941andtstErrUnique_SOURCES = tstErrUnique.cpp
6ae232055d4d8a97267517c5e50074c2c819941andtstErrUnique_INCS = $(IPRT_OUT_DIR)/
6ae232055d4d8a97267517c5e50074c2c819941andtstErrUnique.cpp_DEPS = $(IPRT_OUT_DIR)/errmsgdata.h
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstFile_SOURCES = tstFile.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstFileAppendWin-1_SOURCES = tstFileAppendWin-1.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstFileAio_SOURCES = tstFileAio.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstFileLock_SOURCES = tstFileLock.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstFork_SOURCES = tstFork.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstGetOpt_SOURCES = tstGetOpt.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstHandleTable_SOURCES = tstHandleTable.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstHeapSimple_SOURCES = tstHeapSimple.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstIoCtl_SOURCES = tstIoCtl.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstInlineAsm_SOURCES = tstInlineAsm.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstInlineAsmPIC_SOURCES = tstInlineAsm.cpp
6ae232055d4d8a97267517c5e50074c2c819941andtstInlineAsmPIC_CXXFLAGS = -fPIC
6ae232055d4d8a97267517c5e50074c2c819941andtstInlineAsmPIC_DEFS = PIC
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstInlineAsmPIC3_SOURCES = tstInlineAsm.cpp
6ae232055d4d8a97267517c5e50074c2c819941andtstInlineAsmPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
6ae232055d4d8a97267517c5e50074c2c819941andtstInlineAsmPIC3_DEFS = PIC
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstLdr_SOURCES = tstLdr.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstLdr-2_SOURCES = tstLdr-2.cpp
6ae232055d4d8a97267517c5e50074c2c819941andtstLdr-2_DEFS = IN_DIS
6ae232055d4d8a97267517c5e50074c2c819941andtstLdr-2_LIBS = \
6ae232055d4d8a97267517c5e50074c2c819941and $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstLdrObj_TEMPLATE = VBOXGC
6ae232055d4d8a97267517c5e50074c2c819941andtstLdrObj_INST = $(INST_TESTCASE)
6ae232055d4d8a97267517c5e50074c2c819941andtstLdrObj_SYSSUFF = .gc
6ae232055d4d8a97267517c5e50074c2c819941andtstLdrObj_SOURCES = tstLdrObj.cpp
6ae232055d4d8a97267517c5e50074c2c819941andtstLdrObj_DEFS = IN_DIS IN_RT_GC IN_RT_RC DIS_CORE_ONLY
6ae232055d4d8a97267517c5e50074c2c819941andifeq ($(VBOX_LDR_FMT32),elf)
6ae232055d4d8a97267517c5e50074c2c819941andtstLdrObj_DEFS += VBOX_SOME_IMPORT_FUNCTION
6ae232055d4d8a97267517c5e50074c2c819941andendif
6ae232055d4d8a97267517c5e50074c2c819941andtstLdrObj_LIBS = \
6ae232055d4d8a97267517c5e50074c2c819941and $(PATH_LIB)/DisasmGC$(VBOX_SUFF_LIB) \
6ae232055d4d8a97267517c5e50074c2c819941and $(PATH_LIB)/RuntimeGC$(VBOX_SUFF_LIB)
6ae232055d4d8a97267517c5e50074c2c819941andifeq ($(VBOX_LDR_FMT32),pe)
6ae232055d4d8a97267517c5e50074c2c819941andtstLdrObj_LDFLAGS = -Entry:Entrypoint
6ae232055d4d8a97267517c5e50074c2c819941andtstLdrObj_LIBS += \
6ae232055d4d8a97267517c5e50074c2c819941and $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
6ae232055d4d8a97267517c5e50074c2c819941andendif # PE
6ae232055d4d8a97267517c5e50074c2c819941andifeq ($(VBOX_LDR_FMT32),elf)
6ae232055d4d8a97267517c5e50074c2c819941andtstLdrObj_LDFLAGS = -e Entrypoint
6ae232055d4d8a97267517c5e50074c2c819941andendif
6ae232055d4d8a97267517c5e50074c2c819941andifeq ($(VBOX_LDR_FMT32),lx)
6ae232055d4d8a97267517c5e50074c2c819941andtstLdrObj_LIBS += \
6ae232055d4d8a97267517c5e50074c2c819941and $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
6ae232055d4d8a97267517c5e50074c2c819941andendif
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstLdr-3_SOURCES = tstLdr-3.cpp
6ae232055d4d8a97267517c5e50074c2c819941andtstLdr-3_DEFS = IN_DIS
6ae232055d4d8a97267517c5e50074c2c819941andtstLdr-3_LIBS = \
6ae232055d4d8a97267517c5e50074c2c819941and $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstLdr-4Imp_TEMPLATE = VBOXR0
6ae232055d4d8a97267517c5e50074c2c819941andifeq ($(VBOX_LDR_FMT),lx)
6ae232055d4d8a97267517c5e50074c2c819941and tstLdr-4Imp_SOURCES = tstLdr-4Imp-os2.def
6ae232055d4d8a97267517c5e50074c2c819941andelse ifeq ($(VBOX_LDR_FMT),pe)
6ae232055d4d8a97267517c5e50074c2c819941and tstLdr-4Imp_SOURCES.win = tstLdr-4Imp-win.def
6ae232055d4d8a97267517c5e50074c2c819941andendif
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstLdrObjR0_TEMPLATE = VBOXR0
6ae232055d4d8a97267517c5e50074c2c819941andtstLdrObjR0_INST = $(INST_TESTCASE)
6ae232055d4d8a97267517c5e50074c2c819941andtstLdrObjR0_SYSSUFF = .r0
6ae232055d4d8a97267517c5e50074c2c819941andtstLdrObjR0_SOURCES = tstLdrObjR0.cpp tstLdrDisasmTest.cpp
6ae232055d4d8a97267517c5e50074c2c819941andtstLdrObjR0_DEFS = IN_DIS IN_RT_R0 DIS_CORE_ONLY
6ae232055d4d8a97267517c5e50074c2c819941andifeq ($(VBOX_LDR_FMT32),elf)
6ae232055d4d8a97267517c5e50074c2c819941and tstLdrObjR0_DEFS += VBOX_SOME_IMPORT_FUNCTION
6ae232055d4d8a97267517c5e50074c2c819941andendif
6ae232055d4d8a97267517c5e50074c2c819941andtstLdrObjR0_LIBS = \
6ae232055d4d8a97267517c5e50074c2c819941and $(PATH_LIB)/DisasmR0$(VBOX_SUFF_LIB) \
6ae232055d4d8a97267517c5e50074c2c819941and $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
6ae232055d4d8a97267517c5e50074c2c819941andifeq ($(VBOX_LDR_FMT),pe)
6ae232055d4d8a97267517c5e50074c2c819941and tstLdrObjR0_LDFLAGS = -Entry:Entrypoint
6ae232055d4d8a97267517c5e50074c2c819941and tstLdrObjR0_LIBS += \
6ae232055d4d8a97267517c5e50074c2c819941and $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB) \
6ae232055d4d8a97267517c5e50074c2c819941and $(TARGET_tstLdr-4Imp)
6ae232055d4d8a97267517c5e50074c2c819941andendif
6ae232055d4d8a97267517c5e50074c2c819941andifeq ($(VBOX_LDR_FMT),elf)
6ae232055d4d8a97267517c5e50074c2c819941and tstLdrObjR0_LDFLAGS = -e Entrypoint
6ae232055d4d8a97267517c5e50074c2c819941andendif
6ae232055d4d8a97267517c5e50074c2c819941andifeq ($(VBOX_LDR_FMT),lx)
6ae232055d4d8a97267517c5e50074c2c819941and tstLdrObjR0_LIBS += \
6ae232055d4d8a97267517c5e50074c2c819941and $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB) \
6ae232055d4d8a97267517c5e50074c2c819941and $(TARGET_tstLdr-4Imp)
6ae232055d4d8a97267517c5e50074c2c819941andendif
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstLdr-4_SOURCES = tstLdr-4.cpp tstLdrDisasmTest.cpp
6ae232055d4d8a97267517c5e50074c2c819941andtstLdr-4_DEFS = IN_DIS
6ae232055d4d8a97267517c5e50074c2c819941andtstLdr-4_LIBS = \
6ae232055d4d8a97267517c5e50074c2c819941and $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstLdrLoad_SOURCES = tstLdrLoad.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstLog_SOURCES = tstLog.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstMemAutoPtr_SOURCES = tstMemAutoPtr.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstRTMemPool_TEMPLATE = VBOXR3TSTEXE
6ae232055d4d8a97267517c5e50074c2c819941andtstRTMemPool_SOURCES = tstRTMemPool.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstMove_SOURCES = tstMove.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstMp-1_SOURCES = tstMp-1.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstNoCrt-1_DEFS = RT_WITHOUT_NOCRT_WRAPPER_ALIASES
6ae232055d4d8a97267517c5e50074c2c819941andtstNoCrt-1_SOURCES = \
6ae232055d4d8a97267517c5e50074c2c819941and tstNoCrt-1.cpp \
6ae232055d4d8a97267517c5e50074c2c819941and ../common/string/memcpy.asm \
6ae232055d4d8a97267517c5e50074c2c819941and ../common/string/mempcpy.asm \
6ae232055d4d8a97267517c5e50074c2c819941and ../common/string/memmove.asm \
6ae232055d4d8a97267517c5e50074c2c819941and ../common/string/memset.asm \
6ae232055d4d8a97267517c5e50074c2c819941and ../common/string/memchr.asm \
6ae232055d4d8a97267517c5e50074c2c819941and ../common/string/memcmp.asm \
6ae232055d4d8a97267517c5e50074c2c819941and ../common/string/strchr.asm \
6ae232055d4d8a97267517c5e50074c2c819941and ../common/string/strcmp.asm \
6ae232055d4d8a97267517c5e50074c2c819941and ../common/string/strcpy.asm \
6ae232055d4d8a97267517c5e50074c2c819941and ../common/string/strlen.asm
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstOnce_SOURCES = tstOnce.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstPath_SOURCES = tstPath.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstPrfRT_SOURCES = tstPrfRT.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstRand_SOURCES = tstRand.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstR0ThreadPreemption_TEMPLATE = VBOXR0
6ae232055d4d8a97267517c5e50074c2c819941andtstR0ThreadPreemption_INST = $(INST_TESTCASE)
6ae232055d4d8a97267517c5e50074c2c819941andtstR0ThreadPreemption_DEFS = IN_RT_R0
6ae232055d4d8a97267517c5e50074c2c819941andtstR0ThreadPreemption_SYSSUFF = .r0
6ae232055d4d8a97267517c5e50074c2c819941andtstR0ThreadPreemption_SOURCES = tstR0ThreadPreemption.cpp
6ae232055d4d8a97267517c5e50074c2c819941andtstR0ThreadPreemption_LIBS = $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
6ae232055d4d8a97267517c5e50074c2c819941andif1of ($(VBOX_LDR_FMT), pe lx)
6ae232055d4d8a97267517c5e50074c2c819941and tstR0ThreadPreemption_LIBS += $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB)
6ae232055d4d8a97267517c5e50074c2c819941andendif
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstR0ThreadPreemptionDriver_SOURCES = tstR0ThreadPreemptionDriver.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstRTFsQueries_SOURCES = tstRTFsQueries.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstRTProcWait_SOURCES = tstRTProcWait.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstRTProcIsRunningByName_SOURCES = tstRTProcIsRunningByName.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstRTS3_SOURCES = tstRTS3.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstSemMutex_SOURCES = tstSemMutex.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstSemRW_SOURCES = tstSemRW.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstSemPingPong_SOURCES = tstSemPingPong.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstSems_SOURCES = tstSems.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstRTStrCache_TEMPLATE = VBOXR3TSTEXE
6ae232055d4d8a97267517c5e50074c2c819941andtstRTStrCache_SOURCES = tstRTStrCache.cpp
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtstStrFormat_SOURCES = tstStrFormat.cpp
tstStrSimplePattern_SOURCES = tstStrSimplePattern.cpp
tstStrToNum_SOURCES = tstStrToNum.cpp
tstSystemQueryOsInfo_SOURCES = tstSystemQueryOsInfo.cpp
tstRTTemp_TEMPLATE = VBOXR3TSTEXE
tstRTTemp_SOURCES = tstRTTemp.cpp
tstTermCallbacks_SOURCES = tstTermCallbacks.cpp
tstThread-1_SOURCES = tstThread-1.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
tstTimeSpec_SOURCES = tstTimeSpec.cpp
tstTSC_SOURCES = tstTSC.cpp
tstTSC_CXXFLAGS.linux += -O3
tstUuid_SOURCES = tstUuid.cpp
tstUtf8_SOURCES = tstUtf8.cpp
#
# odds and ends
#
tstDarwinSched_SOURCES = tstDarwinSched.cpp
ntGetTimerResolution_SOURCES = ntGetTimerResolution.cpp
ntGetTimerResolution_SDKS.win = WINPSDK W2K3DDK VBOX_NTDLL
endif # VBOX_WITH_TESTCASES
include $(KBUILD_PATH)/subfooter.kmk