VirtualBox

source: vbox/trunk/src/VBox/Runtime/testcase/Makefile.kmk@ 91886

Last change on this file since 91886 was 91768, checked in by vboxsync, 3 years ago

Config.kmk,++: Define VBOX_LIB_SUPR0 for SUPR0.lib/.a on platforms where it's needed and skip all the if'ing. bugref:10124

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 26.0 KB
Line 
1# $Id: Makefile.kmk 91768 2021-10-15 19:24:23Z vboxsync $
2## @file
3# Sub-Makefile for the IPRT testcases.
4#
5
6#
7# Copyright (C) 2006-2020 Oracle Corporation
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.virtualbox.org. This file is free software;
11# you can redistribute it and/or modify it under the terms of the GNU
12# General Public License (GPL) as published by the Free Software
13# Foundation, in version 2 as it comes in the "COPYING" file of the
14# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16#
17# The contents of this file may alternatively be used under the terms
18# of the Common Development and Distribution License Version 1.0
19# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
20# VirtualBox OSE distribution, in which case the provisions of the
21# CDDL are applicable instead of those of the GPL.
22#
23# You may elect to license modified versions of this file under the
24# terms and conditions of either the GPL or the CDDL or both.
25#
26
27SUB_DEPTH = ../../../..
28include $(KBUILD_PATH)/subheader.kmk
29
30ifdef VBOX_WITH_TESTCASES
31
32#
33# Globals
34#
35# WARNING: Careful with this wrt to the other sub-makefiles this joins.
36#
37TEMPLATE = VBOXR3TSTEXE
38
39# Defined by the parent makefile as well (for errmsgdata.h).
40IPRT_OUT_DIR ?= $(PATH_TARGET)/Runtime
41
42
43#
44# Target lists
45#
46PROGRAMS += \
47 tstRTAssertCompile \
48 tstRTAvl \
49 tstRTBase64 \
50 tstRTBitOperations \
51 tstRTBigNum \
52 tstRTCidr \
53 tstRTCritSect \
54 tstRTCritSectRw \
55 tstRTCrPkix-1 \
56 tstRTCrX509-1 \
57 tstRTCType \
58 tstRTDigest \
59 tstRTDigest-2 \
60 tstDir \
61 tstDir-2 \
62 tstDir-3 \
63 tstRTDvm \
64 tstRTEnv \
65 tstRTErr-1 \
66 tstFile \
67 tstRTFileAio \
68 tstRTFileAppend-1 \
69 tstRTFileQuerySize-1 \
70 tstRTFileModeStringToFlags \
71 tstFileLock \
72 tstRTFileOpenEx-1 \
73 tstFork \
74 tstRTFsQueries \
75 tstRTFilesystem \
76 tstRTGetOpt \
77 tstRTGetOptArgv \
78 tstHandleTable \
79 tstRTHeapOffset \
80 tstRTHeapSimple \
81 tstRTInlineAsm \
82 tstIprtList \
83 tstIprtMiniString \
84 tstLdr \
85 tstLdrLoad \
86 tstRTLocalIpc \
87 tstRTLdrVerifyPeImage \
88 tstRTList \
89 tstRTLockValidator \
90 tstLog \
91 tstRTMath \
92 tstRTMemEf \
93 tstRTMemCache \
94 tstRTMemPool \
95 tstRTMemWipe \
96 tstRTMemSafer \
97 tstMove \
98 tstRTMp-1 \
99 tstRTNetIPv4 \
100 tstRTNetIPv6 \
101 tstOnce \
102 tstRTPath \
103 tstRTPathGlob \
104 tstRTPathQueryInfo \
105 tstRTPipe \
106 tstRTPoll \
107 tstRTPrfIO \
108 tstRTProcCreateEx \
109 tstRTProcCreatePrf \
110 tstRTProcQueryUsername \
111 tstPrfRT \
112 tstRand \
113 tstRTReqPool \
114 tstRTSemEventMulti \
115 tstSemMutex \
116 tstSemPingPong \
117 tstRTSemRW \
118 tstRTSemXRoads \
119 tstRTSort \
120 tstRTStrAlloc \
121 tstRTStrCache \
122 tstRTStrCatCopy \
123 tstRTStrFormat \
124 tstRTStrSplit \
125 tstRTStrSimplePattern \
126 tstStrToNum \
127 tstRTStrVersion \
128 tstRTSymlink \
129 tstRTSystemQueryDmi \
130 tstRTSystemQueryFirmware \
131 tstRTSystemQueryOsInfo \
132 tstRTTcp-1 \
133 tstRTTemp \
134 tstRTDirCreateUniqueNumbered \
135 tstTermCallbacks \
136 tstThread-1 \
137 tstRTThreadPoke \
138 tstRTThreadExecutionTime \
139 tstRTTime \
140 tstTime-2 \
141 tstTime-3 \
142 tstTime-4 \
143 tstTimer \
144 tstRTTimerLR \
145 tstRTTimeSpec \
146 tstRTTls-1 \
147 tstRTTraceLog \
148 tstRTUdp-1 \
149 tstUtf8 \
150 tstRTUuid \
151 tstRTCircBuf \
152 tstRTManifest \
153 tstRTUri \
154 tstVector \
155 tstRTVfs \
156 tstRTZip \
157 tstRTJson \
158 tstRTShMem
159
160PROGRAMS.win += \
161 tstRTCritSectW32 \
162 tstRTProcWait \
163 tstFileAppendWin-1 \
164 tstRTNtPath-1 \
165 ntGetTimerResolution \
166 tstRTDarwinMachKernel
167
168PROGRAMS.linux += \
169 tstRTProcWait \
170 tstRTProcIsRunningByName \
171 tstRTBitOperationsPIC3 \
172 tstRTInlineAsmPIC \
173 tstRTInlineAsmPIC3
174PROGRAMS.solaris += \
175 tstRTCoreDump
176PROGRAMS.darwin += \
177 tstDarwinSched \
178 tstRTDarwinMachKernel
179ifdef VBOX_WITH_LIBCURL
180 PROGRAMS += \
181 tstRTHttp-1 \
182 tstRTCRest-1 \
183 tstRTS3
184endif
185if1of ($(KBUILD_TARGET_ARCH), amd64 x86)
186 PROGRAMS += \
187 tstLdr-2 \
188 tstLdr-3 \
189 tstLdr-4 \
190 tstNoCrt-1 \
191 tstTSC
192 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
193 PROGRAMS += \
194 tstRTR0MemUserKernelDriverHardened \
195 tstRTR0SemMutexDriverHardened \
196 tstRTR0TimerDriverHardened \
197 tstRTR0ThreadPreemptionDriverHardened \
198 tstRTR0ThreadDriverHardened
199 DLLS += \
200 tstRTR0MemUserKernelDriver \
201 tstRTR0SemMutexDriver \
202 tstRTR0TimerDriver \
203 tstRTR0ThreadPreemptionDriver \
204 tstRTR0ThreadDriver
205 else
206 PROGRAMS += \
207 tstRTR0MemUserKernelDriver \
208 tstRTR0SemMutexDriver \
209 tstRTR0TimerDriver \
210 tstRTR0ThreadPreemptionDriver \
211 tstRTR0ThreadDriver
212 endif
213 if1of ($(KBUILD_TARGET_ARCH), $(VBOX_SUPPORTED_HOST_ARCHS))
214 $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += \
215 tstLdrObjR0
216 ifdef VBOX_WITH_RAW_MODE
217 SYSMODS += tstLdrObj
218 endif
219 endif
220 $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += \
221 tstRTR0MemUserKernel \
222 tstRTR0SemMutex \
223 tstRTR0Timer \
224 tstRTR0ThreadPreemption \
225 tstRTR0Thread
226 if1of ($(KBUILD_TARGET), solaris darwin)
227 PROGRAMS += tstRTR0DbgKrnlInfoDriver
228 $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += tstRTR0DbgKrnlInfo
229 endif # VBOX_SUPPORTED_HOST_ARCHS only
230
231endif
232if1of ($(VBOX_LDR_FMT)), lx pe)
233 LIBRARIES += \
234 tstLdr-4Imp
235endif
236
237
238#
239# Target configs in almost alphabetical order.
240#
241
242tstRTAssertCompile_TEMPLATE = VBOXR3TSTEXE
243tstRTAssertCompile_INSTTYPE = none
244tstRTAssertCompile_SOURCES = tstRTAssertCompile.cpp
245
246tstRTAvl_TEMPLATE = VBOXR3TSTEXE
247tstRTAvl_SOURCES = tstRTAvl.cpp
248
249tstRTBase64_TEMPLATE = VBOXR3TSTEXE
250tstRTBase64_SOURCES = tstRTBase64.cpp
251
252tstRTBigNum_TEMPLATE = VBOXR3TSTEXE
253tstRTBigNum_SOURCES = tstRTBigNum.cpp
254tstRTBigNum_SDKS = VBOX_OPENSSL2
255
256tstRTBitOperations_TEMPLATE = VBOXR3TSTEXE
257tstRTBitOperations_SOURCES = tstRTBitOperations.cpp
258
259tstRTBitOperationsPIC3_TEMPLATE = VBOXR3TSTEXE
260tstRTBitOperationsPIC3_SOURCES = tstRTBitOperations.cpp
261tstRTBitOperationsPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
262tstRTBitOperationsPIC3_DEFS = PIC
263
264tstRTCidr_TEMPLATE = VBOXR3TSTEXE
265tstRTCidr_SOURCES = tstRTCidr.cpp
266
267tstRTCritSect_TEMPLATE = VBOXR3TSTEXE
268tstRTCritSect_SOURCES = tstRTCritSect.cpp
269
270tstRTCritSectRw_TEMPLATE = VBOXR3TSTEXE
271tstRTCritSectRw_SOURCES = tstRTCritSectRw.cpp
272
273tstRTCritSectW32_TEMPLATE = VBOXR3TSTEXE
274tstRTCritSectW32_SOURCES = tstRTCritSect.cpp
275tstRTCritSectW32_DEFS = TRY_WIN32_CRIT
276
277tstRTCrPkix-1_TEMPLATE = VBOXR3TSTEXE
278tstRTCrPkix-1_SOURCES = tstRTCrPkix-1.cpp
279
280tstRTCrX509-1_TEMPLATE = VBOXR3TSTEXE
281tstRTCrX509-1_SOURCES = tstRTCrX509-1.cpp
282tstRTCrX509-1_INCS = $(tstRTCrX509-1_0_OUTDIR)
283tstRTCrX509-1_CLEAN = $(tstRTCrX509-1_0_OUTDIR)/tstRTCrX509-1.h
284tstRTCrX509-1_INTERMEDIATES = $(tstRTCrX509-1_0_OUTDIR)/tstRTCrX509-1.h
285tstRTCrX509-1_VBOX_FILES := \
286 Pem_md4=$(PATH_SUB_CURRENT)/tstRTCrX509-md4.pem \
287 Pem_md5=$(PATH_SUB_CURRENT)/tstRTCrX509-md5.pem \
288 Pem_sha1=$(PATH_SUB_CURRENT)/tstRTCrX509-sha1.pem \
289 Pem_sha224=$(PATH_SUB_CURRENT)/tstRTCrX509-sha224.pem \
290 Pem_sha256=$(PATH_SUB_CURRENT)/tstRTCrX509-sha256.pem \
291 Pem_sha384=$(PATH_SUB_CURRENT)/tstRTCrX509-sha384.pem \
292 Pem_sha512=$(PATH_SUB_CURRENT)/tstRTCrX509-sha512.pem \
293 Pem_cert1=$(PATH_SUB_CURRENT)/tstRTCrX509-cert1.pem \
294 \
295 Der_md4=$(PATH_SUB_CURRENT)/tstRTCrX509-md4-cert.der \
296 Der_md5=$(PATH_SUB_CURRENT)/tstRTCrX509-md5-cert.der \
297 Der_sha1=$(PATH_SUB_CURRENT)/tstRTCrX509-sha1-cert.der \
298 Der_sha224=$(PATH_SUB_CURRENT)/tstRTCrX509-sha224-cert.der \
299 Der_sha256=$(PATH_SUB_CURRENT)/tstRTCrX509-sha256-cert.der \
300 Der_sha384=$(PATH_SUB_CURRENT)/tstRTCrX509-sha384-cert.der \
301 Der_sha512=$(PATH_SUB_CURRENT)/tstRTCrX509-sha512-cert.der \
302 Der_cert1=$(PATH_SUB_CURRENT)/tstRTCrX509-cert1.der \
303 $(NO_SUCH_VARIABLE)
304$$(tstRTCrX509-1_0_OUTDIR)/tstRTCrX509-1.h: \
305 $(foreach file,$(tstRTCrX509-1_VBOX_FILES),$(lastword $(subst =,$(SP) ,$(file)))) \
306 $(VBOX_BIN2C) \
307 | $$(dir $$@)
308 $(RM) -f -- "$@"
309 $(foreach file,$(tstRTCrX509-1_VBOX_FILES) \
310 , $(NLTAB)$(VBOX_BIN2C) -ascii --append \
311 "$(firstword $(subst =,$(SP) ,$(file)))" \
312 "$(lastword $(subst =,$(SP) ,$(file)))" \
313 "$@")
314
315
316tstRTCType_TEMPLATE = VBOXR3TSTEXE
317tstRTCType_SOURCES = tstRTCType.cpp
318
319ifdef VBOX_WITH_LIBCURL
320 tstRTCRest-1_TEMPLATE = VBOXR3TSTEXE
321 tstRTCRest-1_SOURCES = tstRTCRest-1.cpp
322endif
323
324tstRTDigest_TEMPLATE = VBOXR3TSTEXE
325tstRTDigest_SOURCES = tstRTDigest.cpp
326
327tstRTDigest-2_TEMPLATE = VBOXR3TSTEXE
328ifndef VBOX_WITH_ALT_HASH_CODE
329 tstRTDigest-2_DEFS = IPRT_WITHOUT_SHA512T224 IPRT_WITHOUT_SHA512T256
330endif
331tstRTDigest-2_SOURCES = tstRTDigest-2.cpp
332
333ifdef VBOX_WITH_LIBCURL
334tstRTHttp-1_TEMPLATE = VBOXR3TSTEXE
335tstRTHttp-1_SOURCES = tstRTHttp-1.cpp
336tstRTHttp-1_SDKS = VBOX_LIBCURL
337endif
338
339tstDir_TEMPLATE = VBOXR3TSTEXE
340tstDir_SOURCES = tstDir.cpp
341
342tstDir-2_TEMPLATE = VBOXR3TSTEXE
343tstDir-2_SOURCES = tstDir-2.cpp
344
345tstDir-3_TEMPLATE = VBOXR3TSTEXE
346tstDir-3_SOURCES = tstDir-3.cpp
347
348tstRTDvm_TEMPLATE = VBOXR3TSTEXE
349tstRTDvm_SOURCES = tstRTDvm.cpp
350
351tstRTEnv_TEMPLATE = VBOXR3TSTEXE
352tstRTEnv_SOURCES = tstRTEnv.cpp
353
354tstRTErr-1_TEMPLATE = VBOXR3TSTEXE
355tstRTErr-1_SOURCES = tstRTErr-1.cpp
356
357tstFile_TEMPLATE = VBOXR3TSTEXE
358tstFile_SOURCES = tstFile.cpp
359
360tstRTFileAio_SOURCES = VBOXR3TSTEXE
361tstRTFileAio_SOURCES = tstRTFileAio.cpp
362
363tstRTFileAppend-1_TEMPLATE = VBOXR3TSTEXE
364tstRTFileAppend-1_SOURCES = tstRTFileAppend-1.cpp
365
366tstRTFileQuerySize-1_TEMPLATE = VBOXR3TSTEXE
367tstRTFileQuerySize-1_SOURCES = tstRTFileQuerySize-1.cpp
368
369tstRTFileModeStringToFlags_TEMPLATE = VBOXR3TSTEXE
370tstRTFileModeStringToFlags_SOURCES = tstRTFileModeStringToFlags.cpp
371
372tstRTFileOpenEx-1_TEMPLATE = VBOXR3TSTEXE
373tstRTFileOpenEx-1_SOURCES = tstRTFileOpenEx-1.cpp
374
375tstFileAppendWin-1_TEMPLATE = VBOXR3TSTEXE
376tstFileAppendWin-1_SOURCES = tstFileAppendWin-1.cpp
377
378tstFileLock_TEMPLATE = VBOXR3TSTEXE
379tstFileLock_SOURCES = tstFileLock.cpp
380
381tstFork_TEMPLATE = VBOXR3TSTEXE
382tstFork_SOURCES = tstFork.cpp
383
384tstRTFsQueries_TEMPLATE = VBOXR3TSTEXE
385tstRTFsQueries_SOURCES = tstRTFsQueries.cpp
386
387tstRTFilesystem_TEMPLATE = VBOXR3TSTEXE
388tstRTFilesystem_SOURCES = tstRTFilesystem.cpp
389
390tstRTGetOpt_TEMPLATE = VBOXR3TSTEXE
391tstRTGetOpt_SOURCES = tstRTGetOpt.cpp
392
393tstRTGetOptArgv_TEMPLATE = VBOXR3TSTEXE
394tstRTGetOptArgv_SOURCES = tstRTGetOptArgv.cpp
395
396tstHandleTable_SOURCES = tstHandleTable.cpp
397
398tstRTHeapOffset_TEMPLATE = VBOXR3TSTEXE
399tstRTHeapOffset_SOURCES = tstRTHeapOffset.cpp
400
401tstRTHeapSimple_TEMPLATE = VBOXR3TSTEXE
402tstRTHeapSimple_SOURCES = tstRTHeapSimple.cpp
403
404tstRTInlineAsm_TEMPLATE = VBOXR3TSTEXE
405tstRTInlineAsm_SOURCES = tstRTInlineAsm.cpp
406
407tstRTInlineAsmPIC_TEMPLATE = VBOXR3TSTEXE
408tstRTInlineAsmPIC_SOURCES = tstRTInlineAsm.cpp
409tstRTInlineAsmPIC_CXXFLAGS = -fPIC
410tstRTInlineAsmPIC_DEFS = PIC
411
412tstRTInlineAsmPIC3_TEMPLATE = VBOXR3TSTEXE
413tstRTInlineAsmPIC3_SOURCES = tstRTInlineAsm.cpp
414tstRTInlineAsmPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
415tstRTInlineAsmPIC3_DEFS = PIC
416
417tstIprtList_TEMPLATE = VBOXR3TSTEXE
418tstIprtList_SOURCES = tstIprtList.cpp
419
420tstIprtMiniString_TEMPLATE = VBOXR3TSTEXE
421tstIprtMiniString_SOURCES = tstIprtMiniString.cpp
422
423tstLdr_TEMPLATE = VBOXR3TSTEXE
424tstLdr_SOURCES = tstLdr.cpp
425
426tstLdr-2_TEMPLATE = VBOXR3TSTEXE
427tstLdr-2_SOURCES = tstLdr-2.cpp
428tstLdr-2_DEFS = IN_DIS
429tstLdr-2_LIBS = \
430 $(PATH_STAGE_LIB)/DisasmR3$(VBOX_SUFF_LIB)
431
432ifdef VBOX_WITH_RAW_MODE
433 tstLdrObj_TEMPLATE = VBoxRc
434 tstLdrObj_INST = $(INST_TESTCASE)
435 tstLdrObj_SYSSUFF = .gc
436 tstLdrObj_SOURCES = tstLdrObj.cpp
437 tstLdrObj_DEFS = IN_DIS IN_RT_RC DIS_CORE_ONLY
438 ifeq ($(VBOX_LDR_FMT32),elf)
439 tstLdrObj_DEFS += VBOX_SOME_IMPORT_FUNCTION
440 endif
441 tstLdrObj_LIBS = \
442 $(PATH_STAGE_LIB)/DisasmRC$(VBOX_SUFF_LIB) \
443 $(PATH_STAGE_LIB)/RuntimeRC$(VBOX_SUFF_LIB)
444 if1of ($(VBOX_LDR_FMT32),lx pe)
445 tstLdrObj_LIBS += \
446 $(PATH_STAGE_LIB)/VMMRCBuiltin$(VBOX_SUFF_LIB) \
447 $(PATH_STAGE_LIB)/VMMRCImp$(VBOX_SUFF_LIB)
448 endif
449endif # VBOX_WITH_RAW_MODE
450
451tstLdr-3_TEMPLATE = VBOXR3TSTEXE
452tstLdr-3_SOURCES = tstLdr-3.cpp
453tstLdr-3_DEFS = IN_DIS
454tstLdr-3_LIBS = \
455 $(PATH_STAGE_LIB)/DisasmR3$(VBOX_SUFF_LIB)
456
457tstLdr-4Imp_TEMPLATE = VBoxR0
458ifeq ($(VBOX_LDR_FMT),lx)
459 tstLdr-4Imp_SOURCES = tstLdr-4Imp-os2.def
460else ifeq ($(VBOX_LDR_FMT),pe)
461 tstLdr-4Imp_SOURCES.win = tstLdr-4Imp-win.def
462endif
463
464tstLdrObjR0_TEMPLATE = VBoxR0
465tstLdrObjR0_INST = $(INST_TESTCASE)
466tstLdrObjR0_SYSSUFF = .r0
467tstLdrObjR0_SOURCES = tstLdrObjR0.cpp tstLdrDisasmTest.cpp
468tstLdrObjR0_DEFS = IN_DIS IN_RT_R0 DIS_CORE_ONLY
469ifeq ($(VBOX_LDR_FMT32),elf)
470 tstLdrObjR0_DEFS += VBOX_SOME_IMPORT_FUNCTION
471endif
472ifn1of ($(KBUILD_TARGET), win)
473 tstLdrObjR0_CXXFLAGS = $(VBOX_GCC_Wno-array_bounds)
474endif
475tstLdrObjR0_LIBS = \
476 $(PATH_STAGE_LIB)/DisasmR0$(VBOX_SUFF_LIB) \
477 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
478 $(VBOX_LIB_SUPR0)
479if1of ($(VBOX_LDR_FMT),pe lx)
480 tstLdrObjR0_LIBS += \
481 $(TARGET_tstLdr-4Imp)
482endif
483
484tstLdr-4_TEMPLATE = VBOXR3TSTEXE
485tstLdr-4_SOURCES = tstLdr-4.cpp tstLdrDisasmTest.cpp
486tstLdr-4_DEFS = IN_DIS
487tstLdr-4_LIBS = \
488 $(PATH_STAGE_LIB)/DisasmR3$(VBOX_SUFF_LIB)
489
490tstLdrLoad_TEMPLATE = VBOXR3TSTEXE
491tstLdrLoad_SOURCES = tstLdrLoad.cpp
492
493tstRTLdrVerifyPeImage_TEMPLATE = VBOXR3TSTEXE
494tstRTLdrVerifyPeImage_SOURCES = tstRTLdrVerifyPeImage.cpp
495
496tstRTList_TEMPLATE = VBOXR3TSTEXE
497tstRTList_SOURCES = tstRTList.cpp
498
499tstRTLocalIpc_TEMPLATE = VBOXR3TSTEXE
500tstRTLocalIpc_SOURCES = tstRTLocalIpc.cpp
501
502tstRTLockValidator_TEMPLATE = VBOXR3TSTEXE
503tstRTLockValidator_SOURCES = tstRTLockValidator.cpp
504
505tstLog_TEMPLATE = VBOXR3TSTEXE
506tstLog_SOURCES = tstLog.cpp
507tstLog_INCS = $(tstLog_0_OUTDIR)
508tstLog_INTERMEDIATES = $(tstLog_0_OUTDIR)/tstLogGroups.h
509tstLog_CLEAN = $(tstLog_0_OUTDIR)/tstLogGroups.h
510$$(tstLog_0_OUTDIR)/tstLogGroups.h: $(PATH_ROOT)/include/VBox/log.h
511 $(call MSG_GENERATE,,$@,$<)
512 $(QUIET)$(RM) -f -- "$@"
513 $(QUIET)$(SED) -n -e 's/^ *LOG_GROUP_\([A-Z0-9_]*\),.*$(DOLLAR)/{ LOG_GROUP_\1, "\1" },/p' --output "$@" "$<"
514
515tstRTMemEf_TEMPLATE = VBOXR3TSTEXE
516tstRTMemEf_SOURCES = tstRTMemEf.cpp
517
518tstRTMemCache_TEMPLATE = VBOXR3TSTEXE
519tstRTMemCache_SOURCES = tstRTMemCache.cpp
520
521tstRTMemPool_TEMPLATE = VBOXR3TSTEXE
522tstRTMemPool_SOURCES = tstRTMemPool.cpp
523
524tstRTMemWipe_TEMPLATE = VBOXR3TSTEXE
525tstRTMemWipe_SOURCES = tstRTMemWipe.cpp
526
527tstRTMemSafer_TEMPLATE = VBOXR3TSTEXE
528tstRTMemSafer_SOURCES = tstRTMemSafer.cpp
529
530tstMove_TEMPLATE = VBOXR3TSTEXE
531tstMove_SOURCES = tstMove.cpp
532
533tstRTMp-1_TEMPLATE = VBOXR3TSTEXE
534tstRTMp-1_SOURCES = tstRTMp-1.cpp
535
536tstRTNetIPv4_TEMPLATE = VBOXR3TSTEXE
537tstRTNetIPv4_SOURCES = tstRTNetIPv4.cpp
538
539tstRTNetIPv6_TEMPLATE = VBOXR3TSTEXE
540tstRTNetIPv6_SOURCES = tstRTNetIPv6.cpp
541
542tstNoCrt-1_TEMPLATE = VBOXR3TSTEXE
543tstNoCrt-1_DEFS = RT_WITHOUT_NOCRT_WRAPPER_ALIASES
544tstNoCrt-1_SOURCES = \
545 tstNoCrt-1.cpp \
546 ../common/string/memcpy.asm \
547 ../common/string/mempcpy.asm \
548 ../common/string/memmove.asm \
549 ../common/string/memset.asm \
550 ../common/string/memchr.asm \
551 ../common/string/memcmp.asm \
552 ../common/string/strchr.asm \
553 ../common/string/strcmp.asm \
554 ../common/string/strcpy.asm \
555 ../common/string/strlen.asm
556
557tstRTNtPath-1_TEMPLATE = VBOXR3TSTEXE
558tstRTNtPath-1_SOURCES = tstRTNtPath-1.cpp
559
560tstOnce_TEMPLATE = VBOXR3TSTEXE
561tstOnce_SOURCES = tstOnce.cpp
562
563tstRTPath_TEMPLATE = VBOXR3TSTEXE
564tstRTPath_SOURCES = tstRTPath.cpp
565
566tstRTPathFindCommon_TEMPLATE = VBOXR3TSTEXE
567tstRTPathFindCommon_SOURCES = tstRTPathFindCommon.cpp
568
569tstRTPathGlob_TEMPLATE = VBOXR3TSTEXE
570tstRTPathGlob_SOURCES = tstRTPathGlob.cpp
571
572tstRTPathQueryInfo_TEMPLATE = VBOXR3TSTEXE
573tstRTPathQueryInfo_SOURCES = tstRTPathQueryInfo.cpp
574
575tstRTPipe_TEMPLATE = VBOXR3TSTEXE
576tstRTPipe_SOURCES = tstRTPipe.cpp
577
578tstRTPoll_TEMPLATE = VBOXR3TSTEXE
579tstRTPoll_SOURCES = tstRTPoll.cpp
580
581tstPrfRT_TEMPLATE = VBOXR3TSTEXE
582tstPrfRT_SOURCES = tstPrfRT.cpp
583tstPrfRT_SOURCES.x86 = tstRTPrfA.asm
584tstPrfRT_SOURCES.amd64 = tstRTPrfA.asm
585
586tstRTPrfIO_TEMPLATE = VBOXR3TSTEXE
587tstRTPrfIO_SOURCES = tstRTPrfIO.cpp
588
589tstRTProcCreateEx_TEMPLATE = VBOXR3TSTEXE
590tstRTProcCreateEx_SOURCES = tstRTProcCreateEx.cpp
591
592tstRTProcCreatePrf_TEMPLATE = VBOXR3TSTEXE
593tstRTProcCreatePrf_SOURCES = tstRTProcCreatePrf.cpp
594
595tstRTProcQueryUsername_TEMPLATE = VBOXR3TSTEXE
596tstRTProcQueryUsername_SOURCES = tstRTProcQueryUsername.cpp
597
598tstRTProcWait_TEMPLATE = VBOXR3TSTEXE
599tstRTProcWait_SOURCES = tstRTProcWait.cpp
600
601tstRTProcIsRunningByName_TEMPLATE = VBOXR3TSTEXE
602tstRTProcIsRunningByName_SOURCES = tstRTProcIsRunningByName.cpp
603
604tstRand_TEMPLATE = VBOXR3TSTEXE
605tstRand_SOURCES = tstRand.cpp
606
607tstRTReqPool_TEMPLATE = VBOXR3TSTEXE
608tstRTReqPool_SOURCES = tstRTReqPool.cpp
609
610tstRTS3_TEMPLATE = VBOXR3TSTEXE
611tstRTS3_SOURCES = tstRTS3.cpp
612
613tstSemMutex_TEMPLATE = VBOXR3TSTEXE
614tstSemMutex_SOURCES = tstSemMutex.cpp
615
616tstRTSemEventMulti_TEMPLATE = VBOXR3TSTEXE
617tstRTSemEventMulti_SOURCES = tstRTSemEventMulti.cpp
618
619tstRTSemRW_TEMPLATE = VBOXR3TSTEXE
620tstRTSemRW_SOURCES = tstRTSemRW.cpp
621
622tstSemPingPong_TEMPLATE = VBOXR3TSTEXE
623tstSemPingPong_SOURCES = tstSemPingPong.cpp
624
625tstRTSemXRoads_TEMPLATE = VBOXR3TSTEXE
626tstRTSemXRoads_SOURCES = tstRTSemXRoads.cpp
627
628tstRTSort_TEMPLATE = VBOXR3TSTEXE
629tstRTSort_SOURCES = tstRTSort.cpp
630
631tstRTStrAlloc_TEMPLATE = VBOXR3TSTEXE
632tstRTStrAlloc_SOURCES = tstRTStrAlloc.cpp
633
634tstRTStrCache_TEMPLATE = VBOXR3TSTEXE
635tstRTStrCache_SOURCES = tstRTStrCache.cpp
636
637tstRTStrCatCopy_TEMPLATE = VBOXR3TSTEXE
638tstRTStrCatCopy_SOURCES = tstRTStrCatCopy.cpp
639
640tstRTStrFormat_TEMPLATE = VBOXR3TSTEXE
641tstRTStrFormat_SOURCES = tstRTStrFormat.cpp
642
643tstRTStrSplit_TEMPLATE = VBOXR3TSTEXE
644tstRTStrSplit_SOURCES = tstRTStrSplit.cpp
645
646tstRTStrSimplePattern_TEMPLATE = VBOXR3TSTEXE
647tstRTStrSimplePattern_SOURCES = tstRTStrSimplePattern.cpp
648
649tstStrToNum_TEMPLATE = VBOXR3TSTEXE
650tstStrToNum_SOURCES = tstStrToNum.cpp
651
652tstRTStrVersion_TEMPLATE = VBOXR3TSTEXE
653tstRTStrVersion_SOURCES = tstRTStrVersion.cpp
654
655tstRTSymlink_TEMPLATE = VBOXR3TSTEXE
656tstRTSymlink_SOURCES = tstRTSymlink.cpp
657
658tstRTSystemQueryDmi_TEMPLATE = VBOXR3TSTEXE
659tstRTSystemQueryDmi_SOURCES = tstRTSystemQueryDmi.cpp
660
661tstRTSystemQueryFirmware_TEMPLATE = VBOXR3TSTEXE
662tstRTSystemQueryFirmware_SOURCES = tstRTSystemQueryFirmware.cpp
663
664tstRTSystemQueryOsInfo_TEMPLATE = VBOXR3TSTEXE
665tstRTSystemQueryOsInfo_SOURCES = tstRTSystemQueryOsInfo.cpp
666
667tstRTTcp-1_TEMPLATE = VBOXR3TSTEXE
668tstRTTcp-1_SOURCES = tstRTTcp-1.cpp
669
670tstRTTemp_TEMPLATE = VBOXR3TSTEXE
671tstRTTemp_SOURCES = tstRTTemp.cpp
672
673tstRTDirCreateUniqueNumbered_TEMPLATE = VBOXR3TSTEXE
674tstRTDirCreateUniqueNumbered_SOURCES = tstRTDirCreateUniqueNumbered.cpp
675
676tstTermCallbacks_TEMPLATE = VBOXR3TSTEXE
677tstTermCallbacks_SOURCES = tstTermCallbacks.cpp
678
679tstThread-1_TEMPLATE = VBOXR3TSTEXE
680tstThread-1_SOURCES = tstThread-1.cpp
681
682tstRTThreadPoke_TEMPLATE = VBOXR3TSTEXE
683tstRTThreadPoke_SOURCES = tstRTThreadPoke.cpp
684
685tstRTThreadExecutionTime_TEMPLATE = VBOXR3TSTEXE
686tstRTThreadExecutionTime_SOURCES = tstRTThreadExecutionTime.cpp
687
688tstRTTime_TEMPLATE = VBOXR3TSTEXE
689tstRTTime_SOURCES = tstRTTime.cpp
690
691tstRTTls-1_TEMPLATE = VBOXR3TSTEXE
692tstRTTls-1_SOURCES = tstRTTls-1.cpp
693
694tstRTTraceLog_TEMPLATE = VBOXR3TSTEXE
695tstRTTraceLog_SOURCES = tstRTTraceLog.cpp
696
697tstTime-2_TEMPLATE = VBOXR3TSTEXE
698tstTime-2_SOURCES = tstTime-2.cpp
699
700tstTime-3_TEMPLATE = VBOXR3TSTEXE
701tstTime-3_SOURCES = tstTime-3.cpp
702
703tstTime-4_TEMPLATE = VBOXR3TSTEXE
704tstTime-4_SOURCES = tstTime-4.cpp
705
706tstTimer_TEMPLATE = VBOXR3TSTEXE
707tstTimer_SOURCES = tstTimer.cpp
708
709tstRTTimerLR_TEMPLATE = VBOXR3TSTEXE
710tstRTTimerLR_SOURCES = tstRTTimerLR.cpp
711
712tstRTTimeSpec_TEMPLATE = VBOXR3TSTEXE
713tstRTTimeSpec_SOURCES = tstRTTimeSpec.cpp
714
715tstTSC_SOURCES = tstTSC.cpp
716tstTSC_CXXFLAGS.linux += -O3
717
718tstRTUuid_TEMPLATE = VBOXR3TSTEXE
719tstRTUuid_SOURCES = tstRTUuid.cpp
720
721tstRTUdp-1_TEMPLATE = VBOXR3TSTEXE
722tstRTUdp-1_SOURCES = tstRTUdp-1.cpp
723
724tstUtf8_TEMPLATE = VBOXR3TSTEXE
725tstUtf8_SOURCES = tstUtf8.cpp
726
727tstRTCircBuf_TEMPLATE = VBOXR3TSTEXE
728tstRTCircBuf_SOURCES = tstRTCircBuf.cpp
729
730tstRTManifest_TEMPLATE = VBOXR3TSTEXE
731tstRTManifest_SOURCES = tstRTManifest.cpp
732
733tstRTMath_TEMPLATE = VBOXR3TSTEXE
734tstRTMath_SOURCES = \
735 tstRTMath.cpp \
736 ../common/math/gcc/udivmoddi4.c
737
738tstRTUri_TEMPLATE = VBOXR3TSTEXE
739tstRTUri_SOURCES = tstRTUri.cpp
740
741tstRTVfs_TEMPLATE = VBOXR3TSTEXE
742tstRTVfs_SOURCES = tstRTVfs.cpp
743
744tstRTCoreDump_TEMPLACE = VBOXR3TSTEXE
745tstRTCoreDump_SOURCES = tstRTCoreDump.cpp
746
747tstVector_TEMPLATE = VBOXR3TSTEXE
748tstVector_SOURCES = tstVector.cpp
749
750
751tstRTZip_TEMPLATE = VBOXR3TSTEXE
752tstRTZip_SOURCES = tstRTZip.cpp
753
754tstRTJson_TEMPLATE = VBOXR3TSTEXE
755tstRTJson_SOURCES = tstRTJson.cpp
756
757tstRTShMem_TEMPLATE = VBOXR3TSTEXE
758tstRTShMem_SOURCES = tstRTShMem.cpp
759
760#
761# Ring-0 testcases.
762#
763
764## @todo create a template for compiling the ring-0 part.
765tstRTR0DbgKrnlInfo_TEMPLATE = VBoxR0
766tstRTR0DbgKrnlInfo_INST = $(INST_TESTCASE)
767tstRTR0DbgKrnlInfo_DEFS = IN_RT_R0
768tstRTR0DbgKrnlInfo_SYSSUFF = .r0
769tstRTR0DbgKrnlInfo_SOURCES = tstRTR0DbgKrnlInfo.cpp
770tstRTR0DbgKrnlInfo_LIBS = \
771 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
772 $(VBOX_LIB_SUPR0)
773if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
774 tstRTR0DbgKrnlInfoDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
775 tstRTR0DbgKrnlInfoDriverHardened_NAME = tstRTR0DbgKrnlInfoDriver
776 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
777 tstRTR0DbgKrnlInfoDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0DbgKrnlInfoDriver"
778 else
779 tstRTR0DbgKrnlInfoDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0DbgKrnlInfoDriver\"
780 endif
781 tstRTR0DbgKrnlInfoDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
782 tstRTR0DbgKrnlInfoDriver_TEMPLATE = VBoxR3HardenedTstDll
783else
784 tstRTR0DbgKrnlInfoDriver_TEMPLATE = VBOXR3TSTEXE
785endif
786tstRTR0DbgKrnlInfoDriver_TEMPLATE = VBOXR3TSTEXE
787tstRTR0DbgKrnlInfoDriver_SOURCES = tstRTR0DbgKrnlInfoDriver.cpp
788
789
790tstRTR0MemUserKernel_TEMPLATE = VBoxR0
791tstRTR0MemUserKernel_INST = $(INST_TESTCASE)
792tstRTR0MemUserKernel_DEFS = IN_RT_R0
793tstRTR0MemUserKernel_SYSSUFF = .r0
794tstRTR0MemUserKernel_SOURCES = tstRTR0MemUserKernel.cpp
795tstRTR0MemUserKernel_LIBS = \
796 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
797 $(VBOX_LIB_SUPR0)
798if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
799 tstRTR0MemUserKernelDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
800 tstRTR0MemUserKernelDriverHardened_NAME = tstRTR0MemUserKernelDriver
801 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
802 tstRTR0MemUserKernelDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0MemUserKernelDriver"
803 else
804 tstRTR0MemUserKernelDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0MemUserKernelDriver\"
805 endif
806 tstRTR0MemUserKernelDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
807 tstRTR0MemUserKernelDriver_TEMPLATE = VBoxR3HardenedTstDll
808else
809 tstRTR0MemUserKernelDriver_TEMPLATE = VBOXR3TSTEXE
810endif
811tstRTR0MemUserKernelDriver_SOURCES = tstRTR0MemUserKernelDriver.cpp
812
813
814tstRTR0SemMutex_TEMPLATE = VBoxR0
815tstRTR0SemMutex_INST = $(INST_TESTCASE)
816tstRTR0SemMutex_DEFS = IN_RT_R0
817tstRTR0SemMutex_SYSSUFF = .r0
818tstRTR0SemMutex_SOURCES = tstRTR0SemMutex.cpp
819tstRTR0SemMutex_LIBS = \
820 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
821 $(VBOX_LIB_SUPR0)
822if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
823 tstRTR0SemMutexDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
824 tstRTR0SemMutexDriverHardened_NAME = tstRTR0SemMutexDriver
825 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
826 tstRTR0SemMutexDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0SemMutexDriver"
827 else
828 tstRTR0SemMutexDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0SemMutexDriver\"
829 endif
830 tstRTR0SemMutexDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
831 tstRTR0SemMutexDriver_TEMPLATE = VBoxR3HardenedTstDll
832else
833 tstRTR0SemMutexDriver_TEMPLATE = VBOXR3TSTEXE
834endif
835tstRTR0SemMutexDriver_SOURCES = tstRTR0SemMutexDriver.cpp
836
837
838tstRTR0Thread_TEMPLATE = VBoxR0
839tstRTR0Thread_INST = $(INST_TESTCASE)
840tstRTR0Thread_DEFS = IN_RT_R0
841tstRTR0Thread_SYSSUFF = .r0
842tstRTR0Thread_SOURCES = tstRTR0Thread.cpp
843tstRTR0Thread_LIBS = \
844 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
845 $(VBOX_LIB_SUPR0)
846if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
847 tstRTR0ThreadDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
848 tstRTR0ThreadDriverHardened_NAME = tstRTR0ThreadDriver
849 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
850 tstRTR0ThreadDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0ThreadDriver"
851 else
852 tstRTR0ThreadDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0ThreadDriver\"
853 endif
854 tstRTR0ThreadDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
855 tstRTR0ThreadDriver_TEMPLATE = VBoxR3HardenedTstDll
856else
857 tstRTR0ThreadDriver_TEMPLATE = VBOXR3TSTEXE
858endif
859tstRTR0ThreadDriver_SOURCES = tstRTR0ThreadDriver.cpp
860
861
862tstRTR0Timer_TEMPLATE = VBoxR0
863tstRTR0Timer_INST = $(INST_TESTCASE)
864tstRTR0Timer_DEFS = IN_RT_R0
865tstRTR0Timer_SYSSUFF = .r0
866tstRTR0Timer_SOURCES = tstRTR0Timer.cpp
867tstRTR0Timer_LIBS = \
868 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
869 $(VBOX_LIB_SUPR0)
870if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
871 tstRTR0TimerDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
872 tstRTR0TimerDriverHardened_NAME = tstRTR0TimerDriver
873 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
874 tstRTR0TimerDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0TimerDriver"
875 else
876 tstRTR0TimerDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0TimerDriver\"
877 endif
878 tstRTR0TimerDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
879 tstRTR0TimerDriver_TEMPLATE = VBoxR3HardenedTstDll
880else
881 tstRTR0TimerDriver_TEMPLATE = VBOXR3TSTEXE
882endif
883tstRTR0TimerDriver_SOURCES = tstRTR0TimerDriver.cpp
884
885
886tstRTR0ThreadPreemption_TEMPLATE = VBoxR0
887tstRTR0ThreadPreemption_INST = $(INST_TESTCASE)
888tstRTR0ThreadPreemption_DEFS = IN_RT_R0
889tstRTR0ThreadPreemption_SYSSUFF = .r0
890tstRTR0ThreadPreemption_SOURCES = tstRTR0ThreadPreemption.cpp
891tstRTR0ThreadPreemption_LIBS = \
892 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
893 $(VBOX_LIB_SUPR0)
894if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
895 tstRTR0ThreadPreemptionDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
896 tstRTR0ThreadPreemptionDriverHardened_NAME = tstRTR0ThreadPreemptionDriver
897 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
898 tstRTR0ThreadPreemptionDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0ThreadPreemptionDriver"
899 else
900 tstRTR0ThreadPreemptionDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0ThreadPreemptionDriver\"
901 endif
902 tstRTR0ThreadPreemptionDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
903 tstRTR0ThreadPreemptionDriver_TEMPLATE = VBoxR3HardenedTstDll
904else
905 tstRTR0ThreadPreemptionDriver_TEMPLATE = VBOXR3TSTEXE
906endif
907tstRTR0ThreadPreemptionDriver_SOURCES = tstRTR0ThreadPreemptionDriver.cpp
908
909
910#
911# Odds and ends.
912#
913
914tstDarwinSched_TEMPLATE = VBOXR3TSTEXE
915tstDarwinSched_SOURCES = tstDarwinSched.cpp
916
917tstRTDarwinMachKernel_TEMPLATE = VBOXR3TSTEXE
918tstRTDarwinMachKernel_INCS = ../include
919tstRTDarwinMachKernel_SOURCES = \
920 tstRTDarwinMachKernel.cpp \
921 ../r0drv/darwin/dbgkrnlinfo-r0drv-darwin.cpp
922
923ntGetTimerResolution_SOURCES = ntGetTimerResolution.cpp
924ntGetTimerResolution_SDKS.win = ReorderCompilerIncs $(VBOX_WINPSDK) $(VBOX_WINDDK) VBOX_NTDLL
925
926endif # VBOX_WITH_TESTCASES
927
928include $(FILE_KBUILD_SUB_FOOTER)
929
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette