Makefile.kmk revision fef92b40d3d5d9d9d6ef1c762cc52d65d50b3acf
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# $Id$
a78048ccbdb6256da15e6b0e7e95355e480c2301nd## @file
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# Makefile for the IPRT testcases.
a78048ccbdb6256da15e6b0e7e95355e480c2301nd#
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
a78048ccbdb6256da15e6b0e7e95355e480c2301nd#
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# Copyright (C) 2006-2007 innotek GmbH
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;
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen# you can redistribute it and/or modify it under the terms of the GNU
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen# General Public License as published by the Free Software Foundation,
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen# distribution. VirtualBox OSE is distributed in the hope that it will
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# be useful, but WITHOUT ANY WARRANTY of any kind.
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
a78048ccbdb6256da15e6b0e7e95355e480c2301ndDEPTH = ../../../..
d229f940abfb2490dee17979e9a5ff31b7012eb5rboweninclude $(PATH_KBUILD)/header.kmk
3f08db06526d6901aa08c110b5bc7dde6bc39905nd
a78048ccbdb6256da15e6b0e7e95355e480c2301ndifdef VBOX_WITH_TESTCASES
a78048ccbdb6256da15e6b0e7e95355e480c2301ndPROGRAMS = \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstCritSect \
3f08db06526d6901aa08c110b5bc7dde6bc39905nd tstPrfRT \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstLdr \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstLdr-2 \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstLdr-3 \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstLdr-4 \
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung tstLdrLoad \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstAvl \
4b575a6b6704b516f22d65a3ad35696d7b9ba372rpluem tstTSC \
4b575a6b6704b516f22d65a3ad35696d7b9ba372rpluem tstTimer \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstTime \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstTime-2 \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstTime-3 \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstTimeSpec \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstStrFormat \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstPath \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstLog \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstFile \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstFileLock \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstBitOperations \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstInlineAsm \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstStrToNum \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstDir \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstDir-2 \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTFsQueries \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstMove \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstUtf8 \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstDeadlock \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstUuid \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstErrUnique \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstHeapSimple
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakPROGRAMS.win = \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTProcWait \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstCritSectW32 \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak ntGetTimerResolution
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakPROGRAMS.linux = \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstRTProcWait \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstBitOperationsPIC3 \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstInlineAsmPIC \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstInlineAsmPIC3
a78048ccbdb6256da15e6b0e7e95355e480c2301ndPROGRAMS.l4 = \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstIoCtl
a78048ccbdb6256da15e6b0e7e95355e480c2301ndSYSMODS = \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstLdrObj \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstLdrObjR0
a78048ccbdb6256da15e6b0e7e95355e480c2301ndifeq ($(filter-out lx pe,$(VBOX_LDR_FMT)), )
a78048ccbdb6256da15e6b0e7e95355e480c2301ndLIBRARIES += \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstLdr-4Imp
a78048ccbdb6256da15e6b0e7e95355e480c2301ndendif
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
a78048ccbdb6256da15e6b0e7e95355e480c2301nd# tstSems
a78048ccbdb6256da15e6b0e7e95355e480c2301ndendif # VBOX_WITH_TESTCASES
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakTEMPLATE = VBOXR3TSTEXE
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstTimer_SOURCES = tstTimer.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstTSC_SOURCES = tstTSC.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstTime_SOURCES = tstTime.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstTime-2_SOURCES = tstTime-2.cpp
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstTime-3_SOURCES = tstTime-3.cpp
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstTimeSpec_SOURCES = tstTimeSpec.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstStrFormat_SOURCES = tstStrFormat.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstLog_SOURCES = tstLog.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstPath_SOURCES = tstPath.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstSems_SOURCES = tstSems.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstAvl_SOURCES = tstAvl.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstFile_SOURCES = tstFile.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstFileLock_SOURCES = tstFileLock.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstBitOperations_SOURCES = tstBitOperations.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstBitOperationsPIC3_SOURCES = tstBitOperations.cpp
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstBitOperationsPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstBitOperationsPIC3_DEFS = PIC
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstInlineAsm_SOURCES = tstInlineAsm.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstInlineAsmPIC_SOURCES = tstInlineAsm.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstInlineAsmPIC_CXXFLAGS = -fPIC
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstInlineAsmPIC_DEFS = PIC
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstInlineAsmPIC3_SOURCES = tstInlineAsm.cpp
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstInlineAsmPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstInlineAsmPIC3_DEFS = PIC
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstCritSect_SOURCES = tstCritSect.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstCritSectW32_SOURCES = tstCritSect.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstCritSectW32_DEFS = TRY_WIN32_CRIT
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstLdr_SOURCES = tstLdr.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdr-2_SOURCES = tstLdr-2.cpp
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdr-2_DEFS = IN_DIS_R3
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdr-2_LIBS = \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstLdrObj_TEMPLATE = VBOXGC
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdrObj_INST = $(INST_TESTCASE)
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdrObj_SYSSUFF = .gc
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdrObj_SOURCES = tstLdrObj.cpp
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdrObj_DEFS = IN_DIS_GC IN_RT_GC DIS_CORE_ONLY
a78048ccbdb6256da15e6b0e7e95355e480c2301ndifeq ($(VBOX_LDR_FMT32),elf)
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdrObj_DEFS += VBOX_SOME_IMPORT_FUNCTION
a78048ccbdb6256da15e6b0e7e95355e480c2301ndendif
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdrObj_LIBS = \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd $(PATH_LIB)/DisasmGC$(VBOX_SUFF_LIB) \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd $(PATH_LIB)/RuntimeGC$(VBOX_SUFF_LIB)
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakifeq ($(VBOX_LDR_FMT32),pe)
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdrObj_LDFLAGS = -Entry:Entrypoint
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdrObj_LIBS += \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
a78048ccbdb6256da15e6b0e7e95355e480c2301ndendif # PE
a78048ccbdb6256da15e6b0e7e95355e480c2301ndifeq ($(VBOX_LDR_FMT32),elf)
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstLdrObj_LDFLAGS = -e Entrypoint
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstLdrObj_LIBS += \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakendif
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakifeq ($(VBOX_LDR_FMT32),lx)
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstLdrObj_LIBS += \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakendif
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstLdr-3_SOURCES = tstLdr-3.cpp
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstLdr-3_DEFS = IN_DIS_R3
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstLdr-3_LIBS = \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdr-4Imp_TEMPLATE = VBOXR0
a78048ccbdb6256da15e6b0e7e95355e480c2301ndifeq ($(VBOX_LDR_FMT),lx)
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstLdr-4Imp_SOURCES = tstLdr-4Imp-os2.def
a78048ccbdb6256da15e6b0e7e95355e480c2301ndelse ifeq ($(VBOX_LDR_FMT),pe)
a78048ccbdb6256da15e6b0e7e95355e480c2301nd tstLdr-4Imp_SOURCES.win = tstLdr-4Imp-win.def
a78048ccbdb6256da15e6b0e7e95355e480c2301ndendif
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstLdrObjR0_TEMPLATE = VBOXR0
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdrObjR0_INST = $(INST_TESTCASE)
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdrObjR0_SYSSUFF = .r0
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdrObjR0_SOURCES = tstLdrObjR0.cpp tstLdrDisasmTest.cpp
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdrObjR0_DEFS = IN_DIS_R0 IN_RT_R0 DIS_CORE_ONLY
a78048ccbdb6256da15e6b0e7e95355e480c2301ndifeq ($(VBOX_LDR_FMT32),elf)
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstLdrObjR0_DEFS += VBOX_SOME_IMPORT_FUNCTION
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakendif
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniaktstLdrObjR0_LIBS = \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak $(PATH_LIB)/DisasmR0$(VBOX_SUFF_LIB) \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakifeq ($(VBOX_LDR_FMT),pe)
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstLdrObjR0_LDFLAGS = -Entry:Entrypoint
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstLdrObjR0_LIBS += \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB) \
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak $(TARGET_tstLdr-4Imp)
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakendif
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakifeq ($(VBOX_LDR_FMT),elf)
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstLdrObjR0_LDFLAGS = -e Entrypoint
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakendif
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniakifeq ($(VBOX_LDR_FMT),lx)
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak tstLdrObjR0_LIBS += \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB) \
a78048ccbdb6256da15e6b0e7e95355e480c2301nd $(TARGET_tstLdr-4Imp)
a78048ccbdb6256da15e6b0e7e95355e480c2301ndendif
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdr-4_SOURCES = tstLdr-4.cpp tstLdrDisasmTest.cpp
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdr-4_DEFS = IN_DIS_R3
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstLdr-4_LIBS = \
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
a78048ccbdb6256da15e6b0e7e95355e480c2301nd
5effc8b39fae5cd169d17f342bfc265705840014rbowentstLdrLoad_SOURCES = tstLdrLoad.cpp
d229f940abfb2490dee17979e9a5ff31b7012eb5rbowen
7fec19672a491661b2fe4b29f685bc7f4efa64d4ndtstPrfRT_SOURCES = tstPrfRT.cpp
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd
7fec19672a491661b2fe4b29f685bc7f4efa64d4ndtstRTProcWait_SOURCES = tstRTProcWait.cpp
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd
a78048ccbdb6256da15e6b0e7e95355e480c2301ndtstStrToNum_SOURCES = tstStrToNum.cpp
tstUtf8_SOURCES = tstUtf8.cpp
tstDir_SOURCES = tstDir.cpp
tstDir-2_SOURCES = tstDir-2.cpp
tstRTFsQueries_SOURCES = tstRTFsQueries.cpp
tstMove_SOURCES = tstMove.cpp
ntGetTimerResolution_SOURCES = ntGetTimerResolution.cpp
ntGetTimerResolution_SDKS.win = WINPSDK W2K3DDK VBOX_NTDLL
tstIoCtl_SOURCES = tstIoCtl.cpp
tstDeadlock_SOURCES = tstDeadlock.cpp
tstUuid_SOURCES = tstUuid.cpp
tstErrUnique_SOURCES = tstErrUnique.cpp
tstErrUnique_INCS = $(PATH_TARGET)/..
## tstErrUnique.cpp depends on a generated header.
tstErrUnique.cpp_DEPS = $(PATH_TARGET)/../errmsgdata.h
tstHeapSimple_SOURCES = tstHeapSimple.cpp
include $(PATH_KBUILD)/footer.kmk