VirtualBox

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

Last change on this file since 26977 was 26824, checked in by vboxsync, 15 years ago

iprt: Adjustments to RTPipeReadBlocking and RTPipeWriteBlocking. RTPoll and RTProcCreateEx testcases.

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