VirtualBox

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

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

Runtime/testcase: simple event semaphore testcase, including timeout case

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