VirtualBox

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

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

Runtime: Made solaris.sparc64 link and run.

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