VirtualBox

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

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

RTHeapOffset: Initial conversion of RTHeapSimple.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 9.9 KB
Line 
1# $Id: Makefile.kmk 25059 2009-11-27 18:17:44Z 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 tstDeadlock \
57 tstRTDigest \
58 tstDir \
59 tstDir-2 \
60 tstDir-3 \
61 tstEnv \
62 tstErrUnique \
63 tstFile \
64 tstFileAio \
65 tstFileAppend-1 \
66 tstFileLock \
67 tstFork \
68 tstGetOpt \
69 tstHandleTable \
70 tstRTHeapOffset \
71 tstRTHeapSimple \
72 tstInlineAsm \
73 tstLdr \
74 tstLdr-2 \
75 tstLdr-3 \
76 tstLdr-4 \
77 tstLdrLoad \
78 tstLog \
79 tstMemAutoPtr \
80 tstRTMemPool \
81 tstRTR0MemUserKernelDriver \
82 tstMove \
83 tstMp-1 \
84 tstNoCrt-1 \
85 tstOnce \
86 tstPath \
87 tstPrfRT \
88 tstRand \
89 tstRTFsQueries \
90 tstR0ThreadPreemptionDriver \
91 tstRTS3 \
92 tstSems \
93 tstSemEvent \
94 tstSemPingPong \
95 tstRTStrCache \
96 tstRTStrFormat \
97 tstStrSimplePattern \
98 tstStrToNum \
99 tstRTStrVersion \
100 tstSystemQueryOsInfo \
101 tstRTTemp \
102 tstTermCallbacks \
103 tstThread-1 \
104 tstTime \
105 tstTime-2 \
106 tstTime-3 \
107 tstTime-4 \
108 tstTimer \
109 tstTimerLR \
110 tstTimeSpec \
111 tstTSC \
112 tstUtf8 \
113 tstUuid
114# tstSems
115PROGRAMS.win += \
116 tstRTProcWait \
117 tstRTCritSectW32 \
118 tstFileAppendWin-1 \
119 ntGetTimerResolution
120PROGRAMS.linux += \
121 tstRTProcWait \
122 tstRTProcIsRunningByName \
123 tstRTBitOperationsPIC3 \
124 tstInlineAsmPIC \
125 tstInlineAsmPIC3 \
126 tstSemMutex \
127 tstSemRW
128PROGRAMS.l4 += \
129 tstIoCtl
130PROGRAMS.darwin += \
131 tstDarwinSched
132SYSMODS += \
133 tstLdrObj \
134 tstLdrObjR0 \
135 tstRTR0MemUserKernel \
136 tstR0ThreadPreemption
137if1of ($(VBOX_LDR_FMT)), lx pe)
138LIBRARIES += \
139 tstLdr-4Imp
140endif
141
142
143#
144# Target configs in almost alphabetical order.
145#
146
147tstRTAvl_TEMPLATE = VBOXR3TSTEXE
148tstRTAvl_SOURCES = tstRTAvl.cpp
149
150tstRTBase64_TEMPLATE = VBOXR3TSTEXE
151tstRTBase64_SOURCES = tstRTBase64.cpp
152
153tstRTBitOperations_TEMPLATE = VBOXR3TSTEXE
154tstRTBitOperations_SOURCES = tstRTBitOperations.cpp
155
156tstRTBitOperationsPIC3_TEMPLATE = VBOXR3TSTEXE
157tstRTBitOperationsPIC3_SOURCES = tstRTBitOperations.cpp
158tstRTBitOperationsPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
159tstRTBitOperationsPIC3_DEFS = PIC
160
161tstRTCidr_TEMPLATE = VBOXR3TSTEXE
162tstRTCidr_SOURCES = tstRTCidr.cpp
163
164tstRTCritSect_TEMPLATE = VBOXR3TSTEXE
165tstRTCritSect_SOURCES = tstRTCritSect.cpp
166
167tstRTCritSectW32_TEMPLATE = VBOXR3TSTEXE
168tstRTCritSectW32_SOURCES = tstRTCritSect.cpp
169tstRTCritSectW32_DEFS = TRY_WIN32_CRIT
170
171tstDeadlock_SOURCES = tstDeadlock.cpp
172
173tstRTDigest_SOURCES = tstRTDigest.cpp
174
175tstDir_SOURCES = tstDir.cpp
176
177tstDir-2_SOURCES = tstDir-2.cpp
178
179tstDir-3_SOURCES = tstDir-3.cpp
180
181tstEnv_SOURCES = tstEnv.cpp
182
183# Note: tstErrUnique.cpp depends on a header generated by the makefile above us.
184tstErrUnique_SOURCES = tstErrUnique.cpp
185tstErrUnique_INCS = $(IPRT_OUT_DIR)/
186tstErrUnique.cpp_DEPS = $(IPRT_OUT_DIR)/errmsgdata.h
187
188tstFile_SOURCES = tstFile.cpp
189
190tstFileAppend-1_SOURCES = tstFileAppend-1.cpp
191
192tstFileAppendWin-1_SOURCES = tstFileAppendWin-1.cpp
193
194tstFileAio_SOURCES = tstFileAio.cpp
195
196tstFileLock_SOURCES = tstFileLock.cpp
197
198tstFork_SOURCES = tstFork.cpp
199
200tstGetOpt_SOURCES = tstGetOpt.cpp
201
202tstHandleTable_SOURCES = tstHandleTable.cpp
203
204tstRTHeapOffset_TEMPLATE = VBOXR3TSTEXE
205tstRTHeapOffset_SOURCES = tstRTHeapOffset.cpp
206
207tstRTHeapSimple_TEMPLATE = VBOXR3TSTEXE
208tstRTHeapSimple_SOURCES = tstRTHeapSimple.cpp
209
210tstIoCtl_SOURCES = tstIoCtl.cpp
211
212tstInlineAsm_SOURCES = tstInlineAsm.cpp
213
214tstInlineAsmPIC_SOURCES = tstInlineAsm.cpp
215tstInlineAsmPIC_CXXFLAGS = -fPIC
216tstInlineAsmPIC_DEFS = PIC
217
218tstInlineAsmPIC3_SOURCES = tstInlineAsm.cpp
219tstInlineAsmPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
220tstInlineAsmPIC3_DEFS = PIC
221
222tstLdr_SOURCES = tstLdr.cpp
223
224tstLdr-2_SOURCES = tstLdr-2.cpp
225tstLdr-2_DEFS = IN_DIS
226tstLdr-2_LIBS = \
227 $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
228
229tstLdrObj_TEMPLATE = VBOXGC
230tstLdrObj_INST = $(INST_TESTCASE)
231tstLdrObj_SYSSUFF = .gc
232tstLdrObj_SOURCES = tstLdrObj.cpp
233tstLdrObj_DEFS = IN_DIS IN_RT_GC IN_RT_RC DIS_CORE_ONLY
234ifeq ($(VBOX_LDR_FMT32),elf)
235tstLdrObj_DEFS += VBOX_SOME_IMPORT_FUNCTION
236endif
237tstLdrObj_LIBS = \
238 $(PATH_LIB)/DisasmGC$(VBOX_SUFF_LIB) \
239 $(PATH_LIB)/RuntimeGC$(VBOX_SUFF_LIB)
240ifeq ($(VBOX_LDR_FMT32),pe)
241tstLdrObj_LDFLAGS = -Entry:Entrypoint
242tstLdrObj_LIBS += \
243 $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
244endif # PE
245ifeq ($(VBOX_LDR_FMT32),elf)
246tstLdrObj_LDFLAGS = -e Entrypoint
247endif
248ifeq ($(VBOX_LDR_FMT32),lx)
249tstLdrObj_LIBS += \
250 $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
251endif
252
253tstLdr-3_SOURCES = tstLdr-3.cpp
254tstLdr-3_DEFS = IN_DIS
255tstLdr-3_LIBS = \
256 $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
257
258tstLdr-4Imp_TEMPLATE = VBOXR0
259ifeq ($(VBOX_LDR_FMT),lx)
260 tstLdr-4Imp_SOURCES = tstLdr-4Imp-os2.def
261else ifeq ($(VBOX_LDR_FMT),pe)
262 tstLdr-4Imp_SOURCES.win = tstLdr-4Imp-win.def
263endif
264
265tstLdrObjR0_TEMPLATE = VBOXR0
266tstLdrObjR0_INST = $(INST_TESTCASE)
267tstLdrObjR0_SYSSUFF = .r0
268tstLdrObjR0_SOURCES = tstLdrObjR0.cpp tstLdrDisasmTest.cpp
269tstLdrObjR0_DEFS = IN_DIS IN_RT_R0 DIS_CORE_ONLY
270ifeq ($(VBOX_LDR_FMT32),elf)
271 tstLdrObjR0_DEFS += VBOX_SOME_IMPORT_FUNCTION
272endif
273tstLdrObjR0_LIBS = \
274 $(PATH_LIB)/DisasmR0$(VBOX_SUFF_LIB) \
275 $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
276ifeq ($(VBOX_LDR_FMT),pe)
277 tstLdrObjR0_LDFLAGS = -Entry:Entrypoint
278 tstLdrObjR0_LIBS += \
279 $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB) \
280 $(TARGET_tstLdr-4Imp)
281endif
282ifeq ($(VBOX_LDR_FMT),elf)
283 tstLdrObjR0_LDFLAGS = -e Entrypoint
284endif
285ifeq ($(VBOX_LDR_FMT),lx)
286 tstLdrObjR0_LIBS += \
287 $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB) \
288 $(TARGET_tstLdr-4Imp)
289endif
290
291tstLdr-4_SOURCES = tstLdr-4.cpp tstLdrDisasmTest.cpp
292tstLdr-4_DEFS = IN_DIS
293tstLdr-4_LIBS = \
294 $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
295
296tstLdrLoad_SOURCES = tstLdrLoad.cpp
297
298tstLog_SOURCES = tstLog.cpp
299
300tstMemAutoPtr_SOURCES = tstMemAutoPtr.cpp
301
302tstRTMemPool_TEMPLATE = VBOXR3TSTEXE
303tstRTMemPool_SOURCES = tstRTMemPool.cpp
304
305tstRTR0MemUserKernel_TEMPLATE = VBOXR0
306tstRTR0MemUserKernel_INST = $(INST_TESTCASE)
307tstRTR0MemUserKernel_DEFS = IN_RT_R0
308tstRTR0MemUserKernel_SYSSUFF = .r0
309tstRTR0MemUserKernel_SOURCES = tstRTR0MemUserKernel.cpp
310tstRTR0MemUserKernel_LIBS = $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
311if1of ($(VBOX_LDR_FMT), pe lx)
312 tstRTR0MemUserKernel_LIBS += $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB)
313endif
314
315tstRTR0MemUserKernelDriver_SOURCES = tstRTR0MemUserKernelDriver.cpp
316
317tstMove_SOURCES = tstMove.cpp
318
319tstMp-1_SOURCES = tstMp-1.cpp
320
321tstNoCrt-1_DEFS = RT_WITHOUT_NOCRT_WRAPPER_ALIASES
322tstNoCrt-1_SOURCES = \
323 tstNoCrt-1.cpp \
324 ../common/string/memcpy.asm \
325 ../common/string/mempcpy.asm \
326 ../common/string/memmove.asm \
327 ../common/string/memset.asm \
328 ../common/string/memchr.asm \
329 ../common/string/memcmp.asm \
330 ../common/string/strchr.asm \
331 ../common/string/strcmp.asm \
332 ../common/string/strcpy.asm \
333 ../common/string/strlen.asm
334
335tstOnce_SOURCES = tstOnce.cpp
336
337tstPath_SOURCES = tstPath.cpp
338
339tstPrfRT_SOURCES = tstPrfRT.cpp
340
341tstRand_SOURCES = tstRand.cpp
342
343tstR0ThreadPreemption_TEMPLATE = VBOXR0
344tstR0ThreadPreemption_INST = $(INST_TESTCASE)
345tstR0ThreadPreemption_DEFS = IN_RT_R0
346tstR0ThreadPreemption_SYSSUFF = .r0
347tstR0ThreadPreemption_SOURCES = tstR0ThreadPreemption.cpp
348tstR0ThreadPreemption_LIBS = $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
349if1of ($(VBOX_LDR_FMT), pe lx)
350 tstR0ThreadPreemption_LIBS += $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB)
351endif
352
353tstR0ThreadPreemptionDriver_SOURCES = tstR0ThreadPreemptionDriver.cpp
354
355tstRTFsQueries_SOURCES = tstRTFsQueries.cpp
356
357tstRTProcWait_SOURCES = tstRTProcWait.cpp
358
359tstRTProcIsRunningByName_SOURCES = tstRTProcIsRunningByName.cpp
360
361tstRTS3_SOURCES = tstRTS3.cpp
362
363tstSemMutex_SOURCES = tstSemMutex.cpp
364
365tstSemEvent_SOURCES = tstSemEvent.cpp
366
367tstSemRW_SOURCES = tstSemRW.cpp
368
369tstSemPingPong_SOURCES = tstSemPingPong.cpp
370
371tstSems_SOURCES = tstSems.cpp
372
373tstRTStrCache_TEMPLATE = VBOXR3TSTEXE
374tstRTStrCache_SOURCES = tstRTStrCache.cpp
375
376tstRTStrFormat_SOURCES = tstRTStrFormat.cpp
377
378tstStrSimplePattern_SOURCES = tstStrSimplePattern.cpp
379
380tstStrToNum_SOURCES = tstStrToNum.cpp
381
382tstRTStrVersion_TEMPLATE = VBOXR3TSTEXE
383tstRTStrVersion_SOURCES = tstRTStrVersion.cpp
384
385tstSystemQueryOsInfo_SOURCES = tstSystemQueryOsInfo.cpp
386
387tstRTTemp_TEMPLATE = VBOXR3TSTEXE
388tstRTTemp_SOURCES = tstRTTemp.cpp
389
390tstTermCallbacks_SOURCES = tstTermCallbacks.cpp
391
392tstThread-1_SOURCES = tstThread-1.cpp
393
394tstTime_SOURCES = tstTime.cpp
395
396tstTime-2_SOURCES = tstTime-2.cpp
397
398tstTime-3_SOURCES = tstTime-3.cpp
399
400tstTime-4_SOURCES = tstTime-4.cpp
401
402tstTimer_SOURCES = tstTimer.cpp
403
404tstTimerLR_SOURCES = tstTimerLR.cpp
405
406tstTimeSpec_SOURCES = tstTimeSpec.cpp
407
408tstTSC_SOURCES = tstTSC.cpp
409tstTSC_CXXFLAGS.linux += -O3
410
411tstUuid_SOURCES = tstUuid.cpp
412
413tstUtf8_SOURCES = tstUtf8.cpp
414
415
416#
417# odds and ends
418#
419
420tstDarwinSched_SOURCES = tstDarwinSched.cpp
421
422ntGetTimerResolution_SOURCES = ntGetTimerResolution.cpp
423ntGetTimerResolution_SDKS.win = WINPSDK W2K3DDK VBOX_NTDLL
424
425endif # VBOX_WITH_TESTCASES
426
427include $(KBUILD_PATH)/subfooter.kmk
428
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