VirtualBox

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

Last change on this file since 94130 was 93419, checked in by vboxsync, 3 years ago

*.kmk: Introducing VBOX_WITH_R0_MODULES and VBOX_WITH_HWVIRT for helping with bugref:9898 and bugref:9044 (apple stuff at least).

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 26.2 KB
Line 
1# $Id: Makefile.kmk 93419 2022-01-24 18:13:22Z vboxsync $
2## @file
3# Sub-Makefile for the IPRT testcases.
4#
5
6#
7# Copyright (C) 2006-2022 Oracle Corporation
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
27SUB_DEPTH = ../../../..
28include $(KBUILD_PATH)/subheader.kmk
29
30ifdef VBOX_WITH_TESTCASES
31
32#
33# Globals
34#
35# WARNING: Careful with this wrt to the other sub-makefiles this joins.
36#
37TEMPLATE = VBOXR3TSTEXE
38
39# Defined by the parent makefile as well (for errmsgdata.h).
40IPRT_OUT_DIR ?= $(PATH_TARGET)/Runtime
41
42
43#
44# Target lists
45#
46PROGRAMS += \
47 tstRTAssertCompile \
48 tstRTAvl \
49 tstRTBase64 \
50 tstRTBitOperations \
51 tstRTBigNum \
52 tstRTCidr \
53 tstRTCritSect \
54 tstRTCritSectRw \
55 tstRTCrPkix-1 \
56 tstRTCrX509-1 \
57 tstRTCType \
58 tstRTDigest \
59 tstRTDigest-2 \
60 tstDir \
61 tstDir-2 \
62 tstDir-3 \
63 tstRTDvm \
64 tstRTEnv \
65 tstRTErr-1 \
66 tstFile \
67 tstRTFileAio \
68 tstRTFileAppend-1 \
69 tstRTFileQuerySize-1 \
70 tstRTFileModeStringToFlags \
71 tstFileLock \
72 tstRTFileOpenEx-1 \
73 tstFork \
74 tstRTFsQueries \
75 tstRTFilesystem \
76 tstRTExprEval\
77 tstRTGetOpt \
78 tstRTGetOptArgv \
79 tstHandleTable \
80 tstRTHeapOffset \
81 tstRTHeapSimple \
82 tstRTInlineAsm \
83 tstIprtList \
84 tstIprtMiniString \
85 tstLdr \
86 tstLdrLoad \
87 tstRTLocalIpc \
88 tstRTLdrVerifyPeImage \
89 tstRTList \
90 tstRTLockValidator \
91 tstLog \
92 tstRTMath \
93 tstRTMemEf \
94 tstRTMemCache \
95 tstRTMemPool \
96 tstRTMemWipe \
97 tstRTMemSafer \
98 tstMove \
99 tstRTMp-1 \
100 tstRTNetIPv4 \
101 tstRTNetIPv6 \
102 tstOnce \
103 tstRTPath \
104 tstRTPathGlob \
105 tstRTPathQueryInfo \
106 tstRTPipe \
107 tstRTPoll \
108 tstRTPrfIO \
109 tstRTProcCreateEx \
110 tstRTProcCreatePrf \
111 tstRTProcQueryUsername \
112 tstPrfRT \
113 tstRand \
114 tstRTReqPool \
115 tstRTSemEvent \
116 tstRTSemEventMulti \
117 tstSemMutex \
118 tstSemPingPong \
119 tstRTSemRW \
120 tstRTSemXRoads \
121 tstRTSort \
122 tstRTStrAlloc \
123 tstRTStrCache \
124 tstRTStrCatCopy \
125 tstRTStrFormat \
126 tstRTStrSplit \
127 tstRTStrSimplePattern \
128 tstStrToNum \
129 tstRTStrVersion \
130 tstRTSymlink \
131 tstRTSystemQueryDmi \
132 tstRTSystemQueryFirmware \
133 tstRTSystemQueryOsInfo \
134 tstRTTcp-1 \
135 tstRTTemp \
136 tstRTDirCreateUniqueNumbered \
137 tstTermCallbacks \
138 tstThread-1 \
139 tstRTThreadPoke \
140 tstRTThreadExecutionTime \
141 tstRTTime \
142 tstTime-2 \
143 tstTime-3 \
144 tstTime-4 \
145 tstTimer \
146 tstRTTimerLR \
147 tstRTTimeSpec \
148 tstRTTls-1 \
149 tstRTTraceLog \
150 tstRTUdp-1 \
151 tstUtf8 \
152 tstRTUuid \
153 tstRTCircBuf \
154 tstRTManifest \
155 tstRTUri \
156 tstVector \
157 tstRTVfs \
158 tstRTZip \
159 tstRTJson \
160 tstRTShMem
161
162PROGRAMS.win += \
163 tstRTCritSectW32 \
164 tstRTProcWait \
165 tstFileAppendWin-1 \
166 tstRTNtPath-1 \
167 ntGetTimerResolution \
168 tstRTDarwinMachKernel
169
170PROGRAMS.linux += \
171 tstRTProcWait \
172 tstRTProcIsRunningByName \
173 tstRTBitOperationsPIC3 \
174 tstRTInlineAsmPIC \
175 tstRTInlineAsmPIC3
176PROGRAMS.solaris += \
177 tstRTCoreDump
178PROGRAMS.darwin += \
179 tstDarwinSched \
180 tstRTDarwinMachKernel
181ifdef VBOX_WITH_LIBCURL
182 PROGRAMS += \
183 tstRTHttp-1 \
184 tstRTCRest-1 \
185 tstRTS3
186endif
187ifdef VBOX_WITH_R0_MODULES
188 PROGRAMS += \
189 tstLdr-2 \
190 tstLdr-3 \
191 tstLdr-4 \
192 tstNoCrt-1 \
193 tstTSC
194 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
195 PROGRAMS += \
196 tstRTR0MemUserKernelDriverHardened \
197 tstRTR0SemMutexDriverHardened \
198 tstRTR0TimerDriverHardened \
199 tstRTR0ThreadPreemptionDriverHardened \
200 tstRTR0ThreadDriverHardened
201 DLLS += \
202 tstRTR0MemUserKernelDriver \
203 tstRTR0SemMutexDriver \
204 tstRTR0TimerDriver \
205 tstRTR0ThreadPreemptionDriver \
206 tstRTR0ThreadDriver
207 else
208 PROGRAMS += \
209 tstRTR0MemUserKernelDriver \
210 tstRTR0SemMutexDriver \
211 tstRTR0TimerDriver \
212 tstRTR0ThreadPreemptionDriver \
213 tstRTR0ThreadDriver
214 endif
215 if1of ($(KBUILD_TARGET_ARCH), $(VBOX_SUPPORTED_HOST_ARCHS))
216 $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += \
217 tstLdrObjR0
218 ifdef VBOX_WITH_RAW_MODE
219 SYSMODS += tstLdrObj
220 endif
221 endif
222 $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += \
223 tstRTR0MemUserKernel \
224 tstRTR0SemMutex \
225 tstRTR0Timer \
226 tstRTR0ThreadPreemption \
227 tstRTR0Thread
228 if1of ($(KBUILD_TARGET), solaris darwin)
229 PROGRAMS += tstRTR0DbgKrnlInfoDriver
230 $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += tstRTR0DbgKrnlInfo
231 endif # VBOX_SUPPORTED_HOST_ARCHS only
232
233endif
234if1of ($(VBOX_LDR_FMT)), lx pe)
235 LIBRARIES += \
236 tstLdr-4Imp
237endif
238
239
240#
241# Target configs in almost alphabetical order.
242#
243
244tstRTAssertCompile_TEMPLATE = VBOXR3TSTEXE
245tstRTAssertCompile_INSTTYPE = none
246tstRTAssertCompile_SOURCES = tstRTAssertCompile.cpp
247
248tstRTAvl_TEMPLATE = VBOXR3TSTEXE
249tstRTAvl_SOURCES = tstRTAvl.cpp
250
251tstRTBase64_TEMPLATE = VBOXR3TSTEXE
252tstRTBase64_SOURCES = tstRTBase64.cpp
253
254tstRTBigNum_TEMPLATE = VBOXR3TSTEXE
255tstRTBigNum_SOURCES = tstRTBigNum.cpp
256tstRTBigNum_SDKS = VBOX_OPENSSL2
257tstRTBigNum_CXXFLAGS.win = -bigobj
258
259tstRTBitOperations_TEMPLATE = VBOXR3TSTEXE
260tstRTBitOperations_SOURCES = tstRTBitOperations.cpp
261
262tstRTBitOperationsPIC3_TEMPLATE = VBOXR3TSTEXE
263tstRTBitOperationsPIC3_SOURCES = tstRTBitOperations.cpp
264tstRTBitOperationsPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
265tstRTBitOperationsPIC3_DEFS = PIC
266
267tstRTCidr_TEMPLATE = VBOXR3TSTEXE
268tstRTCidr_SOURCES = tstRTCidr.cpp
269
270tstRTCritSect_TEMPLATE = VBOXR3TSTEXE
271tstRTCritSect_SOURCES = tstRTCritSect.cpp
272
273tstRTCritSectRw_TEMPLATE = VBOXR3TSTEXE
274tstRTCritSectRw_SOURCES = tstRTCritSectRw.cpp
275
276tstRTCritSectW32_TEMPLATE = VBOXR3TSTEXE
277tstRTCritSectW32_SOURCES = tstRTCritSect.cpp
278tstRTCritSectW32_DEFS = TRY_WIN32_CRIT
279
280tstRTCrPkix-1_TEMPLATE = VBOXR3TSTEXE
281tstRTCrPkix-1_SOURCES = tstRTCrPkix-1.cpp
282
283tstRTCrX509-1_TEMPLATE = VBOXR3TSTEXE
284tstRTCrX509-1_SOURCES = tstRTCrX509-1.cpp
285tstRTCrX509-1_INCS = $(tstRTCrX509-1_0_OUTDIR)
286tstRTCrX509-1_CLEAN = $(tstRTCrX509-1_0_OUTDIR)/tstRTCrX509-1.h
287tstRTCrX509-1_INTERMEDIATES = $(tstRTCrX509-1_0_OUTDIR)/tstRTCrX509-1.h
288tstRTCrX509-1_VBOX_FILES := \
289 Pem_md4=$(PATH_SUB_CURRENT)/tstRTCrX509-md4.pem \
290 Pem_md5=$(PATH_SUB_CURRENT)/tstRTCrX509-md5.pem \
291 Pem_sha1=$(PATH_SUB_CURRENT)/tstRTCrX509-sha1.pem \
292 Pem_sha224=$(PATH_SUB_CURRENT)/tstRTCrX509-sha224.pem \
293 Pem_sha256=$(PATH_SUB_CURRENT)/tstRTCrX509-sha256.pem \
294 Pem_sha384=$(PATH_SUB_CURRENT)/tstRTCrX509-sha384.pem \
295 Pem_sha512=$(PATH_SUB_CURRENT)/tstRTCrX509-sha512.pem \
296 Pem_cert1=$(PATH_SUB_CURRENT)/tstRTCrX509-cert1.pem \
297 \
298 Der_md4=$(PATH_SUB_CURRENT)/tstRTCrX509-md4-cert.der \
299 Der_md5=$(PATH_SUB_CURRENT)/tstRTCrX509-md5-cert.der \
300 Der_sha1=$(PATH_SUB_CURRENT)/tstRTCrX509-sha1-cert.der \
301 Der_sha224=$(PATH_SUB_CURRENT)/tstRTCrX509-sha224-cert.der \
302 Der_sha256=$(PATH_SUB_CURRENT)/tstRTCrX509-sha256-cert.der \
303 Der_sha384=$(PATH_SUB_CURRENT)/tstRTCrX509-sha384-cert.der \
304 Der_sha512=$(PATH_SUB_CURRENT)/tstRTCrX509-sha512-cert.der \
305 Der_cert1=$(PATH_SUB_CURRENT)/tstRTCrX509-cert1.der \
306 $(NO_SUCH_VARIABLE)
307$$(tstRTCrX509-1_0_OUTDIR)/tstRTCrX509-1.h: \
308 $(foreach file,$(tstRTCrX509-1_VBOX_FILES),$(lastword $(subst =,$(SP) ,$(file)))) \
309 $(VBOX_BIN2C) \
310 | $$(dir $$@)
311 $(RM) -f -- "$@"
312 $(foreach file,$(tstRTCrX509-1_VBOX_FILES) \
313 , $(NLTAB)$(VBOX_BIN2C) -ascii --append \
314 "$(firstword $(subst =,$(SP) ,$(file)))" \
315 "$(lastword $(subst =,$(SP) ,$(file)))" \
316 "$@")
317
318
319tstRTCType_TEMPLATE = VBOXR3TSTEXE
320tstRTCType_SOURCES = tstRTCType.cpp
321
322ifdef VBOX_WITH_LIBCURL
323 tstRTCRest-1_TEMPLATE = VBOXR3TSTEXE
324 tstRTCRest-1_SOURCES = tstRTCRest-1.cpp
325endif
326
327tstRTDigest_TEMPLATE = VBOXR3TSTEXE
328tstRTDigest_SOURCES = tstRTDigest.cpp
329
330tstRTDigest-2_TEMPLATE = VBOXR3TSTEXE
331ifndef VBOX_WITH_ALT_HASH_CODE
332 tstRTDigest-2_DEFS = IPRT_WITHOUT_SHA512T224 IPRT_WITHOUT_SHA512T256
333endif
334tstRTDigest-2_SOURCES = tstRTDigest-2.cpp
335
336ifdef VBOX_WITH_LIBCURL
337tstRTHttp-1_TEMPLATE = VBOXR3TSTEXE
338tstRTHttp-1_SOURCES = tstRTHttp-1.cpp
339tstRTHttp-1_SDKS = VBOX_LIBCURL
340endif
341
342tstDir_TEMPLATE = VBOXR3TSTEXE
343tstDir_SOURCES = tstDir.cpp
344
345tstDir-2_TEMPLATE = VBOXR3TSTEXE
346tstDir-2_SOURCES = tstDir-2.cpp
347
348tstDir-3_TEMPLATE = VBOXR3TSTEXE
349tstDir-3_SOURCES = tstDir-3.cpp
350
351tstRTDvm_TEMPLATE = VBOXR3TSTEXE
352tstRTDvm_SOURCES = tstRTDvm.cpp
353
354tstRTEnv_TEMPLATE = VBOXR3TSTEXE
355tstRTEnv_SOURCES = tstRTEnv.cpp
356
357tstRTErr-1_TEMPLATE = VBOXR3TSTEXE
358tstRTErr-1_SOURCES = tstRTErr-1.cpp
359
360tstFile_TEMPLATE = VBOXR3TSTEXE
361tstFile_SOURCES = tstFile.cpp
362
363tstRTFileAio_SOURCES = VBOXR3TSTEXE
364tstRTFileAio_SOURCES = tstRTFileAio.cpp
365
366tstRTFileAppend-1_TEMPLATE = VBOXR3TSTEXE
367tstRTFileAppend-1_SOURCES = tstRTFileAppend-1.cpp
368
369tstRTFileQuerySize-1_TEMPLATE = VBOXR3TSTEXE
370tstRTFileQuerySize-1_SOURCES = tstRTFileQuerySize-1.cpp
371
372tstRTFileModeStringToFlags_TEMPLATE = VBOXR3TSTEXE
373tstRTFileModeStringToFlags_SOURCES = tstRTFileModeStringToFlags.cpp
374
375tstRTFileOpenEx-1_TEMPLATE = VBOXR3TSTEXE
376tstRTFileOpenEx-1_SOURCES = tstRTFileOpenEx-1.cpp
377
378tstFileAppendWin-1_TEMPLATE = VBOXR3TSTEXE
379tstFileAppendWin-1_SOURCES = tstFileAppendWin-1.cpp
380
381tstFileLock_TEMPLATE = VBOXR3TSTEXE
382tstFileLock_SOURCES = tstFileLock.cpp
383
384tstFork_TEMPLATE = VBOXR3TSTEXE
385tstFork_SOURCES = tstFork.cpp
386
387tstRTFsQueries_TEMPLATE = VBOXR3TSTEXE
388tstRTFsQueries_SOURCES = tstRTFsQueries.cpp
389
390tstRTFilesystem_TEMPLATE = VBOXR3TSTEXE
391tstRTFilesystem_SOURCES = tstRTFilesystem.cpp
392
393tstRTExprEval_TEMPLATE = VBOXR3TSTEXE
394tstRTExprEval_SOURCES = tstRTExprEval.cpp
395
396tstRTGetOpt_TEMPLATE = VBOXR3TSTEXE
397tstRTGetOpt_SOURCES = tstRTGetOpt.cpp
398
399tstRTGetOptArgv_TEMPLATE = VBOXR3TSTEXE
400tstRTGetOptArgv_SOURCES = tstRTGetOptArgv.cpp
401
402tstHandleTable_SOURCES = tstHandleTable.cpp
403
404tstRTHeapOffset_TEMPLATE = VBOXR3TSTEXE
405tstRTHeapOffset_SOURCES = tstRTHeapOffset.cpp
406
407tstRTHeapSimple_TEMPLATE = VBOXR3TSTEXE
408tstRTHeapSimple_SOURCES = tstRTHeapSimple.cpp
409
410tstRTInlineAsm_TEMPLATE = VBOXR3TSTEXE
411tstRTInlineAsm_SOURCES = tstRTInlineAsm.cpp
412
413tstRTInlineAsmPIC_TEMPLATE = VBOXR3TSTEXE
414tstRTInlineAsmPIC_SOURCES = tstRTInlineAsm.cpp
415tstRTInlineAsmPIC_CXXFLAGS = -fPIC
416tstRTInlineAsmPIC_DEFS = PIC
417
418tstRTInlineAsmPIC3_TEMPLATE = VBOXR3TSTEXE
419tstRTInlineAsmPIC3_SOURCES = tstRTInlineAsm.cpp
420tstRTInlineAsmPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
421tstRTInlineAsmPIC3_DEFS = PIC
422
423tstIprtList_TEMPLATE = VBOXR3TSTEXE
424tstIprtList_SOURCES = tstIprtList.cpp
425
426tstIprtMiniString_TEMPLATE = VBOXR3TSTEXE
427tstIprtMiniString_SOURCES = tstIprtMiniString.cpp
428
429tstLdr_TEMPLATE = VBOXR3TSTEXE
430tstLdr_SOURCES = tstLdr.cpp
431
432tstLdr-2_TEMPLATE = VBOXR3TSTEXE
433tstLdr-2_SOURCES = tstLdr-2.cpp
434tstLdr-2_DEFS = IN_DIS
435tstLdr-2_LIBS = \
436 $(PATH_STAGE_LIB)/DisasmR3$(VBOX_SUFF_LIB)
437
438ifdef VBOX_WITH_RAW_MODE
439 tstLdrObj_TEMPLATE = VBoxRc
440 tstLdrObj_INST = $(INST_TESTCASE)
441 tstLdrObj_SYSSUFF = .gc
442 tstLdrObj_SOURCES = tstLdrObj.cpp
443 tstLdrObj_DEFS = IN_DIS IN_RT_RC DIS_CORE_ONLY
444 ifeq ($(VBOX_LDR_FMT32),elf)
445 tstLdrObj_DEFS += VBOX_SOME_IMPORT_FUNCTION
446 endif
447 tstLdrObj_LIBS = \
448 $(PATH_STAGE_LIB)/DisasmRC$(VBOX_SUFF_LIB) \
449 $(PATH_STAGE_LIB)/RuntimeRC$(VBOX_SUFF_LIB)
450 if1of ($(VBOX_LDR_FMT32),lx pe)
451 tstLdrObj_LIBS += \
452 $(PATH_STAGE_LIB)/VMMRCBuiltin$(VBOX_SUFF_LIB) \
453 $(PATH_STAGE_LIB)/VMMRCImp$(VBOX_SUFF_LIB)
454 endif
455endif # VBOX_WITH_RAW_MODE
456
457tstLdr-3_TEMPLATE = VBOXR3TSTEXE
458tstLdr-3_SOURCES = tstLdr-3.cpp
459tstLdr-3_DEFS = IN_DIS
460tstLdr-3_LIBS = \
461 $(PATH_STAGE_LIB)/DisasmR3$(VBOX_SUFF_LIB)
462
463tstLdr-4Imp_TEMPLATE = VBoxR0
464ifeq ($(VBOX_LDR_FMT),lx)
465 tstLdr-4Imp_SOURCES = tstLdr-4Imp-os2.def
466else ifeq ($(VBOX_LDR_FMT),pe)
467 tstLdr-4Imp_SOURCES.win = tstLdr-4Imp-win.def
468endif
469
470tstLdrObjR0_TEMPLATE = VBoxR0
471tstLdrObjR0_INST = $(INST_TESTCASE)
472tstLdrObjR0_SYSSUFF = .r0
473tstLdrObjR0_SOURCES = tstLdrObjR0.cpp tstLdrDisasmTest.cpp
474tstLdrObjR0_DEFS = IN_DIS IN_RT_R0 DIS_CORE_ONLY
475ifeq ($(VBOX_LDR_FMT32),elf)
476 tstLdrObjR0_DEFS += VBOX_SOME_IMPORT_FUNCTION
477endif
478ifn1of ($(KBUILD_TARGET), win)
479 tstLdrObjR0_CXXFLAGS = $(VBOX_GCC_Wno-array_bounds)
480endif
481tstLdrObjR0_LIBS = \
482 $(PATH_STAGE_LIB)/DisasmR0$(VBOX_SUFF_LIB) \
483 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
484 $(VBOX_LIB_SUPR0)
485if1of ($(VBOX_LDR_FMT),pe lx)
486 tstLdrObjR0_LIBS += \
487 $(TARGET_tstLdr-4Imp)
488endif
489
490tstLdr-4_TEMPLATE = VBOXR3TSTEXE
491tstLdr-4_SOURCES = tstLdr-4.cpp tstLdrDisasmTest.cpp
492tstLdr-4_DEFS = IN_DIS
493tstLdr-4_LIBS = \
494 $(PATH_STAGE_LIB)/DisasmR3$(VBOX_SUFF_LIB)
495
496tstLdrLoad_TEMPLATE = VBOXR3TSTEXE
497tstLdrLoad_SOURCES = tstLdrLoad.cpp
498
499tstRTLdrVerifyPeImage_TEMPLATE = VBOXR3TSTEXE
500tstRTLdrVerifyPeImage_SOURCES = tstRTLdrVerifyPeImage.cpp
501
502tstRTList_TEMPLATE = VBOXR3TSTEXE
503tstRTList_SOURCES = tstRTList.cpp
504
505tstRTLocalIpc_TEMPLATE = VBOXR3TSTEXE
506tstRTLocalIpc_SOURCES = tstRTLocalIpc.cpp
507
508tstRTLockValidator_TEMPLATE = VBOXR3TSTEXE
509tstRTLockValidator_SOURCES = tstRTLockValidator.cpp
510
511tstLog_TEMPLATE = VBOXR3TSTEXE
512tstLog_SOURCES = tstLog.cpp
513tstLog_INCS = $(tstLog_0_OUTDIR)
514tstLog_INTERMEDIATES = $(tstLog_0_OUTDIR)/tstLogGroups.h
515tstLog_CLEAN = $(tstLog_0_OUTDIR)/tstLogGroups.h
516$$(tstLog_0_OUTDIR)/tstLogGroups.h: $(PATH_ROOT)/include/VBox/log.h
517 $(call MSG_GENERATE,,$@,$<)
518 $(QUIET)$(RM) -f -- "$@"
519 $(QUIET)$(SED) -n -e 's/^ *LOG_GROUP_\([A-Z0-9_]*\),.*$(DOLLAR)/{ LOG_GROUP_\1, "\1" },/p' --output "$@" "$<"
520
521tstRTMemEf_TEMPLATE = VBOXR3TSTEXE
522tstRTMemEf_SOURCES = tstRTMemEf.cpp
523
524tstRTMemCache_TEMPLATE = VBOXR3TSTEXE
525tstRTMemCache_SOURCES = tstRTMemCache.cpp
526
527tstRTMemPool_TEMPLATE = VBOXR3TSTEXE
528tstRTMemPool_SOURCES = tstRTMemPool.cpp
529
530tstRTMemWipe_TEMPLATE = VBOXR3TSTEXE
531tstRTMemWipe_SOURCES = tstRTMemWipe.cpp
532
533tstRTMemSafer_TEMPLATE = VBOXR3TSTEXE
534tstRTMemSafer_SOURCES = tstRTMemSafer.cpp
535
536tstMove_TEMPLATE = VBOXR3TSTEXE
537tstMove_SOURCES = tstMove.cpp
538
539tstRTMp-1_TEMPLATE = VBOXR3TSTEXE
540tstRTMp-1_SOURCES = tstRTMp-1.cpp
541
542tstRTNetIPv4_TEMPLATE = VBOXR3TSTEXE
543tstRTNetIPv4_SOURCES = tstRTNetIPv4.cpp
544
545tstRTNetIPv6_TEMPLATE = VBOXR3TSTEXE
546tstRTNetIPv6_SOURCES = tstRTNetIPv6.cpp
547
548tstNoCrt-1_TEMPLATE = VBOXR3TSTEXE
549tstNoCrt-1_DEFS = RT_WITHOUT_NOCRT_WRAPPER_ALIASES
550tstNoCrt-1_SOURCES = \
551 tstNoCrt-1.cpp \
552 ../common/string/memcpy.asm \
553 ../common/string/mempcpy.asm \
554 ../common/string/memmove.asm \
555 ../common/string/memset.asm \
556 ../common/string/memchr.asm \
557 ../common/string/memcmp.asm \
558 ../common/string/strchr.asm \
559 ../common/string/strcmp.asm \
560 ../common/string/strcpy.asm \
561 ../common/string/strlen.asm
562
563tstRTNtPath-1_TEMPLATE = VBOXR3TSTEXE
564tstRTNtPath-1_SOURCES = tstRTNtPath-1.cpp
565
566tstOnce_TEMPLATE = VBOXR3TSTEXE
567tstOnce_SOURCES = tstOnce.cpp
568
569tstRTPath_TEMPLATE = VBOXR3TSTEXE
570tstRTPath_SOURCES = tstRTPath.cpp
571
572tstRTPathFindCommon_TEMPLATE = VBOXR3TSTEXE
573tstRTPathFindCommon_SOURCES = tstRTPathFindCommon.cpp
574
575tstRTPathGlob_TEMPLATE = VBOXR3TSTEXE
576tstRTPathGlob_SOURCES = tstRTPathGlob.cpp
577
578tstRTPathQueryInfo_TEMPLATE = VBOXR3TSTEXE
579tstRTPathQueryInfo_SOURCES = tstRTPathQueryInfo.cpp
580
581tstRTPipe_TEMPLATE = VBOXR3TSTEXE
582tstRTPipe_SOURCES = tstRTPipe.cpp
583
584tstRTPoll_TEMPLATE = VBOXR3TSTEXE
585tstRTPoll_SOURCES = tstRTPoll.cpp
586
587tstPrfRT_TEMPLATE = VBOXR3TSTEXE
588tstPrfRT_SOURCES = tstPrfRT.cpp
589tstPrfRT_SOURCES.x86 = tstRTPrfA.asm
590tstPrfRT_SOURCES.amd64 = tstRTPrfA.asm
591
592tstRTPrfIO_TEMPLATE = VBOXR3TSTEXE
593tstRTPrfIO_SOURCES = tstRTPrfIO.cpp
594
595tstRTProcCreateEx_TEMPLATE = VBOXR3TSTEXE
596tstRTProcCreateEx_SOURCES = tstRTProcCreateEx.cpp
597
598tstRTProcCreatePrf_TEMPLATE = VBOXR3TSTEXE
599tstRTProcCreatePrf_SOURCES = tstRTProcCreatePrf.cpp
600
601tstRTProcQueryUsername_TEMPLATE = VBOXR3TSTEXE
602tstRTProcQueryUsername_SOURCES = tstRTProcQueryUsername.cpp
603
604tstRTProcWait_TEMPLATE = VBOXR3TSTEXE
605tstRTProcWait_SOURCES = tstRTProcWait.cpp
606
607tstRTProcIsRunningByName_TEMPLATE = VBOXR3TSTEXE
608tstRTProcIsRunningByName_SOURCES = tstRTProcIsRunningByName.cpp
609
610tstRand_TEMPLATE = VBOXR3TSTEXE
611tstRand_SOURCES = tstRand.cpp
612
613tstRTReqPool_TEMPLATE = VBOXR3TSTEXE
614tstRTReqPool_SOURCES = tstRTReqPool.cpp
615
616tstRTS3_TEMPLATE = VBOXR3TSTEXE
617tstRTS3_SOURCES = tstRTS3.cpp
618
619tstSemMutex_TEMPLATE = VBOXR3TSTEXE
620tstSemMutex_SOURCES = tstSemMutex.cpp
621
622tstRTSemEvent_TEMPLATE = VBOXR3TSTEXE
623tstRTSemEvent_SOURCES = tstRTSemEvent.cpp
624
625tstRTSemEventMulti_TEMPLATE = VBOXR3TSTEXE
626tstRTSemEventMulti_SOURCES = tstRTSemEventMulti.cpp
627
628tstRTSemRW_TEMPLATE = VBOXR3TSTEXE
629tstRTSemRW_SOURCES = tstRTSemRW.cpp
630
631tstSemPingPong_TEMPLATE = VBOXR3TSTEXE
632tstSemPingPong_SOURCES = tstSemPingPong.cpp
633
634tstRTSemXRoads_TEMPLATE = VBOXR3TSTEXE
635tstRTSemXRoads_SOURCES = tstRTSemXRoads.cpp
636
637tstRTSort_TEMPLATE = VBOXR3TSTEXE
638tstRTSort_SOURCES = tstRTSort.cpp
639
640tstRTStrAlloc_TEMPLATE = VBOXR3TSTEXE
641tstRTStrAlloc_SOURCES = tstRTStrAlloc.cpp
642
643tstRTStrCache_TEMPLATE = VBOXR3TSTEXE
644tstRTStrCache_SOURCES = tstRTStrCache.cpp
645
646tstRTStrCatCopy_TEMPLATE = VBOXR3TSTEXE
647tstRTStrCatCopy_SOURCES = tstRTStrCatCopy.cpp
648
649tstRTStrFormat_TEMPLATE = VBOXR3TSTEXE
650tstRTStrFormat_SOURCES = tstRTStrFormat.cpp
651
652tstRTStrSplit_TEMPLATE = VBOXR3TSTEXE
653tstRTStrSplit_SOURCES = tstRTStrSplit.cpp
654
655tstRTStrSimplePattern_TEMPLATE = VBOXR3TSTEXE
656tstRTStrSimplePattern_SOURCES = tstRTStrSimplePattern.cpp
657
658tstStrToNum_TEMPLATE = VBOXR3TSTEXE
659tstStrToNum_SOURCES = tstStrToNum.cpp
660
661tstRTStrVersion_TEMPLATE = VBOXR3TSTEXE
662tstRTStrVersion_SOURCES = tstRTStrVersion.cpp
663
664tstRTSymlink_TEMPLATE = VBOXR3TSTEXE
665tstRTSymlink_SOURCES = tstRTSymlink.cpp
666
667tstRTSystemQueryDmi_TEMPLATE = VBOXR3TSTEXE
668tstRTSystemQueryDmi_SOURCES = tstRTSystemQueryDmi.cpp
669
670tstRTSystemQueryFirmware_TEMPLATE = VBOXR3TSTEXE
671tstRTSystemQueryFirmware_SOURCES = tstRTSystemQueryFirmware.cpp
672
673tstRTSystemQueryOsInfo_TEMPLATE = VBOXR3TSTEXE
674tstRTSystemQueryOsInfo_SOURCES = tstRTSystemQueryOsInfo.cpp
675
676tstRTTcp-1_TEMPLATE = VBOXR3TSTEXE
677tstRTTcp-1_SOURCES = tstRTTcp-1.cpp
678
679tstRTTemp_TEMPLATE = VBOXR3TSTEXE
680tstRTTemp_SOURCES = tstRTTemp.cpp
681
682tstRTDirCreateUniqueNumbered_TEMPLATE = VBOXR3TSTEXE
683tstRTDirCreateUniqueNumbered_SOURCES = tstRTDirCreateUniqueNumbered.cpp
684
685tstTermCallbacks_TEMPLATE = VBOXR3TSTEXE
686tstTermCallbacks_SOURCES = tstTermCallbacks.cpp
687
688tstThread-1_TEMPLATE = VBOXR3TSTEXE
689tstThread-1_SOURCES = tstThread-1.cpp
690
691tstRTThreadPoke_TEMPLATE = VBOXR3TSTEXE
692tstRTThreadPoke_SOURCES = tstRTThreadPoke.cpp
693
694tstRTThreadExecutionTime_TEMPLATE = VBOXR3TSTEXE
695tstRTThreadExecutionTime_SOURCES = tstRTThreadExecutionTime.cpp
696
697tstRTTime_TEMPLATE = VBOXR3TSTEXE
698tstRTTime_SOURCES = tstRTTime.cpp
699
700tstRTTls-1_TEMPLATE = VBOXR3TSTEXE
701tstRTTls-1_SOURCES = tstRTTls-1.cpp
702
703tstRTTraceLog_TEMPLATE = VBOXR3TSTEXE
704tstRTTraceLog_SOURCES = tstRTTraceLog.cpp
705
706tstTime-2_TEMPLATE = VBOXR3TSTEXE
707tstTime-2_SOURCES = tstTime-2.cpp
708
709tstTime-3_TEMPLATE = VBOXR3TSTEXE
710tstTime-3_SOURCES = tstTime-3.cpp
711
712tstTime-4_TEMPLATE = VBOXR3TSTEXE
713tstTime-4_SOURCES = tstTime-4.cpp
714
715tstTimer_TEMPLATE = VBOXR3TSTEXE
716tstTimer_SOURCES = tstTimer.cpp
717
718tstRTTimerLR_TEMPLATE = VBOXR3TSTEXE
719tstRTTimerLR_SOURCES = tstRTTimerLR.cpp
720
721tstRTTimeSpec_TEMPLATE = VBOXR3TSTEXE
722tstRTTimeSpec_SOURCES = tstRTTimeSpec.cpp
723
724tstTSC_SOURCES = tstTSC.cpp
725tstTSC_CXXFLAGS.linux += -O3
726
727tstRTUuid_TEMPLATE = VBOXR3TSTEXE
728tstRTUuid_SOURCES = tstRTUuid.cpp
729
730tstRTUdp-1_TEMPLATE = VBOXR3TSTEXE
731tstRTUdp-1_SOURCES = tstRTUdp-1.cpp
732
733tstUtf8_TEMPLATE = VBOXR3TSTEXE
734tstUtf8_SOURCES = tstUtf8.cpp
735
736tstRTCircBuf_TEMPLATE = VBOXR3TSTEXE
737tstRTCircBuf_SOURCES = tstRTCircBuf.cpp
738
739tstRTManifest_TEMPLATE = VBOXR3TSTEXE
740tstRTManifest_SOURCES = tstRTManifest.cpp
741
742tstRTMath_TEMPLATE = VBOXR3TSTEXE
743tstRTMath_SOURCES = \
744 tstRTMath.cpp \
745 ../common/math/gcc/udivmoddi4.c
746
747tstRTUri_TEMPLATE = VBOXR3TSTEXE
748tstRTUri_SOURCES = tstRTUri.cpp
749
750tstRTVfs_TEMPLATE = VBOXR3TSTEXE
751tstRTVfs_SOURCES = tstRTVfs.cpp
752
753tstRTCoreDump_TEMPLACE = VBOXR3TSTEXE
754tstRTCoreDump_SOURCES = tstRTCoreDump.cpp
755
756tstVector_TEMPLATE = VBOXR3TSTEXE
757tstVector_SOURCES = tstVector.cpp
758
759
760tstRTZip_TEMPLATE = VBOXR3TSTEXE
761tstRTZip_SOURCES = tstRTZip.cpp
762
763tstRTJson_TEMPLATE = VBOXR3TSTEXE
764tstRTJson_SOURCES = tstRTJson.cpp
765
766tstRTShMem_TEMPLATE = VBOXR3TSTEXE
767tstRTShMem_SOURCES = tstRTShMem.cpp
768
769#
770# Ring-0 testcases.
771#
772
773## @todo create a template for compiling the ring-0 part.
774tstRTR0DbgKrnlInfo_TEMPLATE = VBoxR0
775tstRTR0DbgKrnlInfo_INST = $(INST_TESTCASE)
776tstRTR0DbgKrnlInfo_DEFS = IN_RT_R0
777tstRTR0DbgKrnlInfo_SYSSUFF = .r0
778tstRTR0DbgKrnlInfo_SOURCES = tstRTR0DbgKrnlInfo.cpp
779tstRTR0DbgKrnlInfo_LIBS = \
780 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
781 $(VBOX_LIB_SUPR0)
782if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
783 tstRTR0DbgKrnlInfoDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
784 tstRTR0DbgKrnlInfoDriverHardened_NAME = tstRTR0DbgKrnlInfoDriver
785 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
786 tstRTR0DbgKrnlInfoDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0DbgKrnlInfoDriver"
787 else
788 tstRTR0DbgKrnlInfoDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0DbgKrnlInfoDriver\"
789 endif
790 tstRTR0DbgKrnlInfoDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
791 tstRTR0DbgKrnlInfoDriver_TEMPLATE = VBoxR3HardenedTstDll
792else
793 tstRTR0DbgKrnlInfoDriver_TEMPLATE = VBOXR3TSTEXE
794endif
795tstRTR0DbgKrnlInfoDriver_TEMPLATE = VBOXR3TSTEXE
796tstRTR0DbgKrnlInfoDriver_SOURCES = tstRTR0DbgKrnlInfoDriver.cpp
797
798
799tstRTR0MemUserKernel_TEMPLATE = VBoxR0
800tstRTR0MemUserKernel_INST = $(INST_TESTCASE)
801tstRTR0MemUserKernel_DEFS = IN_RT_R0
802tstRTR0MemUserKernel_SYSSUFF = .r0
803tstRTR0MemUserKernel_SOURCES = tstRTR0MemUserKernel.cpp
804tstRTR0MemUserKernel_LIBS = \
805 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
806 $(VBOX_LIB_SUPR0)
807if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
808 tstRTR0MemUserKernelDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
809 tstRTR0MemUserKernelDriverHardened_NAME = tstRTR0MemUserKernelDriver
810 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
811 tstRTR0MemUserKernelDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0MemUserKernelDriver"
812 else
813 tstRTR0MemUserKernelDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0MemUserKernelDriver\"
814 endif
815 tstRTR0MemUserKernelDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
816 tstRTR0MemUserKernelDriver_TEMPLATE = VBoxR3HardenedTstDll
817else
818 tstRTR0MemUserKernelDriver_TEMPLATE = VBOXR3TSTEXE
819endif
820tstRTR0MemUserKernelDriver_SOURCES = tstRTR0MemUserKernelDriver.cpp
821
822
823tstRTR0SemMutex_TEMPLATE = VBoxR0
824tstRTR0SemMutex_INST = $(INST_TESTCASE)
825tstRTR0SemMutex_DEFS = IN_RT_R0
826tstRTR0SemMutex_SYSSUFF = .r0
827tstRTR0SemMutex_SOURCES = tstRTR0SemMutex.cpp
828tstRTR0SemMutex_LIBS = \
829 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
830 $(VBOX_LIB_SUPR0)
831if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
832 tstRTR0SemMutexDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
833 tstRTR0SemMutexDriverHardened_NAME = tstRTR0SemMutexDriver
834 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
835 tstRTR0SemMutexDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0SemMutexDriver"
836 else
837 tstRTR0SemMutexDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0SemMutexDriver\"
838 endif
839 tstRTR0SemMutexDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
840 tstRTR0SemMutexDriver_TEMPLATE = VBoxR3HardenedTstDll
841else
842 tstRTR0SemMutexDriver_TEMPLATE = VBOXR3TSTEXE
843endif
844tstRTR0SemMutexDriver_SOURCES = tstRTR0SemMutexDriver.cpp
845
846
847tstRTR0Thread_TEMPLATE = VBoxR0
848tstRTR0Thread_INST = $(INST_TESTCASE)
849tstRTR0Thread_DEFS = IN_RT_R0
850tstRTR0Thread_SYSSUFF = .r0
851tstRTR0Thread_SOURCES = tstRTR0Thread.cpp
852tstRTR0Thread_LIBS = \
853 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
854 $(VBOX_LIB_SUPR0)
855if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
856 tstRTR0ThreadDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
857 tstRTR0ThreadDriverHardened_NAME = tstRTR0ThreadDriver
858 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
859 tstRTR0ThreadDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0ThreadDriver"
860 else
861 tstRTR0ThreadDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0ThreadDriver\"
862 endif
863 tstRTR0ThreadDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
864 tstRTR0ThreadDriver_TEMPLATE = VBoxR3HardenedTstDll
865else
866 tstRTR0ThreadDriver_TEMPLATE = VBOXR3TSTEXE
867endif
868tstRTR0ThreadDriver_SOURCES = tstRTR0ThreadDriver.cpp
869
870
871tstRTR0Timer_TEMPLATE = VBoxR0
872tstRTR0Timer_INST = $(INST_TESTCASE)
873tstRTR0Timer_DEFS = IN_RT_R0
874tstRTR0Timer_SYSSUFF = .r0
875tstRTR0Timer_SOURCES = tstRTR0Timer.cpp
876tstRTR0Timer_LIBS = \
877 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
878 $(VBOX_LIB_SUPR0)
879if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
880 tstRTR0TimerDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
881 tstRTR0TimerDriverHardened_NAME = tstRTR0TimerDriver
882 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
883 tstRTR0TimerDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0TimerDriver"
884 else
885 tstRTR0TimerDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0TimerDriver\"
886 endif
887 tstRTR0TimerDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
888 tstRTR0TimerDriver_TEMPLATE = VBoxR3HardenedTstDll
889else
890 tstRTR0TimerDriver_TEMPLATE = VBOXR3TSTEXE
891endif
892tstRTR0TimerDriver_SOURCES = tstRTR0TimerDriver.cpp
893
894
895tstRTR0ThreadPreemption_TEMPLATE = VBoxR0
896tstRTR0ThreadPreemption_INST = $(INST_TESTCASE)
897tstRTR0ThreadPreemption_DEFS = IN_RT_R0
898tstRTR0ThreadPreemption_SYSSUFF = .r0
899tstRTR0ThreadPreemption_SOURCES = tstRTR0ThreadPreemption.cpp
900tstRTR0ThreadPreemption_LIBS = \
901 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
902 $(VBOX_LIB_SUPR0)
903if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
904 tstRTR0ThreadPreemptionDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
905 tstRTR0ThreadPreemptionDriverHardened_NAME = tstRTR0ThreadPreemptionDriver
906 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
907 tstRTR0ThreadPreemptionDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0ThreadPreemptionDriver"
908 else
909 tstRTR0ThreadPreemptionDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0ThreadPreemptionDriver\"
910 endif
911 tstRTR0ThreadPreemptionDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
912 tstRTR0ThreadPreemptionDriver_TEMPLATE = VBoxR3HardenedTstDll
913else
914 tstRTR0ThreadPreemptionDriver_TEMPLATE = VBOXR3TSTEXE
915endif
916tstRTR0ThreadPreemptionDriver_SOURCES = tstRTR0ThreadPreemptionDriver.cpp
917
918
919#
920# Odds and ends.
921#
922
923tstDarwinSched_TEMPLATE = VBOXR3TSTEXE
924tstDarwinSched_SOURCES = tstDarwinSched.cpp
925
926tstRTDarwinMachKernel_TEMPLATE = VBOXR3TSTEXE
927tstRTDarwinMachKernel_INCS = ../include
928tstRTDarwinMachKernel_SOURCES = \
929 tstRTDarwinMachKernel.cpp \
930 ../r0drv/darwin/dbgkrnlinfo-r0drv-darwin.cpp
931
932ntGetTimerResolution_SOURCES = ntGetTimerResolution.cpp
933ntGetTimerResolution_SDKS.win = ReorderCompilerIncs $(VBOX_WINPSDK) $(VBOX_WINDDK) VBOX_NTDLL
934
935endif # VBOX_WITH_TESTCASES
936
937include $(FILE_KBUILD_SUB_FOOTER)
938
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