VirtualBox

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

Last change on this file since 10694 was 10419, checked in by vboxsync, 17 years ago

Linux implementation of the RTMp* bits we current need in ring-3.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 6.8 KB
Line 
1# $Id: Makefile.kmk 10419 2008-07-09 13:46:17Z 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
31ifdef VBOX_KBUILD_HACKING
32SUB_DEPTH = ../../../..
33else
34SUB_DEPTH = ..
35DEPTH ?= ../../../..
36endif
37include $(KBUILD_PATH)/subheader.kmk
38
39ifdef VBOX_WITH_TESTCASES
40
41#
42# Globals
43#
44# WARNING: Careful with this wrt to the other sub-makefiles this joins.
45#
46TEMPLATE = VBOXR3TSTEXE
47
48
49#
50# Target lists
51#
52PROGRAMS += \
53 tstAvl \
54 tstBitOperations \
55 tstCidr \
56 tstCritSect \
57 tstDeadlock \
58 tstDir \
59 tstDir-2 \
60 tstEnv \
61 tstErrUnique \
62 tstFile \
63 tstFileLock \
64 tstGetOpt \
65 tstHeapSimple \
66 tstInlineAsm \
67 tstLdr \
68 tstLdr-2 \
69 tstLdr-3 \
70 tstLdr-4 \
71 tstLdrLoad \
72 tstLog \
73 tstMove \
74 tstMp-1 \
75 tstNoCrt-1 \
76 tstPath \
77 tstPrfRT \
78 tstRTFsQueries \
79 tstStrFormat \
80 tstStrToNum \
81 tstTime \
82 tstTime-2 \
83 tstTime-3 \
84 tstTime-4 \
85 tstTimer \
86 tstTimeSpec \
87 tstTSC \
88 tstUtf8 \
89 tstUuid
90# tstSems
91PROGRAMS.win += \
92 tstRTProcWait \
93 tstCritSectW32 \
94 tstFileAppendWin-1 \
95 ntGetTimerResolution
96PROGRAMS.linux += \
97 tstRTProcWait \
98 tstBitOperationsPIC3 \
99 tstInlineAsmPIC \
100 tstInlineAsmPIC3 \
101 tstSemMutex
102PROGRAMS.l4 += \
103 tstIoCtl
104SYSMODS += \
105 tstLdrObj \
106 tstLdrObjR0
107if1of ($(VBOX_LDR_FMT)), lx pe)
108LIBRARIES += \
109 tstLdr-4Imp
110endif
111
112
113
114#
115# Target configs in almost alphabetical order.
116#
117
118tstAvl_SOURCES = tstAvl.cpp
119
120tstBitOperations_TEMPLATE = VBOXR3TSTEXE
121tstBitOperations_SOURCES = tstBitOperations.cpp
122
123tstBitOperationsPIC3_SOURCES = tstBitOperations.cpp
124tstBitOperationsPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
125tstBitOperationsPIC3_DEFS = PIC
126
127tstCidr_SOURCES = tstCidr.cpp
128
129tstCritSect_SOURCES = tstCritSect.cpp
130
131tstCritSectW32_SOURCES = tstCritSect.cpp
132tstCritSectW32_DEFS = TRY_WIN32_CRIT
133
134tstDeadlock_SOURCES = tstDeadlock.cpp
135
136tstDir_SOURCES = tstDir.cpp
137
138tstDir-2_SOURCES = tstDir-2.cpp
139
140tstEnv_SOURCES = tstEnv.cpp
141
142# Note: tstErrUnique.cpp depends on a header generated by the makefile above us.
143tstErrUnique_SOURCES = tstErrUnique.cpp
144tstErrUnique_INCS = $(PATH_TARGET)/
145tstErrUnique.cpp_DEPS = $(PATH_TARGET)/errmsgdata.h
146
147tstFile_SOURCES = tstFile.cpp
148
149tstFileAppendWin-1_SOURCES = tstFileAppendWin-1.cpp
150
151tstFileLock_SOURCES = tstFileLock.cpp
152
153tstGetOpt_SOURCES = tstGetOpt.cpp
154
155tstHeapSimple_SOURCES = tstHeapSimple.cpp
156
157tstIoCtl_SOURCES = tstIoCtl.cpp
158
159tstInlineAsm_SOURCES = tstInlineAsm.cpp
160
161tstInlineAsmPIC_SOURCES = tstInlineAsm.cpp
162tstInlineAsmPIC_CXXFLAGS = -fPIC
163tstInlineAsmPIC_DEFS = PIC
164
165tstInlineAsmPIC3_SOURCES = tstInlineAsm.cpp
166tstInlineAsmPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
167tstInlineAsmPIC3_DEFS = PIC
168
169tstLdr_SOURCES = tstLdr.cpp
170
171tstLdr-2_SOURCES = tstLdr-2.cpp
172tstLdr-2_DEFS = IN_DIS_R3
173tstLdr-2_LIBS = \
174 $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
175
176tstLdrObj_TEMPLATE = VBOXGC
177tstLdrObj_INST = $(INST_TESTCASE)
178tstLdrObj_SYSSUFF = .gc
179tstLdrObj_SOURCES = tstLdrObj.cpp
180tstLdrObj_DEFS = IN_DIS_GC IN_RT_GC DIS_CORE_ONLY
181ifeq ($(VBOX_LDR_FMT32),elf)
182tstLdrObj_DEFS += VBOX_SOME_IMPORT_FUNCTION
183endif
184tstLdrObj_LIBS = \
185 $(PATH_LIB)/DisasmGC$(VBOX_SUFF_LIB) \
186 $(PATH_LIB)/RuntimeGC$(VBOX_SUFF_LIB)
187ifeq ($(VBOX_LDR_FMT32),pe)
188tstLdrObj_LDFLAGS = -Entry:Entrypoint
189tstLdrObj_LIBS += \
190 $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
191endif # PE
192ifeq ($(VBOX_LDR_FMT32),elf)
193tstLdrObj_LDFLAGS = -e Entrypoint
194endif
195ifeq ($(VBOX_LDR_FMT32),lx)
196tstLdrObj_LIBS += \
197 $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
198endif
199
200tstLdr-3_SOURCES = tstLdr-3.cpp
201tstLdr-3_DEFS = IN_DIS_R3
202tstLdr-3_LIBS = \
203 $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
204
205tstLdr-4Imp_TEMPLATE = VBOXR0
206ifeq ($(VBOX_LDR_FMT),lx)
207 tstLdr-4Imp_SOURCES = tstLdr-4Imp-os2.def
208else ifeq ($(VBOX_LDR_FMT),pe)
209 tstLdr-4Imp_SOURCES.win = tstLdr-4Imp-win.def
210endif
211
212tstLdrObjR0_TEMPLATE = VBOXR0
213tstLdrObjR0_INST = $(INST_TESTCASE)
214tstLdrObjR0_SYSSUFF = .r0
215tstLdrObjR0_SOURCES = tstLdrObjR0.cpp tstLdrDisasmTest.cpp
216tstLdrObjR0_DEFS = IN_DIS_R0 IN_RT_R0 DIS_CORE_ONLY
217ifeq ($(VBOX_LDR_FMT32),elf)
218 tstLdrObjR0_DEFS += VBOX_SOME_IMPORT_FUNCTION
219endif
220tstLdrObjR0_LIBS = \
221 $(PATH_LIB)/DisasmR0$(VBOX_SUFF_LIB) \
222 $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
223ifeq ($(VBOX_LDR_FMT),pe)
224 tstLdrObjR0_LDFLAGS = -Entry:Entrypoint
225 tstLdrObjR0_LIBS += \
226 $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB) \
227 $(TARGET_tstLdr-4Imp)
228endif
229ifeq ($(VBOX_LDR_FMT),elf)
230 tstLdrObjR0_LDFLAGS = -e Entrypoint
231endif
232ifeq ($(VBOX_LDR_FMT),lx)
233 tstLdrObjR0_LIBS += \
234 $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB) \
235 $(TARGET_tstLdr-4Imp)
236endif
237
238tstLdr-4_SOURCES = tstLdr-4.cpp tstLdrDisasmTest.cpp
239tstLdr-4_DEFS = IN_DIS_R3
240tstLdr-4_LIBS = \
241 $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
242
243tstLdrLoad_SOURCES = tstLdrLoad.cpp
244
245tstLog_SOURCES = tstLog.cpp
246
247tstMove_SOURCES = tstMove.cpp
248
249tstMp-1_SOURCES = tstMp-1.cpp
250
251tstNoCrt-1_DEFS = RT_WITHOUT_NOCRT_WRAPPER_ALIASES
252tstNoCrt-1_SOURCES = \
253 tstNoCrt-1.cpp \
254 ../common/string/memcpy.asm \
255 ../common/string/mempcpy.asm \
256 ../common/string/memmove.asm \
257 ../common/string/memset.asm \
258 ../common/string/memchr.asm \
259 ../common/string/memcmp.asm \
260 ../common/string/strchr.asm \
261 ../common/string/strcmp.asm \
262 ../common/string/strlen.asm
263
264tstPath_SOURCES = tstPath.cpp
265
266tstPrfRT_SOURCES = tstPrfRT.cpp
267
268tstRTFsQueries_SOURCES = tstRTFsQueries.cpp
269
270tstRTProcWait_SOURCES = tstRTProcWait.cpp
271
272tstSemMutex_SOURCES = tstSemMutex.cpp
273
274tstSems_SOURCES = tstSems.cpp
275
276tstStrFormat_SOURCES = tstStrFormat.cpp
277
278tstStrToNum_SOURCES = tstStrToNum.cpp
279
280tstTime_SOURCES = tstTime.cpp
281
282tstTime-2_SOURCES = tstTime-2.cpp
283
284tstTime-3_SOURCES = tstTime-3.cpp
285
286tstTime-4_SOURCES = tstTime-4.cpp
287
288tstTimer_SOURCES = tstTimer.cpp
289
290tstTimeSpec_SOURCES = tstTimeSpec.cpp
291
292tstTSC_SOURCES = tstTSC.cpp
293tstTSC_CXXFLAGS.linux += -O3
294
295tstUuid_SOURCES = tstUuid.cpp
296
297tstUtf8_SOURCES = tstUtf8.cpp
298
299ntGetTimerResolution_SOURCES = ntGetTimerResolution.cpp
300ntGetTimerResolution_SDKS.win = WINPSDK W2K3DDK VBOX_NTDLL
301
302endif # VBOX_WITH_TESTCASES
303
304include $(KBUILD_PATH)/subfooter.kmk
305
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