VirtualBox

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

Last change on this file since 27411 was 27345, checked in by vboxsync, 15 years ago

iprt: Added RTSort with one simple algorithm implemented.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 11.3 KB
Line 
1# $Id: Makefile.kmk 27345 2010-03-14 18:33:46Z vboxsync $
2## @file
3# Sub-Makefile for the IPRT testcases.
4#
5
6#
7# Copyright (C) 2006-2010 Sun Microsystems, Inc.
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# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
27# Clara, CA 95054 USA or visit http://www.sun.com if you need
28# additional information or have any questions.
29#
30
31SUB_DEPTH = ../../../..
32include $(KBUILD_PATH)/subheader.kmk
33
34ifdef VBOX_WITH_TESTCASES
35
36#
37# Globals
38#
39# WARNING: Careful with this wrt to the other sub-makefiles this joins.
40#
41TEMPLATE = VBOXR3TSTEXE
42
43# Defined by the parent makefile as well (for errmsgdata.h).
44IPRT_OUT_DIR ?= $(PATH_TARGET)/Runtime
45
46
47#
48# Target lists
49#
50PROGRAMS += \
51 tstRTAvl \
52 tstRTBase64 \
53 tstRTBitOperations \
54 tstRTCidr \
55 tstRTCritSect \
56 tstRTDigest \
57 tstDir \
58 tstDir-2 \
59 tstDir-3 \
60 tstEnv \
61 tstErrUnique \
62 tstFile \
63 tstFileAio \
64 tstFileAppend-1 \
65 tstFileLock \
66 tstFork \
67 tstRTGetOpt \
68 tstRTGetOptArgv \
69 tstHandleTable \
70 tstRTHeapOffset \
71 tstRTHeapSimple \
72 tstInlineAsm \
73 tstLdr \
74 tstLdr-2 \
75 tstLdr-3 \
76 tstLdr-4 \
77 tstLdrLoad \
78 tstRTList \
79 tstRTLockValidator \
80 tstLog \
81 tstMemAutoPtr \
82 tstRTMemEf \
83 tstRTMemCache \
84 tstRTMemPool \
85 tstRTR0MemUserKernelDriver \
86 tstMove \
87 tstMp-1 \
88 tstNoCrt-1 \
89 tstOnce \
90 tstRTPath \
91 tstRTPipe \
92 tstRTPoll \
93 tstRTProcCreateEx \
94 tstPrfRT \
95 tstRand \
96 tstRTFsQueries \
97 tstR0ThreadPreemptionDriver \
98 tstRTS3 \
99 tstSemEvent \
100 tstSemMutex \
101 tstSemPingPong \
102 tstRTSemRW \
103 tstSems \
104 tstRTSemXRoads \
105 tstRTSort \
106 tstRTStrAlloc \
107 tstRTStrCache \
108 tstRTStrFormat \
109 tstStrSimplePattern \
110 tstStrToNum \
111 tstRTStrVersion \
112 tstRTSystemQueryDmi \
113 tstRTSystemQueryOsInfo \
114 tstRTTemp \
115 tstTermCallbacks \
116 tstThread-1 \
117 tstTime \
118 tstTime-2 \
119 tstTime-3 \
120 tstTime-4 \
121 tstTimer \
122 tstTimerLR \
123 tstRTTimeSpec \
124 tstTSC \
125 tstUtf8 \
126 tstRTUuid
127# tstSems
128PROGRAMS.win += \
129 tstRTProcWait \
130 tstRTCritSectW32 \
131 tstFileAppendWin-1 \
132 ntGetTimerResolution
133PROGRAMS.linux += \
134 tstRTProcWait \
135 tstRTProcIsRunningByName \
136 tstRTBitOperationsPIC3 \
137 tstInlineAsmPIC \
138 tstInlineAsmPIC3
139PROGRAMS.l4 += \
140 tstIoCtl
141PROGRAMS.darwin += \
142 tstDarwinSched
143SYSMODS += \
144 tstLdrObjR0 \
145 tstRTR0MemUserKernel \
146 tstR0ThreadPreemption
147ifdef VBOX_WITH_RAW_MODE
148 SYSMODS += tstLdrObj
149endif
150if1of ($(VBOX_LDR_FMT)), lx pe)
151LIBRARIES += \
152 tstLdr-4Imp
153endif
154
155
156#
157# Target configs in almost alphabetical order.
158#
159
160tstRTAvl_TEMPLATE = VBOXR3TSTEXE
161tstRTAvl_SOURCES = tstRTAvl.cpp
162
163tstRTBase64_TEMPLATE = VBOXR3TSTEXE
164tstRTBase64_SOURCES = tstRTBase64.cpp
165
166tstRTBitOperations_TEMPLATE = VBOXR3TSTEXE
167tstRTBitOperations_SOURCES = tstRTBitOperations.cpp
168
169tstRTBitOperationsPIC3_TEMPLATE = VBOXR3TSTEXE
170tstRTBitOperationsPIC3_SOURCES = tstRTBitOperations.cpp
171tstRTBitOperationsPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
172tstRTBitOperationsPIC3_DEFS = PIC
173
174tstRTCidr_TEMPLATE = VBOXR3TSTEXE
175tstRTCidr_SOURCES = tstRTCidr.cpp
176
177tstRTCritSect_TEMPLATE = VBOXR3TSTEXE
178tstRTCritSect_SOURCES = tstRTCritSect.cpp
179
180tstRTCritSectW32_TEMPLATE = VBOXR3TSTEXE
181tstRTCritSectW32_SOURCES = tstRTCritSect.cpp
182tstRTCritSectW32_DEFS = TRY_WIN32_CRIT
183
184tstRTDigest_SOURCES = tstRTDigest.cpp
185
186tstDir_SOURCES = tstDir.cpp
187
188tstDir-2_SOURCES = tstDir-2.cpp
189
190tstDir-3_SOURCES = tstDir-3.cpp
191
192tstEnv_SOURCES = tstEnv.cpp
193
194# Note: tstErrUnique.cpp depends on a header generated by the makefile above us.
195tstErrUnique_SOURCES = tstErrUnique.cpp
196tstErrUnique_INCS = $(IPRT_OUT_DIR)/
197tstErrUnique.cpp_DEPS = $(IPRT_OUT_DIR)/errmsgdata.h
198
199tstFile_SOURCES = tstFile.cpp
200
201tstFileAppend-1_SOURCES = tstFileAppend-1.cpp
202
203tstFileAppendWin-1_SOURCES = tstFileAppendWin-1.cpp
204
205tstFileAio_SOURCES = tstFileAio.cpp
206
207tstFileLock_SOURCES = tstFileLock.cpp
208
209tstFork_SOURCES = tstFork.cpp
210
211tstRTGetOpt_TEMPLATE = VBOXR3TSTEXE
212tstRTGetOpt_SOURCES = tstRTGetOpt.cpp
213
214tstRTGetOptArgv_TEMPLATE = VBOXR3TSTEXE
215tstRTGetOptArgv_SOURCES = tstRTGetOptArgv.cpp
216
217tstHandleTable_SOURCES = tstHandleTable.cpp
218
219tstRTHeapOffset_TEMPLATE = VBOXR3TSTEXE
220tstRTHeapOffset_SOURCES = tstRTHeapOffset.cpp
221
222tstRTHeapSimple_TEMPLATE = VBOXR3TSTEXE
223tstRTHeapSimple_SOURCES = tstRTHeapSimple.cpp
224
225tstIoCtl_SOURCES = tstIoCtl.cpp
226
227tstInlineAsm_SOURCES = tstInlineAsm.cpp
228
229tstInlineAsmPIC_SOURCES = tstInlineAsm.cpp
230tstInlineAsmPIC_CXXFLAGS = -fPIC
231tstInlineAsmPIC_DEFS = PIC
232
233tstInlineAsmPIC3_SOURCES = tstInlineAsm.cpp
234tstInlineAsmPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
235tstInlineAsmPIC3_DEFS = PIC
236
237tstLdr_SOURCES = tstLdr.cpp
238
239tstLdr-2_SOURCES = tstLdr-2.cpp
240tstLdr-2_DEFS = IN_DIS
241tstLdr-2_LIBS = \
242 $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
243
244ifdef VBOX_WITH_RAW_MODE
245 tstLdrObj_TEMPLATE = VBoxRc
246 tstLdrObj_INST = $(INST_TESTCASE)
247 tstLdrObj_SYSSUFF = .gc
248 tstLdrObj_SOURCES = tstLdrObj.cpp
249 tstLdrObj_DEFS = IN_DIS IN_RT_RC DIS_CORE_ONLY
250 ifeq ($(VBOX_LDR_FMT32),elf)
251 tstLdrObj_DEFS += VBOX_SOME_IMPORT_FUNCTION
252 endif
253 tstLdrObj_LIBS = \
254 $(PATH_LIB)/DisasmRC$(VBOX_SUFF_LIB) \
255 $(PATH_LIB)/RuntimeRC$(VBOX_SUFF_LIB)
256 ifeq ($(VBOX_LDR_FMT32),pe)
257 tstLdrObj_LIBS += \
258 $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
259 endif # PE
260 ifeq ($(VBOX_LDR_FMT32),elf)
261 tstLdrObj_LDFLAGS = -e Entrypoint
262 endif
263 ifeq ($(VBOX_LDR_FMT32),lx)
264 tstLdrObj_LIBS += \
265 $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
266 endif
267endif # VBOX_WITH_RAW_MODE
268
269tstLdr-3_SOURCES = tstLdr-3.cpp
270tstLdr-3_DEFS = IN_DIS
271tstLdr-3_LIBS = \
272 $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
273
274tstLdr-4Imp_TEMPLATE = VBoxR0
275ifeq ($(VBOX_LDR_FMT),lx)
276 tstLdr-4Imp_SOURCES = tstLdr-4Imp-os2.def
277else ifeq ($(VBOX_LDR_FMT),pe)
278 tstLdr-4Imp_SOURCES.win = tstLdr-4Imp-win.def
279endif
280
281tstLdrObjR0_TEMPLATE = VBoxR0
282tstLdrObjR0_INST = $(INST_TESTCASE)
283tstLdrObjR0_SYSSUFF = .r0
284tstLdrObjR0_SOURCES = tstLdrObjR0.cpp tstLdrDisasmTest.cpp
285tstLdrObjR0_DEFS = IN_DIS IN_RT_R0 DIS_CORE_ONLY
286ifeq ($(VBOX_LDR_FMT32),elf)
287 tstLdrObjR0_DEFS += VBOX_SOME_IMPORT_FUNCTION
288endif
289ifn1of ($(KBUILD_TARGET), win)
290 tstLdrObjR0_CXXFLAGS = $(VBOX_GCC_Wno-array_bounds)
291endif
292tstLdrObjR0_LIBS = \
293 $(PATH_LIB)/DisasmR0$(VBOX_SUFF_LIB) \
294 $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
295ifeq ($(VBOX_LDR_FMT),pe)
296 tstLdrObjR0_LIBS += \
297 $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB) \
298 $(TARGET_tstLdr-4Imp)
299endif
300ifeq ($(VBOX_LDR_FMT),elf)
301 tstLdrObjR0_LDFLAGS = -e Entrypoint
302endif
303ifeq ($(VBOX_LDR_FMT),lx)
304 tstLdrObjR0_LIBS += \
305 $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB) \
306 $(TARGET_tstLdr-4Imp)
307endif
308
309tstLdr-4_SOURCES = tstLdr-4.cpp tstLdrDisasmTest.cpp
310tstLdr-4_DEFS = IN_DIS
311tstLdr-4_LIBS = \
312 $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
313
314tstLdrLoad_SOURCES = tstLdrLoad.cpp
315
316tstRTList_TEMPLATE = VBOXR3TSTEXE
317tstRTList_SOURCES = tstRTList.cpp
318
319tstRTLockValidator_TEMPLATE = VBOXR3TSTEXE
320tstRTLockValidator_SOURCES = tstRTLockValidator.cpp
321
322tstLog_SOURCES = tstLog.cpp
323
324tstMemAutoPtr_SOURCES = tstMemAutoPtr.cpp
325
326tstRTMemEf_TEMPLATE = VBOXR3TSTEXE
327tstRTMemEf_SOURCES = tstRTMemEf.cpp
328
329tstRTMemCache_TEMPLATE = VBOXR3TSTEXE
330tstRTMemCache_SOURCES = tstRTMemCache.cpp
331
332tstRTMemPool_TEMPLATE = VBOXR3TSTEXE
333tstRTMemPool_SOURCES = tstRTMemPool.cpp
334
335tstRTR0MemUserKernel_TEMPLATE = VBoxR0
336tstRTR0MemUserKernel_INST = $(INST_TESTCASE)
337tstRTR0MemUserKernel_DEFS = IN_RT_R0
338tstRTR0MemUserKernel_SYSSUFF = .r0
339tstRTR0MemUserKernel_SOURCES = tstRTR0MemUserKernel.cpp
340tstRTR0MemUserKernel_LIBS = $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
341if1of ($(VBOX_LDR_FMT), pe lx)
342 tstRTR0MemUserKernel_LIBS += $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB)
343endif
344
345tstRTR0MemUserKernelDriver_SOURCES = tstRTR0MemUserKernelDriver.cpp
346
347tstMove_SOURCES = tstMove.cpp
348
349tstMp-1_SOURCES = tstMp-1.cpp
350
351tstNoCrt-1_DEFS = RT_WITHOUT_NOCRT_WRAPPER_ALIASES
352tstNoCrt-1_SOURCES = \
353 tstNoCrt-1.cpp \
354 ../common/string/memcpy.asm \
355 ../common/string/mempcpy.asm \
356 ../common/string/memmove.asm \
357 ../common/string/memset.asm \
358 ../common/string/memchr.asm \
359 ../common/string/memcmp.asm \
360 ../common/string/strchr.asm \
361 ../common/string/strcmp.asm \
362 ../common/string/strcpy.asm \
363 ../common/string/strlen.asm
364
365tstOnce_SOURCES = tstOnce.cpp
366
367tstRTPath_TEMPLATE = VBOXR3TSTEXE
368tstRTPath_SOURCES = tstRTPath.cpp
369
370tstRTPipe_TEMPLATE = VBOXR3TSTEXE
371tstRTPipe_SOURCES = tstRTPipe.cpp
372
373tstRTPoll_TEMPLATE = VBOXR3TSTEXE
374tstRTPoll_SOURCES = tstRTPoll.cpp
375
376tstPrfRT_SOURCES = tstPrfRT.cpp
377
378tstRand_SOURCES = tstRand.cpp
379
380tstR0ThreadPreemption_TEMPLATE = VBoxR0
381tstR0ThreadPreemption_INST = $(INST_TESTCASE)
382tstR0ThreadPreemption_DEFS = IN_RT_R0
383tstR0ThreadPreemption_SYSSUFF = .r0
384tstR0ThreadPreemption_SOURCES = tstR0ThreadPreemption.cpp
385tstR0ThreadPreemption_LIBS = $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
386if1of ($(VBOX_LDR_FMT), pe lx)
387 tstR0ThreadPreemption_LIBS += $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB)
388endif
389
390tstR0ThreadPreemptionDriver_SOURCES = tstR0ThreadPreemptionDriver.cpp
391
392tstRTFsQueries_SOURCES = tstRTFsQueries.cpp
393
394tstRTProcCreateEx_TEMPLATE = VBOXR3TSTEXE
395tstRTProcCreateEx_SOURCES = tstRTProcCreateEx.cpp
396
397tstRTProcWait_SOURCES = tstRTProcWait.cpp
398
399tstRTProcIsRunningByName_SOURCES = tstRTProcIsRunningByName.cpp
400
401tstRTS3_SOURCES = tstRTS3.cpp
402
403tstSemMutex_SOURCES = tstSemMutex.cpp
404
405tstSemEvent_SOURCES = tstSemEvent.cpp
406
407tstRTSemRW_TEMPLATE = VBOXR3TSTEXE
408tstRTSemRW_SOURCES = tstRTSemRW.cpp
409
410tstSemPingPong_SOURCES = tstSemPingPong.cpp
411
412tstSems_SOURCES = tstSems.cpp
413
414tstRTSemXRoads_TEMPLATE = VBOXR3TSTEXE
415tstRTSemXRoads_SOURCES = tstRTSemXRoads.cpp
416
417tstRTSort_TEMPLATE = VBOXR3TSTEXE
418tstRTSort_SOURCES = tstRTSort.cpp
419
420tstRTStrAlloc_TEMPLATE = VBOXR3TSTEXE
421tstRTStrAlloc_SOURCES = tstRTStrAlloc.cpp
422
423tstRTStrCache_TEMPLATE = VBOXR3TSTEXE
424tstRTStrCache_SOURCES = tstRTStrCache.cpp
425
426tstRTStrFormat_SOURCES = tstRTStrFormat.cpp
427
428tstStrSimplePattern_SOURCES = tstStrSimplePattern.cpp
429
430tstStrToNum_SOURCES = tstStrToNum.cpp
431
432tstRTStrVersion_TEMPLATE = VBOXR3TSTEXE
433tstRTStrVersion_SOURCES = tstRTStrVersion.cpp
434
435tstRTSystemQueryDmi_TEMPLATE = VBOXR3TSTEXE
436tstRTSystemQueryDmi_SOURCES = tstRTSystemQueryDmi.cpp
437
438tstRTSystemQueryOsInfo_TEMPLATE = VBOXR3TSTEXE
439tstRTSystemQueryOsInfo_SOURCES = tstRTSystemQueryOsInfo.cpp
440
441tstRTTemp_TEMPLATE = VBOXR3TSTEXE
442tstRTTemp_SOURCES = tstRTTemp.cpp
443
444tstTermCallbacks_SOURCES = tstTermCallbacks.cpp
445
446tstThread-1_SOURCES = tstThread-1.cpp
447
448tstTime_SOURCES = tstTime.cpp
449
450tstTime-2_SOURCES = tstTime-2.cpp
451
452tstTime-3_SOURCES = tstTime-3.cpp
453
454tstTime-4_SOURCES = tstTime-4.cpp
455
456tstTimer_SOURCES = tstTimer.cpp
457
458tstTimerLR_SOURCES = tstTimerLR.cpp
459
460tstRTTimeSpec_TEMPLATE = VBOXR3TSTEXE
461tstRTTimeSpec_SOURCES = tstRTTimeSpec.cpp
462
463tstTSC_SOURCES = tstTSC.cpp
464tstTSC_CXXFLAGS.linux += -O3
465
466tstRTUuid_TEMPLATE = VBOXR3TSTEXE
467tstRTUuid_SOURCES = tstRTUuid.cpp
468
469tstUtf8_SOURCES = tstUtf8.cpp
470
471#
472# odds and ends
473#
474
475tstDarwinSched_SOURCES = tstDarwinSched.cpp
476
477ntGetTimerResolution_SOURCES = ntGetTimerResolution.cpp
478ntGetTimerResolution_SDKS.win = WINPSDK W2K3DDK VBOX_NTDLL
479
480endif # VBOX_WITH_TESTCASES
481
482include $(KBUILD_PATH)/subfooter.kmk
483
Note: See TracBrowser for help on using the repository browser.

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