VirtualBox

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

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

Makefiles: Corrected properties.

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