VirtualBox

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

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

IPRT: RTFILE_O_APPEND.

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