VirtualBox

source: vbox/trunk/src/VBox/Storage/testcase/Makefile.kmk@ 67954

Last change on this file since 67954 was 67455, checked in by vboxsync, 7 years ago

Storage: Hacked up a virtual image format around the IPRT ISO maker API. (untsted)

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.7 KB
Line 
1# $Id: Makefile.kmk 67455 2017-06-16 20:25:22Z vboxsync $
2## @file
3# Sub-Makefile for the storage device & driver testcases.
4#
5
6#
7# Copyright (C) 2006-2016 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
18SUB_DEPTH = ../../../..
19include $(KBUILD_PATH)/subheader.kmk
20
21#
22# Basic testcases for the VD code.
23#
24ifdef VBOX_WITH_TESTCASES
25 PROGRAMS += tstVD tstVD-2 tstVDSnap tstVDFill
26
27 tstVD_TEMPLATE = VBOXR3TSTEXE
28 tstVD_SOURCES = tstVD.cpp
29 tstVD_LIBS = $(LIB_DDU)
30
31 tstVD-2_TEMPLATE = VBOXR3TSTEXE
32 tstVD-2_SOURCES = tstVD-2.cpp
33 tstVD-2_LIBS = $(LIB_DDU)
34
35 tstVDFill_TEMPLATE = VBOXR3TSTEXE
36 tstVDFill_SOURCES = tstVDFill.cpp
37 tstVDFill_LIBS = $(LIB_DDU)
38
39 PROGRAMS += tstVDIo
40
41 #
42 # VD I/O test scripts to built in -> .cpp
43 #
44 TSTVDIO_BUILTIN_TESTS_FILE = $(tstVDIo_0_OUTDIR)/BuiltinTests.cpp
45 TSTVDIO_BUILTIN_TESTS := \
46 tstVDIo=tstVDIo.vd \
47 tstVDResize=tstVDResize.vd \
48 tstVDCompact=tstVDCompact.vd \
49 tstVDCopy=tstVDCopy.vd \
50 tstVDDiscard=tstVDDiscard.vd \
51 tstVDShareable=tstVDShareable.vd
52 TSTVDIO_BUILTIN_TEST_NAMES := $(foreach test,$(TSTVDIO_BUILTIN_TESTS),$(firstword $(subst =,$(SPACE) ,$(test))))
53 TSTVDIO_PATH_TESTS := $(PATH_SUB_CURRENT)
54
55 # 1=name, 2=filter
56 TSTVDIO_GEN_TEST_MACRO = 'TSTVDIOTESTENTRY const g_a$(1)[] =' '{' \
57 $(foreach testnm,$(filter $(2),$(TSTVDIO_BUILTIN_TEST_NAMES)), ' TSTVDIOTESTENTRY_GEN($(testnm), g_ab$(testnm)),') \
58 '};' 'unsigned const g_c$(1) = RT_ELEMENTS(g_a$(1));' '' ''
59
60 $$(TSTVDIO_BUILTIN_TESTS_FILE): $(MAKEFILE_CURRENT) \
61 $(foreach test,$(TSTVDIO_BUILTIN_TESTS),$(TSTVDIO_PATH_TESTS)/$(lastword $(subst =,$(SPACE) ,$(test)))) \
62 $(VBOX_BIN2C) \
63 | $$(dir $$@)
64 $(QUIET)$(RM) -f -- $@ $@.vd
65 $(QUIET)$(APPEND) -n "$@" \
66 '' \
67 '#include "BuiltinTests.h"' \
68 ''
69 $(foreach test,$(TSTVDIO_BUILTIN_TESTS), $(NLTAB)$(VBOX_BIN2C) -ascii --append --no-size \
70 "$(firstword $(subst =,$(SP) ,$(test)))" \
71 "$(TSTVDIO_PATH_TESTS)/$(lastword $(subst =,$(SP) ,$(test)))" \
72 "$@")
73
74# Generate test lists.
75 $(QUIET)$(APPEND) -n "$@" '' \
76 $(call TSTVDIO_GEN_TEST_MACRO,VDIoTests,%) \
77
78 ifn1of ($(KBUILD_TARGET), win)
79 VBOX_TSTVDIO_WITH_LOG_REPLAY = 1
80 endif
81
82 tstVDIo_TEMPLATE = VBOXR3TSTEXE
83 tstVDIo_INCS := $(PATH_SUB_CURRENT)
84
85 ifdef VBOX_TSTVDIO_WITH_LOG_REPLAY
86 tstVDIo_DEFS += VBOX_TSTVDIO_WITH_LOG_REPLAY
87 endif
88
89 tstVDIo_SOURCES = tstVDIo.cpp \
90 VDIoBackend.cpp \
91 VDIoBackendMem.cpp \
92 VDMemDisk.cpp \
93 VDIoRnd.cpp \
94 VDScript.cpp \
95 VDScriptAst.cpp \
96 VDScriptChecker.cpp \
97 VDScriptInterp.cpp \
98 $(TSTVDIO_BUILTIN_TESTS_FILE)
99 tstVDIo_LIBS = \
100 $(LIB_DDU)
101
102 ifdef VBOX_TSTVDIO_WITH_LOG_REPLAY
103 tstVDIo_LIBS += \
104 $(PATH_STAGE_LIB)/StorageDbgLib$(VBOX_SUFF_LIB)
105 endif
106
107 tstVDSnap_TEMPLATE = VBOXR3TSTEXE
108 tstVDSnap_LIBS = $(LIB_DDU)
109 tstVDSnap_SOURCES = tstVDSnap.cpp
110endif
111
112if defined(VBOX_WITH_TESTCASES) || defined(VBOX_WITH_VBOX_IMG)
113 PROGRAMS += vbox-img
114
115 #
116 # vbox-img - static because it migth be used as at standalone tool.
117 #
118 vbox-img_TEMPLATE = VBoxR3Static
119 vbox-img_DEFS += IN_VBOXDDU IN_VBOXDDU_STATIC VBOX_HDD_NO_DYNAMIC_BACKENDS
120 vbox-img_SOURCES = \
121 vbox-img.cpp \
122 ../VD.cpp \
123 ../VDPlugin.cpp \
124 ../VDVfs.cpp \
125 ../VDI.cpp \
126 ../VMDK.cpp \
127 ../VHD.cpp \
128 ../DMG.cpp \
129 ../Parallels.cpp \
130 ../ISCSI.cpp \
131 ../RAW.cpp \
132 ../QED.cpp \
133 ../QCOW.cpp \
134 ../VHDX.cpp \
135 ../CUE.cpp \
136 ../VISO.cpp \
137 ../VCICache.cpp \
138 ../VDIfVfs.cpp
139 vbox-img_SOURCES.win = \
140 vbox-img.rc
141 vbox-img_LIBS = \
142 $(VBOX_LIB_RUNTIME_STATIC)
143 if1of ($(KBUILD_TARGET),os2 win)
144 vbox-img_LIBS += \
145 $(PATH_STAGE_LIB)/VBox-liblzf-static$(VBOX_SUFF_LIB) \
146 $(PATH_STAGE_LIB)/VBox-zlib-static$(VBOX_SUFF_LIB)
147 else
148 vbox-img_LIBS += \
149 $(PATH_STAGE_LIB)/VBox-liblzf$(VBOX_SUFF_LIB) \
150 $(SDK_VBOX_ZLIB_LIBS)
151 endif
152 ifeq ($(KBUILD_TARGET),linux)
153 vbox-img_LIBS += crypt
154 ifdef SDK_VBOX_LIBXML2_LIBS
155 vbox-img_LIBS += xml2
156 endif
157 else if1of ($(KBUILD_TARGET),darwin freebsd)
158 vbox-img_LIBS += iconv
159 else ifeq ($(KBUILD_TARGET),win)
160 vbox-img_SDKS.win = VBOX_NTDLL
161 else ifeq ($(KBUILD_TARGET),solaris)
162 vbox-img_LIBS += kstat
163 endif
164
165endif
166
167if defined(VBOX_WITH_TESTCASES) && defined(VBOX_WITH_PLUGIN_CRYPT) \
168 && defined(VBOX_WITH_EXTPACK_PUEL) && defined(VBOX_WITH_EXTPACK_PUEL_BUILD) \
169 && defined(VBOX_WITH_VDKEYSTOREMGR)
170 PROGRAMS += vdkeystoremgr
171
172 #
173 # vdkeystoremgr - static because it migth be used as at standalone tool.
174 #
175 vdkeystoremgr_TEMPLATE = VBoxR3Static
176 vdkeystoremgr_DEFS += IN_VBOXDDU IN_VBOXDDU_STATIC VBOX_HDD_NO_DYNAMIC_BACKENDS
177 vdkeystoremgr_SOURCES = \
178 vdkeystoremgr.cpp \
179 ../VDKeyStore.cpp
180 vdkeystoremgr_SOURCES.win = \
181 vdkeystoremgr_SOURCES.rc
182 vdkeystoremgr_LIBS = \
183 $(VBOX_LIB_RUNTIME_STATIC) \
184 $(PATH_STAGE_LIB)/SUPR3$(VBOX_SUFF_LIB)
185 if1of ($(KBUILD_TARGET),os2 win)
186 vdkeystoremgr_LIBS += \
187 $(PATH_STAGE_LIB)/VBox-liblzf-static$(VBOX_SUFF_LIB) \
188 $(PATH_STAGE_LIB)/VBox-zlib-static$(VBOX_SUFF_LIB)
189 else
190 vdkeystoremgr_LIBS += \
191 $(PATH_STAGE_LIB)/VBox-liblzf$(VBOX_SUFF_LIB) \
192 $(SDK_VBOX_ZLIB_LIBS)
193 endif
194 ifeq ($(KBUILD_TARGET),linux)
195 vdkeystoremgr_LIBS += crypt
196 ifdef SDK_VBOX_LIBXML2_LIBS
197 vdkeystoremgr_LIBS += xml2
198 endif
199 else if1of ($(KBUILD_TARGET),darwin freebsd)
200 vdkeystoremgr_LIBS += iconv
201 else ifeq ($(KBUILD_TARGET),win)
202 vdkeystoremgr_SDKS.win = VBOX_NTDLL
203 else ifeq ($(KBUILD_TARGET),solaris)
204 vdkeystoremgr_LIBS += kstat
205 endif
206endif
207
208include $(FILE_KBUILD_SUB_FOOTER)
209
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