VirtualBox

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

Last change on this file since 18999 was 18999, checked in by vboxsync, 16 years ago

Runtime/Aio: Linux backend and a simple testcase. Disabled by default. Enable with RT_ASYNC_IO_CODE

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 7.8 KB
Line 
1# $Id: Makefile.kmk 18999 2009-04-17 19:54:52Z vboxsync $
2## @file
3# Sub-Makefile for the IPRT testcases.
4#
5
6#
7# Copyright (C) 2006-2007 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 tstAvl \
52 tstBase64 \
53 tstBitOperations \
54 tstCidr \
55 tstCritSect \
56 tstDeadlock \
57 tstDir \
58 tstDir-2 \
59 tstDir-3 \
60 tstEnv \
61 tstErrUnique \
62 tstFile \
63 tstFileLock \
64 tstFork \
65 tstGetOpt \
66 tstHandleTable \
67 tstHeapSimple \
68 tstInlineAsm \
69 tstLdr \
70 tstLdr-2 \
71 tstLdr-3 \
72 tstLdr-4 \
73 tstLdrLoad \
74 tstLog \
75 tstMemAutoPtr \
76 tstMove \
77 tstMp-1 \
78 tstNoCrt-1 \
79 tstOnce \
80 tstPath \
81 tstPrfRT \
82 tstRand \
83 tstRTFsQueries \
84 tstSemPingPong \
85 tstStrFormat \
86 tstStrSimplePattern \
87 tstStrToNum \
88 tstSystemQueryOsInfo \
89 tstThread-1 \
90 tstTime \
91 tstTime-2 \
92 tstTime-3 \
93 tstTime-4 \
94 tstTimer \
95 tstTimerLR \
96 tstTimeSpec \
97 tstTSC \
98 tstUtf8 \
99 tstUuid
100# tstSems
101PROGRAMS.win += \
102 tstRTProcWait \
103 tstCritSectW32 \
104 tstFileAppendWin-1 \
105 ntGetTimerResolution
106PROGRAMS.linux += \
107 tstRTProcWait \
108 tstRTProcIsRunningByName \
109 tstBitOperationsPIC3 \
110 tstInlineAsmPIC \
111 tstInlineAsmPIC3 \
112 tstSemMutex
113PROGRAMS.l4 += \
114 tstIoCtl
115PROGRAMS.darwin += \
116 tstDarwinSched
117SYSMODS += \
118 tstLdrObj \
119 tstLdrObjR0
120if1of ($(VBOX_LDR_FMT)), lx pe)
121LIBRARIES += \
122 tstLdr-4Imp
123endif
124ifdef RT_ASYNC_IO_CODE
125PROGRAMS += \
126 tstFileAio
127endif
128
129
130
131#
132# Target configs in almost alphabetical order.
133#
134
135tstAvl_SOURCES = tstAvl.cpp
136
137tstBase64_TEMPLATE = VBOXR3TSTEXE
138tstBase64_SOURCES = tstBase64.cpp
139
140tstBitOperations_TEMPLATE = VBOXR3TSTEXE
141tstBitOperations_SOURCES = tstBitOperations.cpp
142
143tstBitOperationsPIC3_SOURCES = tstBitOperations.cpp
144tstBitOperationsPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
145tstBitOperationsPIC3_DEFS = PIC
146
147tstCidr_SOURCES = tstCidr.cpp
148
149tstCritSect_SOURCES = tstCritSect.cpp
150
151tstCritSectW32_SOURCES = tstCritSect.cpp
152tstCritSectW32_DEFS = TRY_WIN32_CRIT
153
154tstDarwinSched_SOURCES = tstDarwinSched.cpp
155
156tstDeadlock_SOURCES = tstDeadlock.cpp
157
158tstDir_SOURCES = tstDir.cpp
159
160tstDir-2_SOURCES = tstDir-2.cpp
161
162tstDir-3_SOURCES = tstDir-3.cpp
163
164tstEnv_SOURCES = tstEnv.cpp
165
166# Note: tstErrUnique.cpp depends on a header generated by the makefile above us.
167tstErrUnique_SOURCES = tstErrUnique.cpp
168tstErrUnique_INCS = $(IPRT_OUT_DIR)/
169tstErrUnique.cpp_DEPS = $(IPRT_OUT_DIR)/errmsgdata.h
170
171tstFile_SOURCES = tstFile.cpp
172
173tstFileAppendWin-1_SOURCES = tstFileAppendWin-1.cpp
174
175tstFileLock_SOURCES = tstFileLock.cpp
176
177tstFork_SOURCES = tstFork.cpp
178
179tstGetOpt_SOURCES = tstGetOpt.cpp
180
181tstHandleTable_SOURCES = tstHandleTable.cpp
182
183tstHeapSimple_SOURCES = tstHeapSimple.cpp
184
185tstIoCtl_SOURCES = tstIoCtl.cpp
186
187tstInlineAsm_SOURCES = tstInlineAsm.cpp
188
189tstInlineAsmPIC_SOURCES = tstInlineAsm.cpp
190tstInlineAsmPIC_CXXFLAGS = -fPIC
191tstInlineAsmPIC_DEFS = PIC
192
193tstInlineAsmPIC3_SOURCES = tstInlineAsm.cpp
194tstInlineAsmPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
195tstInlineAsmPIC3_DEFS = PIC
196
197tstLdr_SOURCES = tstLdr.cpp
198
199tstLdr-2_SOURCES = tstLdr-2.cpp
200tstLdr-2_DEFS = IN_DIS
201tstLdr-2_LIBS = \
202 $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
203
204tstLdrObj_TEMPLATE = VBOXGC
205tstLdrObj_INST = $(INST_TESTCASE)
206tstLdrObj_SYSSUFF = .gc
207tstLdrObj_SOURCES = tstLdrObj.cpp
208tstLdrObj_DEFS = IN_DIS IN_RT_GC IN_RT_RC DIS_CORE_ONLY
209ifeq ($(VBOX_LDR_FMT32),elf)
210tstLdrObj_DEFS += VBOX_SOME_IMPORT_FUNCTION
211endif
212tstLdrObj_LIBS = \
213 $(PATH_LIB)/DisasmGC$(VBOX_SUFF_LIB) \
214 $(PATH_LIB)/RuntimeGC$(VBOX_SUFF_LIB)
215ifeq ($(VBOX_LDR_FMT32),pe)
216tstLdrObj_LDFLAGS = -Entry:Entrypoint
217tstLdrObj_LIBS += \
218 $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
219endif # PE
220ifeq ($(VBOX_LDR_FMT32),elf)
221tstLdrObj_LDFLAGS = -e Entrypoint
222endif
223ifeq ($(VBOX_LDR_FMT32),lx)
224tstLdrObj_LIBS += \
225 $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
226endif
227
228tstLdr-3_SOURCES = tstLdr-3.cpp
229tstLdr-3_DEFS = IN_DIS
230tstLdr-3_LIBS = \
231 $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
232
233tstLdr-4Imp_TEMPLATE = VBOXR0
234ifeq ($(VBOX_LDR_FMT),lx)
235 tstLdr-4Imp_SOURCES = tstLdr-4Imp-os2.def
236else ifeq ($(VBOX_LDR_FMT),pe)
237 tstLdr-4Imp_SOURCES.win = tstLdr-4Imp-win.def
238endif
239
240tstLdrObjR0_TEMPLATE = VBOXR0
241tstLdrObjR0_INST = $(INST_TESTCASE)
242tstLdrObjR0_SYSSUFF = .r0
243tstLdrObjR0_SOURCES = tstLdrObjR0.cpp tstLdrDisasmTest.cpp
244tstLdrObjR0_DEFS = IN_DIS IN_RT_R0 DIS_CORE_ONLY
245ifeq ($(VBOX_LDR_FMT32),elf)
246 tstLdrObjR0_DEFS += VBOX_SOME_IMPORT_FUNCTION
247endif
248tstLdrObjR0_LIBS = \
249 $(PATH_LIB)/DisasmR0$(VBOX_SUFF_LIB) \
250 $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
251ifeq ($(VBOX_LDR_FMT),pe)
252 tstLdrObjR0_LDFLAGS = -Entry:Entrypoint
253 tstLdrObjR0_LIBS += \
254 $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB) \
255 $(TARGET_tstLdr-4Imp)
256endif
257ifeq ($(VBOX_LDR_FMT),elf)
258 tstLdrObjR0_LDFLAGS = -e Entrypoint
259endif
260ifeq ($(VBOX_LDR_FMT),lx)
261 tstLdrObjR0_LIBS += \
262 $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB) \
263 $(TARGET_tstLdr-4Imp)
264endif
265
266tstLdr-4_SOURCES = tstLdr-4.cpp tstLdrDisasmTest.cpp
267tstLdr-4_DEFS = IN_DIS
268tstLdr-4_LIBS = \
269 $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
270
271tstLdrLoad_SOURCES = tstLdrLoad.cpp
272
273tstLog_SOURCES = tstLog.cpp
274
275tstMemAutoPtr_SOURCES = tstMemAutoPtr.cpp
276
277tstMove_SOURCES = tstMove.cpp
278
279tstMp-1_SOURCES = tstMp-1.cpp
280
281tstNoCrt-1_DEFS = RT_WITHOUT_NOCRT_WRAPPER_ALIASES
282tstNoCrt-1_SOURCES = \
283 tstNoCrt-1.cpp \
284 ../common/string/memcpy.asm \
285 ../common/string/mempcpy.asm \
286 ../common/string/memmove.asm \
287 ../common/string/memset.asm \
288 ../common/string/memchr.asm \
289 ../common/string/memcmp.asm \
290 ../common/string/strchr.asm \
291 ../common/string/strcmp.asm \
292 ../common/string/strcpy.asm \
293 ../common/string/strlen.asm
294
295tstOnce_SOURCES = tstOnce.cpp
296
297tstPath_SOURCES = tstPath.cpp
298
299tstPrfRT_SOURCES = tstPrfRT.cpp
300
301tstRand_SOURCES = tstRand.cpp
302
303tstRTFsQueries_SOURCES = tstRTFsQueries.cpp
304
305tstRTProcWait_SOURCES = tstRTProcWait.cpp
306
307tstRTProcIsRunningByName_SOURCES = tstRTProcIsRunningByName.cpp
308
309tstSemMutex_SOURCES = tstSemMutex.cpp
310
311tstSemPingPong_SOURCES = tstSemPingPong.cpp
312
313tstSems_SOURCES = tstSems.cpp
314
315tstStrFormat_SOURCES = tstStrFormat.cpp
316
317tstStrSimplePattern_SOURCES = tstStrSimplePattern.cpp
318
319tstStrToNum_SOURCES = tstStrToNum.cpp
320
321tstSystemQueryOsInfo_SOURCES = tstSystemQueryOsInfo.cpp
322
323tstThread-1_SOURCES = tstThread-1.cpp
324
325tstTime_SOURCES = tstTime.cpp
326
327tstTime-2_SOURCES = tstTime-2.cpp
328
329tstTime-3_SOURCES = tstTime-3.cpp
330
331tstTime-4_SOURCES = tstTime-4.cpp
332
333tstTimer_SOURCES = tstTimer.cpp
334
335tstTimerLR_SOURCES = tstTimerLR.cpp
336
337tstTimeSpec_SOURCES = tstTimeSpec.cpp
338
339tstTSC_SOURCES = tstTSC.cpp
340tstTSC_CXXFLAGS.linux += -O3
341
342tstUuid_SOURCES = tstUuid.cpp
343
344tstUtf8_SOURCES = tstUtf8.cpp
345
346tstFileAio_SOURCES = tstFileAio.cpp
347
348ntGetTimerResolution_SOURCES = ntGetTimerResolution.cpp
349ntGetTimerResolution_SDKS.win = WINPSDK W2K3DDK VBOX_NTDLL
350
351endif # VBOX_WITH_TESTCASES
352
353include $(KBUILD_PATH)/subfooter.kmk
354
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