VirtualBox

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

最後變更 在這個檔案從96508是 96508,由 vboxsync 提交於 3 年 前

Storage: Link vbox-img against VBoxRT.dll/so/dylib, otherwise we can forget about DMG support. bugref:10261

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 6.2 KB
 
1# $Id: Makefile.kmk 96508 2022-08-26 00:07:17Z vboxsync $
2## @file
3# Sub-Makefile for the storage device & driver testcases.
4#
5
6#
7# Copyright (C) 2006-2022 Oracle and/or its affiliates.
8#
9# This file is part of VirtualBox base platform packages, as
10# available from https://www.alldomusa.eu.org.
11#
12# This program is free software; you can redistribute it and/or
13# modify it under the terms of the GNU General Public License
14# as published by the Free Software Foundation, in version 3 of the
15# License.
16#
17# This program is distributed in the hope that it will be useful, but
18# WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20# General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, see <https://www.gnu.org/licenses>.
24#
25# SPDX-License-Identifier: GPL-3.0-only
26#
27
28SUB_DEPTH = ../../../..
29include $(KBUILD_PATH)/subheader.kmk
30
31#
32# Basic testcases for the VD code.
33#
34ifdef VBOX_WITH_TESTCASES
35 PROGRAMS += tstVD tstVD-2 tstVDSnap tstVDFill
36
37 tstVD_TEMPLATE = VBOXR3TSTEXE
38 tstVD_SOURCES = tstVD.cpp
39 tstVD_LIBS = $(LIB_DDU)
40
41 tstVD-2_TEMPLATE = VBOXR3TSTEXE
42 tstVD-2_SOURCES = tstVD-2.cpp
43 tstVD-2_LIBS = $(LIB_DDU)
44
45 tstVDFill_TEMPLATE = VBOXR3TSTEXE
46 tstVDFill_SOURCES = tstVDFill.cpp
47 tstVDFill_LIBS = $(LIB_DDU)
48
49 PROGRAMS += tstVDIo
50
51 #
52 # VD I/O test scripts to built in -> .cpp
53 #
54 TSTVDIO_BUILTIN_TESTS_FILE = $(tstVDIo_0_OUTDIR)/BuiltinTests.cpp
55 TSTVDIO_BUILTIN_TESTS := \
56 tstVDIo=tstVDIo.vd \
57 tstVDResize=tstVDResize.vd \
58 tstVDCompact=tstVDCompact.vd \
59 tstVDCopy=tstVDCopy.vd \
60 tstVDDiscard=tstVDDiscard.vd \
61 tstVDShareable=tstVDShareable.vd
62 TSTVDIO_BUILTIN_TEST_NAMES := $(foreach test,$(TSTVDIO_BUILTIN_TESTS),$(firstword $(subst =,$(SPACE) ,$(test))))
63 TSTVDIO_PATH_TESTS := $(PATH_SUB_CURRENT)
64
65 # 1=name, 2=filter
66 TSTVDIO_GEN_TEST_MACRO = 'TSTVDIOTESTENTRY const g_a$(1)[] =' '{' \
67 $(foreach testnm,$(filter $(2),$(TSTVDIO_BUILTIN_TEST_NAMES)), ' TSTVDIOTESTENTRY_GEN($(testnm), g_ab$(testnm)),') \
68 '};' 'unsigned const g_c$(1) = RT_ELEMENTS(g_a$(1));' '' ''
69
70 $$(TSTVDIO_BUILTIN_TESTS_FILE): $(MAKEFILE_CURRENT) \
71 $(foreach test,$(TSTVDIO_BUILTIN_TESTS),$(TSTVDIO_PATH_TESTS)/$(lastword $(subst =,$(SPACE) ,$(test)))) \
72 $(VBOX_BIN2C) \
73 | $$(dir $$@)
74 $(QUIET)$(RM) -f -- $@ [email protected]
75 $(QUIET)$(APPEND) -n "$@" \
76 '' \
77 '#include "BuiltinTests.h"' \
78 ''
79 $(foreach test,$(TSTVDIO_BUILTIN_TESTS), $(NLTAB)$(VBOX_BIN2C) -ascii --append --no-size \
80 "$(firstword $(subst =,$(SP) ,$(test)))" \
81 "$(TSTVDIO_PATH_TESTS)/$(lastword $(subst =,$(SP) ,$(test)))" \
82 "$@")
83
84# Generate test lists.
85 $(QUIET)$(APPEND) -n "$@" '' \
86 $(call TSTVDIO_GEN_TEST_MACRO,VDIoTests,%) \
87
88 tstVDIo_TEMPLATE = VBOXR3TSTEXE
89 tstVDIo_INCS := $(PATH_SUB_CURRENT)
90
91 ifdef VBOX_TSTVDIO_WITH_LOG_REPLAY
92 tstVDIo_DEFS += VBOX_TSTVDIO_WITH_LOG_REPLAY
93 endif
94
95 tstVDIo_SOURCES = \
96 tstVDIo.cpp \
97 VDIoBackend.cpp \
98 VDIoBackendMem.cpp \
99 VDMemDisk.cpp \
100 VDIoRnd.cpp \
101 VDScript.cpp \
102 VDScriptAst.cpp \
103 VDScriptChecker.cpp \
104 VDScriptInterp.cpp \
105 $(TSTVDIO_BUILTIN_TESTS_FILE)
106 tstVDIo_LIBS = \
107 $(LIB_DDU)
108 tstVDIo_CLEAN = \
109 $(TSTVDIO_BUILTIN_TESTS_FILE)
110 tstVDSnap_TEMPLATE = VBOXR3TSTEXE
111 tstVDSnap_LIBS = $(LIB_DDU)
112 tstVDSnap_SOURCES = tstVDSnap.cpp
113endif
114
115if defined(VBOX_WITH_TESTCASES) || defined(VBOX_WITH_VBOX_IMG)
116 PROGRAMS += vbox-img
117
118 #
119 # vbox-img - static because it might be used as a standalone tool.
120 #
121 ifneq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), solaris.sparc32 solaris.sparc64)
122 vbox-img_TEMPLATE := VBOXR3
123 vbox-img_DEFS := IN_VBOXDDU IN_VBOXDDU_STATIC VBOX_HDD_NO_DYNAMIC_BACKENDS
124 else
125 vbox-img_TEMPLATE := VBoxR3Static
126 vbox-img_DEFS := IN_VBOXDDU IN_VBOXDDU_STATIC VBOX_HDD_NO_DYNAMIC_BACKENDS
127 endif
128 vbox-img_INCS := \
129 ../../Main/include
130 vbox-img_SOURCES := \
131 vbox-img.cpp \
132 ../VD.cpp \
133 ../VDPlugin.cpp \
134 ../VDVfs.cpp \
135 ../VDI.cpp \
136 ../VMDK.cpp \
137 ../VHD.cpp \
138 ../DMG.cpp \
139 ../Parallels.cpp \
140 ../ISCSI.cpp \
141 ../RAW.cpp \
142 ../QED.cpp \
143 ../QCOW.cpp \
144 ../VHDX.cpp \
145 ../CUE.cpp \
146 ../VISO.cpp \
147 ../VCICache.cpp \
148 ../VDIfVfs.cpp
149 vbox-img_SOURCES.win = \
150 vbox-img.rc
151 ifeq ($(vbox-img_TEMPLATE),VBOXR3)
152 vbox-img_LIBS = \
153 $(LIB_RUNTIME)
154 else
155 vbox-img_LIBS = \
156 $(VBOX_LIB_RUNTIME_STATIC)
157 if1of ($(KBUILD_TARGET),os2 win)
158 vbox-img_LIBS += \
159 $(SDK_VBOX_LZF_STATIC_LIBS) \
160 $(SDK_VBOX_ZLIB_STATIC_LIBS)
161 else
162 vbox-img_LIBS += \
163 $(SDK_VBOX_LZF_LIBS) \
164 $(SDK_VBOX_ZLIB_LIBS)
165 endif
166 ifeq ($(KBUILD_TARGET),linux)
167 ifdef SDK_VBOX_LIBXML2_LIBS
168 vbox-img_LIBS += xml2
169 endif
170 else ifeq ($(KBUILD_TARGET),freebsd)
171 vbox-img_LIBS += iconv geom bsdxml sbuf
172 ifdef SDK_VBOX_LIBXML2_LIBS
173 vbox-img_LIBS += xml2 lzma
174 endif
175 else ifeq ($(KBUILD_TARGET),darwin)
176 vbox-img_LIBS += iconv
177 else ifeq ($(KBUILD_TARGET),win)
178 vbox-img_SDKS.win = VBOX_NTDLL
179 else ifeq ($(KBUILD_TARGET),solaris)
180 vbox-img_LIBS += kstat efi
181 ifdef SDK_VBOX_LIBXML2_LIBS
182 vbox-img_LIBS += xml2
183 endif
184 endif
185 endif
186
187endif
188
189if defined(VBOX_WITH_TESTCASES) && defined(VBOX_WITH_PLUGIN_CRYPT) \
190 && defined(VBOX_WITH_EXTPACK_PUEL) && defined(VBOX_WITH_EXTPACK_PUEL_BUILD) \
191 && defined(VBOX_WITH_VDKEYSTOREMGR)
192 PROGRAMS += vdkeystoremgr
193
194 #
195 # vdkeystoremgr - static because it might be used as a standalone tool.
196 #
197 vdkeystoremgr_TEMPLATE = VBoxR3Static
198 vdkeystoremgr_DEFS += IN_VBOXDDU IN_VBOXDDU_STATIC VBOX_HDD_NO_DYNAMIC_BACKENDS
199 vdkeystoremgr_SOURCES = \
200 vdkeystoremgr.cpp \
201 ../VDKeyStore.cpp
202 vdkeystoremgr_SOURCES.win = \
203 vdkeystoremgr_SOURCES.rc
204 vdkeystoremgr_LIBS = \
205 $(VBOX_LIB_RUNTIME_STATIC) \
206 $(PATH_STAGE_LIB)/SUPR3$(VBOX_SUFF_LIB)
207 if1of ($(KBUILD_TARGET),os2 win)
208 vdkeystoremgr_LIBS += \
209 $(SDK_VBOX_LZF_STATIC_LIBS) \
210 $(SDK_VBOX_ZLIB_STATIC_LIBS)
211 else
212 vdkeystoremgr_LIBS += \
213 $(SDK_VBOX_LZF_LIBS) \
214 $(SDK_VBOX_ZLIB_LIBS)
215 endif
216 ifeq ($(KBUILD_TARGET),linux)
217 ifdef SDK_VBOX_LIBXML2_LIBS
218 vdkeystoremgr_LIBS += xml2
219 endif
220 else if1of ($(KBUILD_TARGET),darwin freebsd)
221 vdkeystoremgr_LIBS += iconv
222 else ifeq ($(KBUILD_TARGET),win)
223 vdkeystoremgr_SDKS.win = VBOX_NTDLL
224 else ifeq ($(KBUILD_TARGET),solaris)
225 vdkeystoremgr_LIBS += kstat
226 endif
227endif
228
229include $(FILE_KBUILD_SUB_FOOTER)
230
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette