7 # Copyright (C) 2006-2023 Oracle and/or its affiliates.
9 # This file is part of VirtualBox base platform packages, as
10 # available from https://www.virtualbox.org.
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
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.
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>.
25 # SPDX-License-Identifier: GPL-3.0-only
29 include $(KBUILD_PATH
)/subheader.kmk
32 # Sub-makefiles / Sub-directories.
34 ifndef VBOX_ONLY_ROOT_MAKEFILE
35 if
(defined
(VBOX_WITH_DOCS
) || defined
(VBOX_WITH_MAIN
)) \
36 && ( !defined
(VBOX_ONLY_BUILD
) \
37 || defined
(VBOX_ONLY_DOCS
) \
38 ||
(defined
(VBOX_ONLY_SDK
) && !defined
(VBOX_ONLY_SDK_IN_VM
))) \
39 && "$(intersects $(KBUILD_TARGET_ARCH),$(VBOX_SUPPORTED_HOST_ARCHS))" != ""
40 include $(PATH_SUB_CURRENT
)/doc
/manual
/Makefile.kmk
42 include $(PATH_SUB_CURRENT
)/src
/Makefile.kmk
43 ifdef VBOX_WITH_INCLUDE_SYNTAX_CHECKING
44 include $(PATH_SUB_CURRENT
)/include/Makefile.kmk
49 # Below we might need TOOL_ZIP_UNPACK (for the additions/docs/efifw packages
50 # from the build server), and it's not really worth the effort of dragging in
51 #q this tool only if absolutely needed.
53 ## @todo Hack to get at TOOL_ZIP_UNPACK; see if this can be integrated somehow...
54 include $(KBUILD_PATH
)/tools
/ZIP.kmk
60 ## @todo split up this file!
64 # Clean up global stuff that Config.kmk generates.
67 $(VBOX_PACKAGE_HEADER
) \
68 $(VBOX_LICENSE_VER_KMK
) \
70 $(VBOX_VERSION_HEADER
) \
71 $(VBOX_VERSION_STAMP
) \
72 $(wildcard $(PATH_OUT
)/version-stamp-
*.
*.
*) \
73 $(VBOX_SVN_REV_KMK
).ts \
75 $(PATH_OUT
)/DynamicConfig.kmk
78 if
!defined
(VBOX_ONLY_ADDITIONS
) \
79 && !defined
(VBOX_ONLY_DOCS
) \
80 && !defined
(VBOX_ONLY_EXTPACKS
) \
81 && !defined
(VBOX_ONLY_VALIDATIONKIT
) # -> line 426b ;-)
83 if
!defined
(VBOX_OSE
) && defined
(VBOX_LICENSE_FILES
)
85 # Install the license (and misc non-executable stuff).
87 INSTALLS
+= InstallLicenseFiles
88 InstallLicenseFiles_INST
= $(INST_BIN
)
89 InstallLicenseFiles_MODE
= 0644
90 InstallLicenseFiles_SOURCES
=
91 InstallLicenseFiles_SOURCES
+= \
92 $(VBOX_BRAND_LICENSE_HTML
)=>License-
$(VBOX_LICENSE_VER
).html \
93 $(foreach f
,$(VBOX_INSTALLER_ADD_LANGUAGES
),$(VBOX_BRAND_
$(f
)_LICENSE_HTML
)=>License-
$(VBOX_LICENSE_VER
)-$(f
).html
)
98 # Install external binaries (mostly redistributable parts of tools we use).
100 # To avoid dragging in unnecessary tools and sdks here, we don't use the .win
101 # and .linux property suffixes.
103 if
!defined
(VBOX_ONLY_SDK
)
104 INSTALLS
+= InstallExternalLibs
107 InstallExternalLibs_INST
= $(INST_BIN
)
110 if1of
($(KBUILD_TARGET
), win os2
)
111 ifdef VBOX_WITH_VBOXSDL
112 include $(KBUILD_PATH
)/sdks
/LIBSDL.kmk
113 InstallExternalLibs_SOURCES
+= \
114 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(DLL_SDK_LIBSDL_SDL
))
115 ifdef VBOX_WITH_SECURELABEL
116 InstallExternalLibs_SOURCES
+= \
117 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(DLL_SDK_LIBSDL_SDLTTF
))
119 ifeq ($(KBUILD_TARGET
),os2
)
120 InstallExternalLibs_SOURCES
+= \
121 $(DLL_SDK_LIBSDL_FSLIB
)
127 # The compiler runtime DLLs.
128 ifeq ($(KBUILD_TARGET
).
$(VBOX_WITHOUT_COMPILER_REDIST
),win.
)
129 ifndef TOOL_
$(VBOX_VCC_TOOL
)
130 include $(KBUILD_PATH
)/tools
/$(VBOX_VCC_TOOL
).kmk
132 ifndef TOOL_
$(VBOX_VCC_TOOL_STEM
)X86
133 include $(KBUILD_PATH
)/tools
/$(VBOX_VCC_TOOL_STEM
)X86.kmk
135 ifdef PATH_TOOL_
$(VBOX_VCC_TOOL_STEM
)_REDIST
136 InstallExternalLibs_SOURCES
+= \
137 $(foreachfile redistdll
, $(qaddprefix
,$(requote unq
,$(PATH_TOOL_
$(VBOX_VCC_TOOL
)_REDIST_CRT
)/), \
138 $(TOOL_
$(VBOX_VCC_TOOL
)_REDIST_CRT_DLLS
) $(TOOL_
$(VBOX_VCC_TOOL
)_REDIST_CPP_DLLS
)) \
139 ,$(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(redistdll
)) \
140 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(redistdll
))=>testcase
/$(qnotdir
,$(redistdll
)))
141 ifdef VBOX_WITH_32_ON_64_MAIN_API
142 InstallExternalLibs_SOURCES
+= \
143 $(foreachfile redistdll
, $(qaddprefix
,$(requote unq
,$(PATH_TOOL_
$(VBOX_VCC_TOOL_STEM
)X86_REDIST_CRT
)/), \
144 $(TOOL_
$(VBOX_VCC_TOOL_STEM
)X86_REDIST_CRT_DLLS
) $(TOOL_
$(VBOX_VCC_TOOL_STEM
)X86_REDIST_CPP_DLLS
)) \
145 ,$(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(redistdll
),x86
)=>x86
/$(qnotdir
,$(redistdll
)))
147 ifeq ($(VBOX_VCC_CRT_TYPE
),d
)
148 InstallExternalLibs_SOURCES
+= \
149 $(foreachfile redistdll
, $(qaddprefix
,$(requote unq
,$(PATH_TOOL_
$(VBOX_VCC_TOOL
)_REDIST_DEBUG_CRT
)/), \
150 $(addsuffix d.dll
,$(basename $(TOOL_
$(VBOX_VCC_TOOL
)_REDIST_CRT_DLLS
) $(TOOL_
$(VBOX_VCC_TOOL
)_REDIST_CPP_DLLS
)))) \
151 ,$(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(redistdll
)) \
152 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(redistdll
))=>testcase
/$(qnotdir
,$(redistdll
)))
153 ifdef VBOX_WITH_32_ON_64_MAIN_API
154 InstallExternalLibs_SOURCES
+= \
155 $(foreachfile redistdll
, $(qaddprefix
,$(requote unq
,$(PATH_TOOL_
$(VBOX_VCC_TOOL_STEM
)X86_REDIST_DEBUG_CRT
)/), \
156 $(addsuffix d.dll
,$(basename $(TOOL_
$(VBOX_VCC_TOOL_STEM
)X86_REDIST_CRT_DLLS
) $(TOOL_
$(VBOX_VCC_TOOL_STEM
)X86_REDIST_CPP_DLLS
)))) \
157 ,$(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(redistdll
),x86
)=>x86
/$(qnotdir
,$(redistdll
)))
160 ifeq ($(KBUILD_TYPE
),asan
)
161 ifeq ($(KBUILD_TARGET_ARCH
),amd64
)
162 InstallExternalLibs_SOURCES
+= \
163 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(PATH_TOOL_
$(VBOX_VCC_TOOL_STEM
)AMD64_BIN
)/clang_rt.asan_dynamic-x86_64.dll
) \
164 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(PATH_TOOL_
$(VBOX_VCC_TOOL_STEM
)AMD64_BIN
)/clang_rt.asan_dynamic-x86_64.dll
)=>testcase
/clang_rt.asan_dynamic-x86_64.dll
165 ifeq ($(VBOX_VCC_CRT_TYPE
),d
)
166 InstallExternalLibs_SOURCES
+= \
167 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(PATH_TOOL_
$(VBOX_VCC_TOOL_STEM
)AMD64_BIN
)/clang_rt.asan_dbg_dynamic-x86_64.dll
) \
168 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(PATH_TOOL_
$(VBOX_VCC_TOOL_STEM
)AMD64_BIN
)/clang_rt.asan_dbg_dynamic-x86_64.dll
)=>testcase
/clang_rt.asan_dbg_dynamic-x86_64.dll
171 ifeq ($(KBUILD_TARGET_ARCH
),x86
)
172 InstallExternalLibs_SOURCES
+= \
173 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(PATH_TOOL_
$(VBOX_VCC_TOOL_STEM
)X86_BIN
)/clang_rt.asan_dynamic-i386.dll
) \
174 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(PATH_TOOL_
$(VBOX_VCC_TOOL_STEM
)X86_BIN
)/clang_rt.asan_dynamic-i386.dll
)=>testcase
/clang_rt.asan_dynamic-i386.dll
175 ifeq ($(VBOX_VCC_CRT_TYPE
),d
)
176 InstallExternalLibs_SOURCES
+= \
177 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(PATH_TOOL_
$(VBOX_VCC_TOOL_STEM
)X86_BIN
)/clang_rt.asan_dbg_dynamic-i386.dll
) \
178 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(PATH_TOOL_
$(VBOX_VCC_TOOL_STEM
)X86_BIN
)/clang_rt.asan_dbg_dynamic-i386.dll
)=>testcase
/clang_rt.asan_dbg_dynamic-i386.dll
181 ifdef VBOX_WITH_32_ON_64_MAIN_API
182 InstallExternalLibs_SOURCES
+= $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(PATH_TOOL_
$(VBOX_VCC_TOOL_STEM
)X86_BIN
)/clang_rt.asan_dynamic-i386.dll
,x86
)=>x86
/clang_rt.asan_dynamic-i386.dll
183 ifeq ($(VBOX_VCC_CRT_TYPE
),d
)
184 InstallExternalLibs_SOURCES
+= $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(PATH_TOOL_
$(VBOX_VCC_TOOL_STEM
)X86_BIN
)/clang_rt.asan_dbg_dynamic-i386.dll
,x86
)=>x86
/clang_rt.asan_dbg_dynamic-i386.dll
189 VBOX_VCC_REDIR_BASE
:= Microsoft.VC
$(substr
$(VBOX_VCC_TOOL
),4,3)
190 VBOX_PATH_VCC_REDIST
= $(PATH_TOOL_
$(VBOX_VCC_TOOL
))/redist
/
191 VBOX_PATH_VCC_REDIST_CRT
= $(VBOX_PATH_VCC_REDIST
)/$(subst amd64
,x64
,$(KBUILD_TARGET_ARCH
))/$(VBOX_VCC_REDIR_BASE
).CRT
192 VBOX_PATH_VCC_REDIST_CRT_DBG
= $(VBOX_PATH_VCC_REDIST
)/Debug_NonRedist
/$(subst amd64
,x64
,$(KBUILD_TARGET_ARCH
))/$(VBOX_VCC_REDIR_BASE
).DebugCRT
193 VBOX_PATH_VCC_REDIST_CRT_X86
= $(VBOX_PATH_VCC_REDIST
)/x86
/$(VBOX_VCC_REDIR_BASE
).CRT
194 VBOX_PATH_VCC_REDIST_CRT_DBG_X86
= $(VBOX_PATH_VCC_REDIST
)/Debug_NonRedist
/x86
/$(VBOX_VCC_REDIR_BASE
).DebugCRT
196 InstallExternalLibs_SOURCES
+= \
197 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(VBOX_PATH_VCC_REDIST_CRT
)/msvcr
$(substr
$(VBOX_VCC_TOOL_STEM
),4).dll
) \
198 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(VBOX_PATH_VCC_REDIST_CRT
)/msvcp
$(substr
$(VBOX_VCC_TOOL_STEM
),4).dll
) \
199 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(VBOX_PATH_VCC_REDIST_CRT
)/msvcr
$(substr
$(VBOX_VCC_TOOL_STEM
),4).dll
)=>testcase
/msvcr
$(substr
$(VBOX_VCC_TOOL_STEM
),4).dll \
200 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(VBOX_PATH_VCC_REDIST_CRT
)/msvcp
$(substr
$(VBOX_VCC_TOOL_STEM
),4).dll
)=>testcase
/msvcp
$(substr
$(VBOX_VCC_TOOL_STEM
),4).dll
201 ifdef VBOX_WITH_32_ON_64_MAIN_API
202 InstallExternalLibs_SOURCES
+= \
203 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(VBOX_PATH_VCC_REDIST_CRT_X86
)/msvcr
$(substr
$(VBOX_VCC_TOOL_STEM
),4).dll
,x86_
)=>x86
/msvcr
$(substr
$(VBOX_VCC_TOOL_STEM
),4).dll \
204 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(VBOX_PATH_VCC_REDIST_CRT_X86
)/msvcp
$(substr
$(VBOX_VCC_TOOL_STEM
),4).dll
,x86_
)=>x86
/msvcp
$(substr
$(VBOX_VCC_TOOL_STEM
),4).dll
206 ifeq ($(VBOX_VCC_CRT_TYPE
),d
)
207 InstallExternalLibs_SOURCES
+= \
208 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(VBOX_PATH_VCC_REDIST_CRT_DBG
)/msvcr
$(substr
$(VBOX_VCC_TOOL_STEM
),4)d.dll
) \
209 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(VBOX_PATH_VCC_REDIST_CRT_DBG
)/msvcp
$(substr
$(VBOX_VCC_TOOL_STEM
),4)d.dll
) \
210 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(VBOX_PATH_VCC_REDIST_CRT_DBG
)/msvcr
$(substr
$(VBOX_VCC_TOOL_STEM
),4)d.dll
)=>testcase
/msvcr
$(substr
$(VBOX_VCC_TOOL_STEM
),4)d.dll \
211 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(VBOX_PATH_VCC_REDIST_CRT_DBG
)/msvcp
$(substr
$(VBOX_VCC_TOOL_STEM
),4)d.dll
)=>testcase
/msvcp
$(substr
$(VBOX_VCC_TOOL_STEM
),4)d.dll
212 ifdef VBOX_WITH_32_ON_64_MAIN_API
213 InstallExternalLibs_SOURCES
+= \
214 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(VBOX_PATH_VCC_REDIST_CRT_DBG_X86
)/msvcr
$(substr
$(VBOX_VCC_TOOL_STEM
)d
,4).dll
,x86_
)=>x86
/msvcr
$(substr
$(VBOX_VCC_TOOL_STEM
),4)d.dll \
215 $(call VBOX_RE_SIGN_DLL_FN
,InstallExternalLibs
,$(VBOX_PATH_VCC_REDIST_CRT_DBG_X86
)/msvcp
$(substr
$(VBOX_VCC_TOOL_STEM
)d
,4).dll
,x86_
)=>x86
/msvcp
$(substr
$(VBOX_VCC_TOOL_STEM
),4)d.dll
222 # Install our Qt DLLs / Shared Objects / Frameworks.
223 # Note: The installer fixes the darwin .dylibs when hardening is enabled.
224 # Note: Contents/Info.plist is where it's in 4.7.x, not sure if the location is kosher... According to
225 # https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html
226 # the Info.plist file goes into Resources.
228 if defined
(VBOX_WITH_QTGUI
) && !defined
(VBOX_ONLY_SDK
) && "$(KBUILD_TARGET)" == "darwin"
230 include $(KBUILD_PATH
)/units
/qt6.kmk
231 VBOX_QT_FWRK_VER
:= A
232 VBOX_QT_PATH
:= $(PATH_SDK_QT6
)
233 VBOX_QT_PATH_LIB
:= $(PATH_SDK_QT6_LIB
)
235 include $(KBUILD_PATH
)/units
/qt5.kmk
236 VBOX_QT_FWRK_VER
:= 5
237 VBOX_QT_PATH
:= $(PATH_SDK_QT5
)
238 VBOX_QT_PATH_LIB
:= $(PATH_SDK_QT5_LIB
)
242 qt-bin_INST
= $(INST_VIRTUALBOX
)Contents
/
243 qt-bin_EXEC_SOURCES
= $(foreach qtmod
,$(VBOX_QT_MOD_NAMES
), \
244 $(VBOX_QT_PATH_LIB
)/$(qtmod
).framework
/Versions
/$(VBOX_QT_FWRK_VER
)/$(qtmod
)=>Frameworks
/$(qtmod
).framework
/Versions
/$(VBOX_QT_FWRK_VER
)/$(qtmod
))
245 qt-bin_SOURCES
= $(foreach qtmod
,$(VBOX_QT_MOD_NAMES
), \
246 $(VBOX_QT_PATH_LIB
)/$(qtmod
).framework
/Versions
/$(VBOX_QT_FWRK_VER
)/Resources
/Info.plist
=>Frameworks
/$(qtmod
).framework
/Versions
/$(VBOX_QT_FWRK_VER
)/Resources
/Info.plist
)
247 ifdef VBOX_WITH_QT_DSYMS
248 qt-bin_SOURCES
+= $(foreach qtmod
,$(VBOX_QT_MOD_NAMES
), \
249 $(VBOX_QT_PATH_LIB
)/$(qtmod
).framework.dSYM
/Contents
/Info.plist
=>Frameworks
/$(qtmod
).framework.dSYM
/Contents
/Info.plist \
250 $(VBOX_QT_PATH_LIB
)/$(qtmod
).framework.dSYM
/Contents
/Resources
/DWARF
/$(qtmod
)=>Frameworks
/$(qtmod
).framework.dSYM
/Contents
/Resources
/DWARF
/$(qtmod
))
252 qt-bin_EXEC_SOURCES
+= \
253 $(VBOX_QT_PATH
)/plugins
/platforms
/libqcocoa
$(SUFF_DLL
)=>plugins
/platforms
/libqcocoa
$(SUFF_DLL
) \
254 $(VBOX_QT_PATH
)/plugins
/platforms
/libqminimal
$(SUFF_DLL
)=>plugins
/platforms
/libqminimal
$(SUFF_DLL
) \
255 $(VBOX_QT_PATH
)/plugins
/platforms
/libqoffscreen
$(SUFF_DLL
)=>plugins
/platforms
/libqoffscreen
$(SUFF_DLL
) \
256 $(VBOX_QT_PATH
)/plugins
/sqldrivers
/libqsqlite
$(SUFF_DLL
)=>plugins
/sqldrivers
/libqsqlite
$(SUFF_DLL
) \
257 $(VBOX_QT_PATH
)/plugins
/styles
/libqmacstyle
$(SUFF_DLL
)=>plugins
/styles
/libqmacstyle
$(SUFF_DLL
)
258 ifdef VBOX_WITH_QT_DSYMS
260 qt-bin_SOURCES
+= $(foreach qtplat
, libqcocoa libqminimal libqoffscreen
, \
261 $(VBOX_QT_PATH
)/plugins
/platforms
/$(qtplat
)$(SUFF_DLL
).dSYM
/Contents
/Info.plist
=>plugins
/platforms
/$(qtplat
)$(SUFF_DLL
).dSYM
/Contents
/Info.plist \
262 $(VBOX_QT_PATH
)/plugins
/platforms
/$(qtplat
)$(SUFF_DLL
).dSYM
/Contents
/Resources
/DWARF
/$(qtplat
)$(SUFF_DLL
)=>plugins
/platforms
/$(qtplat
)$(SUFF_DLL
).dSYM
/Contents
/Resources
/DWARF
/$(qtplat
)$(SUFF_DLL
))
263 qt-bin_SOURCES
+= $(foreach qtsqldrv
, libqsqlite
, \
264 $(VBOX_QT_PATH
)/plugins
/sqldrivers
/$(qtsqldrv
)$(SUFF_DLL
).dSYM
/Contents
/Info.plist
=>plugins
/sqldrivers
/$(qtsqldrv
)$(SUFF_DLL
).dSYM
/Contents
/Info.plist \
265 $(VBOX_QT_PATH
)/plugins
/sqldrivers
/$(qtsqldrv
)$(SUFF_DLL
).dSYM
/Contents
/Resources
/DWARF
/$(qtsqldrv
)$(SUFF_DLL
)=>plugins
/sqldrivers
/$(qtsqldrv
)$(SUFF_DLL
).dSYM
/Contents
/Resources
/DWARF
/$(qtsqldrv
)$(SUFF_DLL
))
266 qt-bin_SOURCES
+= $(foreach qtstyl
, libqmacstyle
, \
267 $(VBOX_QT_PATH
)/plugins
/styles
/$(qtstyl
)$(SUFF_DLL
).dSYM
/Contents
/Info.plist
=>plugins
/styles
/$(qtstyl
)$(SUFF_DLL
).dSYM
/Contents
/Info.plist \
268 $(VBOX_QT_PATH
)/plugins
/styles
/$(qtstyl
)$(SUFF_DLL
).dSYM
/Contents
/Resources
/DWARF
/$(qtstyl
)$(SUFF_DLL
)=>plugins
/styles
/$(qtstyl
)$(SUFF_DLL
).dSYM
/Contents
/Resources
/DWARF
/$(qtstyl
)$(SUFF_DLL
))
270 qt-bin_SOURCES
+= $(foreach qtplat
, qcocoa qminimal qoffscreen
, \
271 $(VBOX_QT_PATH
)/plugins
/platforms
/lib
$(qtplat
)$(SUFF_DLL
).dSYM
/Contents
/Info.plist
=>plugins
/platforms
/lib
$(qtplat
)$(SUFF_DLL
).dSYM
/Contents
/Info.plist \
272 $(VBOX_QT_PATH
)/plugins
/platforms
/lib
$(qtplat
)$(SUFF_DLL
).dSYM
/Contents
/Resources
/DWARF
/$(qtplat
)=>plugins
/platforms
/lib
$(qtplat
)$(SUFF_DLL
).dSYM
/Contents
/Resources
/DWARF
/$(qtplat
))
273 qt-bin_SOURCES
+= $(foreach qtsqldrv
, qsqlite
, \
274 $(VBOX_QT_PATH
)/plugins
/sqldrivers
/lib
$(qtsqldrv
)$(SUFF_DLL
).dSYM
/Contents
/Info.plist
=>plugins
/sqldrivers
/lib
$(qtsqldrv
)$(SUFF_DLL
).dSYM
/Contents
/Info.plist \
275 $(VBOX_QT_PATH
)/plugins
/sqldrivers
/lib
$(qtsqldrv
)$(SUFF_DLL
).dSYM
/Contents
/Resources
/DWARF
/$(qtsqldrv
)=>plugins
/sqldrivers
/lib
$(qtsqldrv
)$(SUFF_DLL
).dSYM
/Contents
/Resources
/DWARF
/$(qtsqldrv
))
276 qt-bin_SOURCES
+= $(foreach qtstyl
, qmacstyle
, \
277 $(VBOX_QT_PATH
)/plugins
/styles
/lib
$(qtstyl
)$(SUFF_DLL
).dSYM
/Contents
/Info.plist
=>plugins
/styles
/lib
$(qtstyl
)$(SUFF_DLL
).dSYM
/Contents
/Info.plist \
278 $(VBOX_QT_PATH
)/plugins
/styles
/lib
$(qtstyl
)$(SUFF_DLL
).dSYM
/Contents
/Resources
/DWARF
/$(qtstyl
)=>plugins
/styles
/lib
$(qtstyl
)$(SUFF_DLL
).dSYM
/Contents
/Resources
/DWARF
/$(qtstyl
))
281 qt-bin_SYMLINKS
= $(foreach qtmod
, $(VBOX_QT_MOD_NAMES
), \
282 Frameworks
/$(qtmod
).framework
/Versions
/Current
=>$(VBOX_QT_FWRK_VER
) \
283 Frameworks
/$(qtmod
).framework
/$(qtmod
)=>Versions
/$(VBOX_QT_FWRK_VER
)/$(qtmod
) \
284 Frameworks
/$(qtmod
).framework
/Resources
=>Versions
/$(VBOX_QT_FWRK_VER
)/Resources
)
285 qt-bin_INSTALLER
= $(INSTALL
) $(if
$(uid
),-o
$(uid
)) $(if
$(gid
),-g
$(gid
)) $(if
$(mode
),-m
$(mode
)) $(4) -- "$(1)" "$(2)" \
286 $(if-expr
"$(source_type_prefix)" == "EXEC_" \
287 ,$(NLTAB
)install_name_tool \
288 $(if-expr
"$(suffix $2)" == "", -id
"$(if $(VBOX_WITH_HARDENING),/Applications/VirtualBox.app/Contents/Framework,@rpath)/$(notdir $(2)).framework/Version/$(VBOX_QT_FWRK_VER)/$(notdir $(2))",) \
289 $(foreach qtmod
, $(VBOX_QT_MOD_NAMES
), \
290 $(foreach prefix, @executable_path
/..
/Frameworks
/ $(VBOX_PATH_QT
)/Frameworks
/ $(VBOX_QT_PATH
)/, \
291 -change
"$(prefix)$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/$(qtmod)" \
292 "$(if $(VBOX_WITH_HARDENING),/Applications/VirtualBox.app/Contents/Frameworks,@rpath)/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/$(qtmod)") ) \
293 "$(2)",) # HACK ALERT! Using $(source_type_prefix) to detect EXEC_SOURCES.
294 else if defined
(VBOX_WITH_QTGUI
) && !defined
(VBOX_ONLY_SDK
) && (defined
(VBOX_WITH_ORACLE_QT
) || defined
(VBOX_WITH_QT_PAYLOAD
))
297 include $(KBUILD_PATH
)/units
/qt5.kmk
299 include $(KBUILD_PATH
)/units
/qt6.kmk
304 qt-bin_INST
= $(INST_BIN
)
306 ifeq ($(KBUILD_TARGET
),win
)
309 $(foreach qtmod
,$(VBOX_QT_MOD_NAMES
),$(call VBOX_RE_SIGN_DLL_FN
,qt-bin
,$(PATH_SDK_QT5
)/bin
/$(qtmod
)$(SUFF_DLL
)))
311 $(call VBOX_RE_SIGN_DLL_FN
,qt-bin
,$(PATH_SDK_QT5
)/plugins
/platforms
/qwindows
$(VBOX_QT_DBG
)$(SUFF_DLL
))=>platforms
/qwindows
$(VBOX_QT_DBG
)$(SUFF_DLL
) \
312 $(call VBOX_RE_SIGN_DLL_FN
,qt-bin
,$(PATH_SDK_QT5
)/plugins
/platforms
/qminimal
$(VBOX_QT_DBG
)$(SUFF_DLL
))=>platforms
/qminimal
$(VBOX_QT_DBG
)$(SUFF_DLL
) \
313 $(call VBOX_RE_SIGN_DLL_FN
,qt-bin
,$(PATH_SDK_QT5
)/plugins
/platforms
/qoffscreen
$(VBOX_QT_DBG
)$(SUFF_DLL
))=>platforms
/qoffscreen
$(VBOX_QT_DBG
)$(SUFF_DLL
) \
314 $(call VBOX_RE_SIGN_DLL_FN
,qt-bin
,$(PATH_SDK_QT5
)/plugins
/sqldrivers
/qsqlite
$(VBOX_QT_DBG
)$(SUFF_DLL
))=>sqldrivers
/qsqlite
$(VBOX_QT_DBG
)$(SUFF_DLL
) \
315 $(call VBOX_RE_SIGN_DLL_FN
,qt-bin
,$(PATH_SDK_QT5
)/plugins
/styles
/qwindowsvistastyle
$(VBOX_QT_DBG
)$(SUFF_DLL
))=>styles
/qwindowsvistastyle
$(VBOX_QT_DBG
)$(SUFF_DLL
)
316 ifdef VBOX_WITH_QT_PDBS
317 qt-bin_SOURCES
+= $(foreach qtmod
,$(VBOX_QT_MOD_NAMES
),$(wildcard $(PATH_SDK_QT5
)/qt
*/$(VBOX_PATH_QT_LIB
)/$(qtmod
).pdb
))
321 $(foreach qtmod
,$(VBOX_QT_MOD_NAMES
),$(call VBOX_RE_SIGN_DLL_FN
,qt-bin
,$(PATH_SDK_QT6
)/bin
/$(qtmod
)$(SUFF_DLL
)))
323 $(call VBOX_RE_SIGN_DLL_FN
,qt-bin
,$(PATH_SDK_QT6
)/plugins
/platforms
/qwindows
$(VBOX_QT_POSTFIX
)$(VBOX_QT_DBG
)$(SUFF_DLL
))=>platforms
/qwindows
$(VBOX_QT_POSTFIX
)$(VBOX_QT_DBG
)$(SUFF_DLL
) \
324 $(call VBOX_RE_SIGN_DLL_FN
,qt-bin
,$(PATH_SDK_QT6
)/plugins
/platforms
/qminimal
$(VBOX_QT_POSTFIX
)$(VBOX_QT_DBG
)$(SUFF_DLL
))=>platforms
/qminimal
$(VBOX_QT_POSTFIX
)$(VBOX_QT_DBG
)$(SUFF_DLL
) \
325 $(call VBOX_RE_SIGN_DLL_FN
,qt-bin
,$(PATH_SDK_QT6
)/plugins
/platforms
/qoffscreen
$(VBOX_QT_POSTFIX
)$(VBOX_QT_DBG
)$(SUFF_DLL
))=>platforms
/qoffscreen
$(VBOX_QT_POSTFIX
)$(VBOX_QT_DBG
)$(SUFF_DLL
) \
326 $(call VBOX_RE_SIGN_DLL_FN
,qt-bin
,$(PATH_SDK_QT6
)/plugins
/sqldrivers
/qsqlite
$(VBOX_QT_POSTFIX
)$(VBOX_QT_DBG
)$(SUFF_DLL
))=>sqldrivers
/qsqlite
$(VBOX_QT_POSTFIX
)$(VBOX_QT_DBG
)$(SUFF_DLL
) \
327 $(call VBOX_RE_SIGN_DLL_FN
,qt-bin
,$(PATH_SDK_QT6
)/plugins
/styles
/qwindowsvistastyle
$(VBOX_QT_POSTFIX
)$(VBOX_QT_DBG
)$(SUFF_DLL
))=>styles
/qwindowsvistastyle
$(VBOX_QT_POSTFIX
)$(VBOX_QT_DBG
)$(SUFF_DLL
)
328 ifdef VBOX_WITH_QT_PDBS
329 qt-bin_SOURCES
+= $(foreach qtmod
,$(VBOX_QT_MOD_NAMES
),$(wildcard $(PATH_SDK_QT6
)/qt
*/$(VBOX_PATH_QT_LIB
)/$(qtmod
).pdb
))
335 VBOX_QT_VERSION
:= 5.15.2
336 VBOX_QT_VERSION_MAJOR
:= 5
338 VBOX_QT_VERSION
:= 6.5.3
339 VBOX_QT_VERSION_MAJOR
:= 6
341 ifdef VBOX_WITH_HARDENING
342 # The wildcards are necessary to install the libs instead of the symlinks
344 $(foreach qtmod
,$(VBOX_QT_MOD_NAMES
),$(wildcard $(VBOX_PATH_QT_LIB
)/lib
$(qtmod
).so.
*.
*.
*[0-9])=>lib
$(qtmod
).so.
$(VBOX_QT_VERSION_MAJOR
)) \
345 $(foreach lib
,$(VBOX_QT_PLUGINS
),$(VBOX_PATH_QT
)/$(lib
)=>$(lib
))
346 else # !VBOX_WITH_HARDENING
347 # For non-hardened builds we need to remove the RUNPATH. This stuff is
348 # ugly but we need to prevent kBuild from hard-linking otherwise we
349 # (indirectly) change the binaries in tools
351 $(foreach qtmod
,$(VBOX_QT_MOD_NAMES
),$(qt-bin_0_OUTDIR
)/lib
$(qtmod
).so.
$(VBOX_QT_VERSION
)=>lib
$(qtmod
).so.
$(VBOX_QT_VERSION_MAJOR
)) \
352 $(foreach lib
,$(VBOX_QT_PLUGINS
),$(qt-bin_0_OUTDIR
)/$(lib
)=>$(lib
))
354 $(foreach qtmod
,$(VBOX_QT_MOD_NAMES
),$$(qt-bin_0_OUTDIR
)/lib
$(qtmod
).so.
$(VBOX_QT_VERSION
)): \
355 $$(qt-bin_0_OUTDIR
)/% : $(VBOX_PATH_QT_LIB
)/% |
$$(qt-bin_0_OUTDIR
)/
356 $(call MSG_INST_FILE
,$^
,$@
)
358 $(QUIET
)chrpath
--replace
"\$$ORIGIN" $@
360 ifn1of
($(KBUILD_TARGET
), solaris linux
)
361 $(foreach lib
,$(VBOX_QT_PLUGINS
),$$(qt-bin_0_OUTDIR
)/$(lib
)): $$(qt-bin_0_OUTDIR
)/% : \
362 $(VBOX_PATH_QT
)/% |
$$(qt-bin_0_OUTDIR
)/
363 $(call MSG_INST_FILE
,$^
,$@
)
364 $(QUIET
)$(MKDIR
) -p
$(@D
)
366 $(QUIET
)chrpath
--delete
$@
367 endif # !solaris and !linux
369 # @todo For solaris and some linuxes dlopen fails to navigate executable rpath to dependent libraries,
370 # so add explicit rpath for libqxcb.so, find better solution later.
371 if1of
($(KBUILD_TARGET
), solaris linux
)
372 $(foreach lib
,$(VBOX_QT_PLUGINS
),$$(qt-bin_0_OUTDIR
)/$(lib
)): $$(qt-bin_0_OUTDIR
)/% : \
373 $(VBOX_PATH_QT
)/% |
$$(qt-bin_0_OUTDIR
)/
374 $(call MSG_INST_FILE
,$^
,$@
)
375 $(QUIET
)$(MKDIR
) -p
$(@D
)
377 $(QUIET
)chrpath
--replace
"\$$ORIGIN/../../" $@
378 endif # solaris linux
380 endif # !VBOX_WITH_HARDENING
382 endif # defined(VBOX_WITH_QTGUI) && !defined(VBOX_ONLY_SDK)
386 # Install additions iso from the build server if configured to do so.
388 # Note! For building the combined package, just get the additions .ISO
389 # once for amd64 to prevent version inconsistences. In all other
390 # cases we get the .ISO per target architecture.
392 if defined
(VBOX_WITH_ADDITIONS_FROM_BUILD_SERVER
) \
393 && ( !defined
(VBOX_WITH_COMBINED_PACKAGE
) \
394 ||
"$(KBUILD_TARGET_ARCH)" == "amd64" )
395 INSTALLS
+= buildserver-additions
396 buildserver-additions_INST
= $(INST_ADDITIONS_ISO
)
397 buildserver-additions_MODE
= 0644
398 buildserver-additions_SOURCES
= $(PATH_TARGET
)/VBoxGuestAdditions.iso
399 buildserver-additions_CLEANS
= \
400 $(buildserver-additions_0_OUTDIR
)/unpacked.ts \
401 $(buildserver-additions_0_OUTDIR
)/VBoxGuestAdditions.zip \
402 $(buildserver-additions_0_OUTDIR
)/VBoxGuestAdditions.zip.tmp \
403 $(PATH_TARGET
)/VBoxGuestAdditions.iso
405 $$(buildserver-additions_0_OUTDIR
)/unpacked.ts
+|
$(PATH_TARGET
)/VBoxGuestAdditions.iso
: \
406 $$(buildserver-additions_0_OUTDIR
)/VBoxGuestAdditions.zip
407 $(call MSG_L1
,Unpacking additions archive
)
408 $(QUIET
)$(TOOL_ZIP_UNPACK
) $(TOOL_ZIP_UNPACKFLAGS
) -o
$< -d
$(PATH_TARGET
)
409 $(TOUCH
) -c
-- $(PATH_TARGET
)/VBoxGuestAdditions.iso
410 $(APPEND
) -t
$@
"done"
412 $$(buildserver-additions_0_OUTDIR
)/VBoxGuestAdditions.zip
: $(VBOX_SVN_REV_KMK
) $(KBUILD_DEVTOOLS
)/bin
/additions.sh |
$$(dir $$@
)
413 $(RM
) -f
-- "$@" "$@.tmp"
414 $(SHELL
) $(KBUILD_DEVTOOLS
)/bin
/additions.sh
--cmd fetch
--filename
"$@.tmp" $(if
$(VBOX_USE_PROXY_FOR_BUILD_SERVER
),--default-proxy
,)
415 $(MV
) -f
-- "$@.tmp" "$@"
417 endif # VBOX_WITH_ADDITIONS_FROM_BUILD_SERVER unless win.x86+combined
421 # Install documentation files (at the moment the .chm) from the build server.
423 ifdef VBOX_WITH_DOCS_FROM_BUILD_SERVER
424 ## @todo r=bird: Too much mess now for $(PATH_TARGET); move to doc/manual/.
425 INSTALLS
+= buildserver-docs
426 buildserver-docs_INST
= $(INST_BIN
)
427 buildserver-docs_MODE
= 0644
428 buildserver-docs_SOURCES
= \
429 $(addprefix $(PATH_TARGET
)/, \
430 $(if-expr defined
(VBOX_WITH_DOCS_QHELP_PACKING
),UserManual.qch UserManual.qhc
,) \
432 $(foreach f
,$(VBOX_MANUAL_ADD_LANGUAGES
), \
433 $(if-expr defined
(VBOX_WITH_DOCS_QHELP_PACKING
),UserManual_
$(f
).qch UserManual_
$(f
).qhc
,) \
434 UserManual_
$(f
).pdf
))
435 buildserver-docs_CLEANS
= \
436 $(buildserver-docs_0_OUTDIR
)/unpacked.ts \
437 $(buildserver-docs_0_OUTDIR
)/VBoxDocumentation.zip \
438 $(buildserver-docs_0_OUTDIR
)/VBoxDocumentation.zip.tmp \
439 $(addprefix $(PATH_TARGET
)/, \
440 VirtualBox.chm UserManual.qch UserManual.qhc UserManual.pdf \
441 $(foreach f
,$(VBOX_MANUAL_ADD_LANGUAGES
), \
442 VirtualBox_
$(f
).chm \
443 UserManual_
$(f
).qch UserManual_
$(f
).qhc \
444 UserManual_
$(f
).pdf
))
446 $$(buildserver-docs_0_OUTDIR
)/unpacked.ts
+| \
447 $(if-expr defined
(VBOX_WITH_DOCS_QHELP_PACKING
),$(PATH_TARGET
)/UserManual.qch
$(PATH_TARGET
)/UserManual.qhc
,) \
448 $(PATH_TARGET
)/UserManual.pdf \
449 $(foreach f
,$(VBOX_MANUAL_ADD_LANGUAGES
), \
450 $(if-expr defined
(VBOX_WITH_DOCS_QHELP_PACKING
),$(PATH_TARGET
)/UserManual_
$(f
).qch
$(PATH_TARGET
)/UserManual_
$(f
).qhc
,) \
451 $(PATH_TARGET
)/UserManual_
$(f
).pdf
): \
452 $$(buildserver-docs_0_OUTDIR
)/VBoxDocumentation.zip
453 $(call MSG_L1
,Unpacking documentation
)
454 $(QUIET
)$(TOOL_ZIP_UNPACK
) $(TOOL_ZIP_UNPACKFLAGS
) -o
$< -d
$(PATH_TARGET
)
456 $(if-expr defined
(VBOX_WITH_DOCS_QHELP_PACKING
),$(PATH_TARGET
)/UserManual.qch
$(PATH_TARGET
)/UserManual.qhc
,) \
457 $(PATH_TARGET
)/UserManual.pdf \
458 $(foreach f
,$(VBOX_MANUAL_ADD_LANGUAGES
), \
459 $(if-expr defined
(VBOX_WITH_DOCS_QHELP_PACKING
),$(PATH_TARGET
)/UserManual_
$(f
).qch
$(PATH_TARGET
)/UserManual_
$(f
).qhc
,) \
460 $(PATH_TARGET
)/UserManual_
$(f
).pdf
)
461 $(APPEND
) -t
$@
"done"
463 $$(buildserver-docs_0_OUTDIR
)/VBoxDocumentation.zip
: $(VBOX_SVN_REV_KMK
) $(KBUILD_DEVTOOLS
)/bin
/documentation.sh |
$$(dir $$@
)
464 $(RM
) -f
-- "$@" "$@.tmp"
465 $(SHELL
) $(KBUILD_DEVTOOLS
)/bin
/documentation.sh
--cmd fetch
--filename
"$@.tmp" $(if
$(VBOX_USE_PROXY_FOR_BUILD_SERVER
),--default-proxy
,)
466 $(MV
) -f
-- "$@.tmp" "$@"
468 endif # VBOX_WITH_DOCS_FROM_BUILD_SERVER
471 if defined
(VBOX_WITH_EFI
) && !defined
(VBOX_ONLY_SDK
)
473 # Install EFI firmware image
475 ifdef VBOX_WITH_EFIFW_FROM_BUILD_SERVER
477 # Either from the build server.
479 ifndef VBOX_EFI_FIRMWARE_EFI_MODULES_KMK_INCLUDED
480 include $(PATH_ROOT
)/src
/VBox
/Devices
/EFI
/Firmware
/EfiModules.kmk
482 INSTALLS
+= buildserver-efifw
483 buildserver-efifw_INST
= $(INST_BIN
)
484 buildserver-efifw_MODE
= 0644
485 buildserver-efifw_SOURCES
= \
486 $(buildserver-efifw_0_OUTDIR
)/VBoxEFI32.fd \
487 $(buildserver-efifw_0_OUTDIR
)/VBoxEFI64.fd
488 buildserver-efifw_CLEANS
= \
489 $(buildserver-efifw_0_OUTDIR
)/unpacked.ts \
490 $(buildserver-efifw_0_OUTDIR
)/VBoxEFI32.fd \
491 $(buildserver-efifw_0_OUTDIR
)/VBoxEFI64.fd \
492 $(buildserver-efifw_0_OUTDIR
)/VBoxEfiFirmware.zip \
493 $(buildserver-efifw_0_OUTDIR
)/VBoxEfiFirmware.zip.tmp \
494 $(foreach arch
, amd64 x86
, $(foreach mod
,$(VBOX_EFI_MODULES_FLAT_X86
),$$(buildserver-efifw_0_OUTDIR
)/$(arch
)/$(mod
).pdb
))
496 INSTALLS
+= buildserver-efifw-dbg-amd64
497 buildserver-efifw-dbg-amd64_INST
= $(INST_VBOXDBG_SYMS
)amd64
/
498 buildserver-efifw-dbg-amd64_MODE
= 0644
499 buildserver-efifw-dbg-amd64_SOURCES
= \
500 $(foreach mod
,$(VBOX_EFI_MODULES_FLAT_X86
),$(buildserver-efifw_0_OUTDIR
)/amd64
/$(mod
).pdb
)
502 INSTALLS
+= buildserver-efifw-dbg-x86
503 buildserver-efifw-dbg-x86_INST
= $(INST_VBOXDBG_SYMS
)x86
/
504 buildserver-efifw-dbg-x86_MODE
= 0644
505 buildserver-efifw-dbg-x86_SOURCES
= \
506 $(foreach mod
,$(VBOX_EFI_MODULES_FLAT_X86
),$(buildserver-efifw_0_OUTDIR
)/x86
/$(mod
).pdb
)
508 $$(buildserver-efifw_0_OUTDIR
)/unpacked.ts \
509 +|
$$(buildserver-efifw_0_OUTDIR
)/VBoxEFI32.fd \
510 $$(buildserver-efifw_0_OUTDIR
)/VBoxEFI64.fd \
511 $(foreach arch
, amd64 x86
, $(foreach mod
,$(VBOX_EFI_MODULES_FLAT_X86
),$$(buildserver-efifw_0_OUTDIR
)/$(arch
)/$(mod
).pdb
)): \
512 $$(buildserver-efifw_0_OUTDIR
)/VBoxEfiFirmware.zip
513 $(call MSG_L1
,Unpacking EFI firmware
)
514 $(QUIET
)$(TOOL_ZIP_UNPACK
) $(TOOL_ZIP_UNPACKFLAGS
) -o
$< -d
$(buildserver-efifw_0_OUTDIR
)
515 $(foreach arch
, amd64 x86
, \
516 $(NLTAB
) $(QUIET
)$(TEST
) '!' -d
$(dir $@
)/$(arch
) -- $(MKDIR_EXT
) -- $(dir $@
)/$(arch
) \
517 $(foreach mod
,$(VBOX_EFI_MODULES_FLAT_X86
) \
518 ,$(NLTAB
) $(QUIET
)$(TEST
) '!' -f
$(dir $@
)/$(arch
)/$(mod
).pdb
-- $(APPEND_EXT
) $(dir $@
)/$(arch
)/$(mod
).pdb
))
519 $(TOUCH
) -c
-- $(buildserver-efifw_0_OUTDIR
)/VBoxEFI32.fd \
520 $(buildserver-efifw_0_OUTDIR
)/VBoxEFI64.fd
521 $(APPEND
) -t
$@
"done"
523 $$(buildserver-efifw_0_OUTDIR
)/VBoxEfiFirmware.zip
: \
524 $(VBOX_SVN_REV_KMK
) $(KBUILD_DEVTOOLS
)/bin
/efi_firmware.sh |
$$(dir $$@
)
525 $(RM
) -f
-- "$@" "$@.tmp"
526 $(SHELL
) $(KBUILD_DEVTOOLS
)/bin
/efi_firmware.sh
--cmd fetch
--filename
"$@.tmp" $(if
$(VBOX_USE_PROXY_FOR_BUILD_SERVER
),--default-proxy
,)
527 $(MV
) -f
-- "$@.tmp" "$@"
529 ifdef VBOX_WITH_VIRT_ARMV8
531 # The ARMv8 EFI images
533 INSTALLS
+= buildserver-efifw-armv8
534 buildserver-efifw-armv8_INST
= $(INST_BIN
)
535 buildserver-efifw-armv8_MODE
= 0644
536 buildserver-efifw-armv8_SOURCES
= \
537 $(buildserver-efifw-armv8_0_OUTDIR
)/VBoxEFIAArch32.fd \
538 $(buildserver-efifw-armv8_0_OUTDIR
)/VBoxEFIAArch64.fd
539 buildserver-efifw-armv8_CLEANS
= \
540 $(buildserver-efifw-armv8_0_OUTDIR
)/unpacked.ts \
541 $(buildserver-efifw-armv8_0_OUTDIR
)/VBoxEFIAArch32.fd \
542 $(buildserver-efifw-armv8_0_OUTDIR
)/VBoxEFIAArch64.fd \
543 $(buildserver-efifw-armv8_0_OUTDIR
)/VBoxEfiFirmware-armv8.zip \
544 $(buildserver-efifw-armv8_0_OUTDIR
)/VBoxEfiFirmware-armv8.zip.tmp \
545 $(foreach arch
, aarch64 aarch32
, $(foreach mod
,$(VBOX_EFI_MODULES_FLAT_ARM
),$$(buildserver-efifw-armv8_0_OUTDIR
)/$(arch
)/$(mod
).pdb
))
547 INSTALLS
+= buildserver-efifw-dbg-aarch64
548 buildserver-efifw-dbg-aarch64_INST
= $(INST_VBOXDBG_SYMS
)aarch64
/
549 buildserver-efifw-dbg-aarch64_MODE
= 0644
550 buildserver-efifw-dbg-aarch64_SOURCES
= \
551 $(foreach mod
,$(VBOX_EFI_MODULES_FLAT_ARM
),$(buildserver-efifw-armv8_0_OUTDIR
)/aarch64
/$(mod
).pdb
)
553 INSTALLS
+= buildserver-efifw-dbg-aarch32
554 buildserver-efifw-dbg-aarch32_INST
= $(INST_VBOXDBG_SYMS
)aarch32
/
555 buildserver-efifw-dbg-aarch32_MODE
= 0644
556 buildserver-efifw-dbg-aarch32_SOURCES
= \
557 $(foreach mod
,$(VBOX_EFI_MODULES_FLAT_ARM
),$(buildserver-efifw-armv8_0_OUTDIR
)/aarch32
/$(mod
).pdb
)
559 $$(buildserver-efifw-armv8_0_OUTDIR
)/unpacked.ts \
560 +|
$$(buildserver-efifw-armv8_0_OUTDIR
)/VBoxEFIAArch32.fd \
561 $$(buildserver-efifw-armv8_0_OUTDIR
)/VBoxEFIAArch64.fd \
562 $(foreach arch
, aarch64 aarch32
, $(foreach mod
,$(VBOX_EFI_MODULES_FLAT_ARM
),$$(buildserver-efifw-armv8_0_OUTDIR
)/$(arch
)/$(mod
).pdb
)): \
563 $$(buildserver-efifw-armv8_0_OUTDIR
)/VBoxEfiFirmware-armv8.zip
564 $(call MSG_L1
,Unpacking EFI ARMv8 firmware
)
565 $(QUIET
)$(TOOL_ZIP_UNPACK
) $(TOOL_ZIP_UNPACKFLAGS
) -o
$< -d
$(buildserver-efifw-armv8_0_OUTDIR
)
566 $(foreach arch
, aarch64 aarch32
, \
567 $(NLTAB
) $(QUIET
)$(TEST
) '!' -d
$(dir $@
)/$(arch
) -- $(MKDIR_EXT
) -- $(dir $@
)/$(arch
) \
568 $(foreach mod
,$(VBOX_EFI_MODULES_FLAT_ARM
) \
569 ,$(NLTAB
) $(QUIET
)$(TEST
) '!' -f
$(dir $@
)/$(arch
)/$(mod
).pdb
-- $(APPEND_EXT
) $(dir $@
)/$(arch
)/$(mod
).pdb
))
570 $(TOUCH
) -c
-- $(buildserver-efifw-armv8_0_OUTDIR
)/VBoxEFIAArch32.fd \
571 $(buildserver-efifw-armv8_0_OUTDIR
)/VBoxEFIAArch64.fd
572 $(APPEND
) -t
$@
"done"
574 $$(buildserver-efifw-armv8_0_OUTDIR
)/VBoxEfiFirmware-armv8.zip
: \
575 $(VBOX_SVN_REV_KMK
) $(KBUILD_DEVTOOLS
)/bin
/efi_firmware.sh |
$$(dir $$@
)
576 $(RM
) -f
-- "$@" "$@.tmp"
577 $(SHELL
) $(KBUILD_DEVTOOLS
)/bin
/efi_firmware.sh
--cmd fetch-armv8
--filename
"$@.tmp" $(if
$(VBOX_USE_PROXY_FOR_BUILD_SERVER
),--default-proxy
,)
578 $(MV
) -f
-- "$@.tmp" "$@"
581 else # !VBOX_WITH_EFIFW_FROM_BUILD_SERVER
583 # Or from the local copy (no debug).
585 INSTALLS
+= local-efifw
586 local-efifw_INST
= $(INST_BIN
)
587 local-efifw_MODE
= 0644
588 local-efifw_SOURCES
= \
589 $(PATH_ROOT
)/src
/VBox
/Devices
/EFI
/FirmwareBin
/VBoxEFI32.fd
=>VBoxEFI32.fd \
590 $(PATH_ROOT
)/src
/VBox
/Devices
/EFI
/FirmwareBin
/VBoxEFI64.fd
=>VBoxEFI64.fd
591 ifdef VBOX_WITH_VIRT_ARMV8
592 local-efifw_SOURCES
+= \
593 $(PATH_ROOT
)/src
/VBox
/Devices
/EFI
/FirmwareBin
/VBoxEFIAArch32.fd
=>VBoxEFIAArch32.fd \
594 $(PATH_ROOT
)/src
/VBox
/Devices
/EFI
/FirmwareBin
/VBoxEFIAArch64.fd
=>VBoxEFIAArch64.fd
596 endif # !VBOX_WITH_EFIFW_FROM_BUILD_SERVER
597 endif # VBOX_WITH_EFI && !VBOX_ONLY_SDK
600 ifdef VBOX_WITH_EXTPACKS_FROM_BUILD_SERVER
602 # Get the extension pack from from the build server to facility the automatic
603 # testing (everything in one tarball (VBoxAll-*)).
605 # Note! Using the plural here as we might be downloading more packages eventually.
607 INSTALLS
+= buildserver-extpacks
608 buildserver-extpacks_INST
= $(INST_DIST
)
609 buildserver-extpacks_MODE
= 0644
610 buildserver-extpacks_SOURCES
= \
611 $(buildserver-extpacks_0_OUTDIR
)/Oracle_VM_VirtualBox_Extension_Pack.vbox-extpack
612 buildserver-extpacks_CLEANS
= \
613 $(buildserver-extpacks_0_OUTDIR
)/Oracle_VM_VirtualBox_Extension_Pack.vbox-extpack \
614 $(buildserver-extpacks_0_OUTDIR
)/Oracle_VM_VirtualBox_Extension_Pack.vbox-extpack.tmp
616 $$(buildserver-extpacks_0_OUTDIR
)/Oracle_VM_VirtualBox_Extension_Pack.vbox-extpack
: \
617 $(VBOX_SVN_REV_KMK
) $(KBUILD_DEVTOOLS
)/bin
/extpacks.sh |
$$(dir $$@
)
618 $(RM
) -f
-- "$@.tmp" "$@"
619 $(SHELL
) $(KBUILD_DEVTOOLS
)/bin
/extpacks.sh
--cmd fetch
--filename
"$@.tmp" --vbox-version
"$(VBOX_VERSION_STRING_NO_PUB)" \
620 $(if
$(VBOX_USE_PROXY_FOR_BUILD_SERVER
),--default-proxy
,)
621 $(MV
) -f
-- "$@.tmp" "$@"
628 # Install staged binaries on platforms where we can't cross
631 ifn1of
($(KBUILD_TARGET
), linux win
)
632 VBOX_PATH_STAGED ?
= .
635 ifndef VBOX_WITH_LINUX_ADDITIONS
636 ifndef VBOX_WITH_WIN32_ADDITIONS
637 ifneq ($(wildcard $(VBOX_PATH_STAGED
)/VBoxGuestAdditions.iso
),)
638 INSTALLS
+= staged-additions
639 staged-additions_INST
= $(INST_ADDITIONS_ISO
)
640 staged-additions_MODE
= 0644
641 staged-additions_SOURCES
= $(VBOX_PATH_STAGED
)/VBoxGuestAdditions.iso
647 ifndef VBOX_WITH_WIN32_ADDITIONS
648 ifneq ($(wildcard $(VBOX_PATH_STAGED
)/guesttool.exe
),)
649 INSTALLS
+= staged-guesttool
650 staged-guesttool_INST
= $(INST_BIN
)
651 staged-guesttool_SOURCES
= $(VBOX_PATH_STAGED
)/guesttool.exe
657 endif # !VBOX_ONLY_ADDITIONS && !VBOX_ONLY_DOCS && !VBOX_ONLY_EXTPACKS && !VBOX_ONLY_VALIDATIONKIT
661 # It may sound a bit odd, but for preparing the documentation package the
662 # doxygen documentation isn't needed and increases the build time a lot.
664 else # !VBOX_ONLY_DOCS
666 # Generate documentation.
667 # (This should be converted into a separate pass or merged with an existing one later.)
669 ifdef VBOX_WITH_ALL_DOXYGEN_TARGETS
674 endif # !VBOX_ONLY_DOCS
677 # The core (VMM+Devices+Main) documentation.
679 # This includes so much because we wish to have the complete CFGM
682 VBOX_CORE_DOXYFILE_OUTPUT
= $(PATH_OUT
)/docs
/Core
683 BLDDIRS
+= $(VBOX_CORE_DOXYFILE_OUTPUT
)
685 $(VBOX_CORE_DOXYFILE_OUTPUT
)/Doxyfile.Core \
686 $(VBOX_CORE_DOXYFILE_OUTPUT
)/Doxyfile.Core.dep
688 VBOX_CORE_DOXYFILE_INPUT_DIRS
= \
691 include/iprt
/crypto \
692 include/iprt
/formats \
695 include/iprt
/solaris \
701 include/VBox
/ExtPack \
702 include/VBox
/HostServices \
703 include/VBox
/GuestHost \
709 src
/VBox
/VMM
/VMMAll \
710 src
/VBox
/VMM
/VMMSwitcher \
711 src
/VBox
/VMM
/include \
714 src
/VBox
/Devices
/Audio \
715 src
/VBox
/Devices
/Bus \
716 src
/VBox
/Devices
/Graphics \
717 src
/VBox
/Devices
/Graphics
/BIOS \
718 src
/VBox
/Devices
/Graphics
/shaderlib \
719 src
/VBox
/Devices
/Input \
720 src
/VBox
/Devices
/Networking \
721 src
/VBox
/Devices
/PC \
722 src
/VBox
/Devices
/PC
/BIOS \
723 src
/VBox
/Devices
/Parallel \
724 src
/VBox
/Devices
/Serial \
725 src
/VBox
/Devices
/Storage \
726 src
/VBox
/Devices
/USB \
727 src
/VBox
/Devices
/USB
/darwin \
728 src
/VBox
/Devices
/USB
/linux \
729 src
/VBox
/Devices
/USB
/os2 \
730 src
/VBox
/Devices
/USB
/solaris \
731 src
/VBox
/Devices
/USB
/vrdp \
732 src
/VBox
/Devices
/USB
/win32 \
733 src
/VBox
/Devices
/VMMDev \
734 src
/VBox
/Main
/include \
735 src
/VBox
/Main
/include/hgcm \
738 src
/VBox
/Main
/webservice \
740 src
/VBox
/Main
/src-all \
741 src
/VBox
/Main
/src-all
/win \
742 src
/VBox
/Main
/src-client \
743 src
/VBox
/Main
/src-client
/win \
744 src
/VBox
/Main
/src-client
/xpcom \
745 src
/VBox
/Main
/src-server \
746 src
/VBox
/Main
/src-server
/darwin \
747 src
/VBox
/Main
/src-server
/linux \
748 src
/VBox
/Main
/src-server
/os2 \
749 src
/VBox
/Main
/src-server
/solaris \
750 src
/VBox
/Main
/src-server
/win \
751 src
/VBox
/Main
/src-server
/xpcom \
752 src
/VBox
/HostServices \
753 src
/VBox
/HostServices
/DragAndDrop \
754 src
/VBox
/HostServices
/GuestControl \
755 src
/VBox
/HostServices
/GuestProperties \
756 src
/VBox
/HostServices
/SharedClipboard \
757 src
/VBox
/HostServices
/SharedFolders \
758 src
/VBox
/HostServices
/SharedOpenGL \
759 src
/VBox
/HostServices
/SharedOpenGL
/crserver \
760 src
/VBox
/HostServices
/SharedOpenGL
/crserverlib \
761 src
/VBox
/HostServices
/SharedOpenGL
/render \
762 src
/VBox
/HostServices
/SharedOpenGL
/unpacker \
763 src
/VBox
/HostServices
/auth \
764 src
/VBox
/HostServices
/auth
/directoryservice \
765 src
/VBox
/HostServices
/auth
/pam \
766 src
/VBox
/HostServices
/auth
/simple \
767 src
/VBox
/HostServices
/auth
/winlogon \
768 src
/VBox
/HostDrivers
/Support \
769 src
/VBox
/HostDrivers
/Support
/darwin \
770 src
/VBox
/HostDrivers
/Support
/freebsd \
771 src
/VBox
/HostDrivers
/Support
/linux \
772 src
/VBox
/HostDrivers
/Support
/os2 \
773 src
/VBox
/HostDrivers
/Support
/solaris \
774 src
/VBox
/HostDrivers
/Support
/win \
775 src
/VBox
/HostDrivers
/VBoxNetFlt \
776 src
/VBox
/HostDrivers
/VBoxNetFlt
/darwin \
777 src
/VBox
/HostDrivers
/VBoxNetFlt
/linux \
778 src
/VBox
/HostDrivers
/VBoxNetFlt
/solaris \
779 src
/VBox
/HostDrivers
/VBoxNetFlt
/win \
780 src
/VBox
/HostDrivers
/VBoxNetNat \
781 src
/VBox
/HostDrivers
/VBoxNetNat
/darwin \
782 src
/VBox
/HostDrivers
/VBoxNetNat
/linux \
783 src
/VBox
/HostDrivers
/VBoxNetNat
/solaris \
784 src
/VBox
/HostDrivers
/VBoxNetNat
/win \
785 src
/VBox
/HostDrivers
/VBoxNetAdp \
786 src
/VBox
/HostDrivers
/VBoxNetAdp
/darwin \
787 src
/VBox
/HostDrivers
/VBoxNetAdp
/linux \
788 src
/VBox
/HostDrivers
/VBoxNetAdp
/solaris \
789 src
/VBox
/HostDrivers
/VBoxNetAdp
/win \
790 src
/VBox
/HostDrivers
/VBoxPci \
791 src
/VBox
/HostDrivers
/VBoxPci
/darwin \
792 src
/VBox
/HostDrivers
/VBoxPci
/linux \
793 src
/VBox
/HostDrivers
/VBoxPci
/solaris \
794 src
/VBox
/HostDrivers
/VBoxPci
/win \
795 src
/VBox
/HostDrivers
/VBoxUSB \
796 src
/VBox
/HostDrivers
/VBoxUSB
/darwin \
797 src
/VBox
/HostDrivers
/VBoxUSB
/os2 \
798 src
/VBox
/HostDrivers
/VBoxUSB
/solaris \
799 src
/VBox
/HostDrivers
/VBoxUSB
/win \
800 src
/VBox
/HostDrivers
/VBoxUSB
/win
/Device \
801 src
/VBox
/HostDrivers
/VBoxUSB
/win
/Device
/amd64 \
802 src
/VBox
/HostDrivers
/VBoxUSB
/win
/Device
/x86 \
803 src
/VBox
/HostDrivers
/VBoxUSB
/win
/Filter \
804 src
/VBox
/HostDrivers
/VBoxUSB
/win
/Install \
805 src
/VBox
/HostDrivers
/VBoxUSB
/win
/Monitor \
806 src
/VBox
/HostDrivers
/VBoxUSB
/win
/Monitor
/win32 \
807 src
/VBox
/HostDrivers
/VBoxUSB
/win
/Monitor
/win64 \
808 src
/VBox
/HostDrivers
/VBoxUSB
/win
/usbd \
810 src
/VBox
/Additions
/WINNT \
811 src
/VBox
/Additions
/WINNT
/Graphics \
812 src
/VBox
/Additions
/WINNT
/Graphics
/Video \
813 src
/VBox
/Additions
/WINNT
/Graphics
/Video
/common \
814 src
/VBox
/Additions
/WINNT
/Graphics
/Video
/common
/wddm \
815 src
/VBox
/Additions
/WINNT
/Graphics
/Video
/common
/xpdm \
816 src
/VBox
/Additions
/WINNT
/Graphics
/Video
/disp \
817 src
/VBox
/Additions
/WINNT
/Graphics
/Video
/disp
/common \
818 src
/VBox
/Additions
/WINNT
/Graphics
/Video
/disp
/wddm \
819 src
/VBox
/Additions
/WINNT
/Graphics
/Video
/disp
/wddm
/dbg \
820 src
/VBox
/Additions
/WINNT
/Graphics
/Video
/disp
/xpdm \
821 src
/VBox
/Additions
/WINNT
/Graphics
/Video
/mp \
822 src
/VBox
/Additions
/WINNT
/Graphics
/Video
/mp
/common \
823 src
/VBox
/Additions
/WINNT
/Graphics
/Video
/mp
/wddm \
824 src
/VBox
/Additions
/WINNT
/Graphics
/Video
/mp
/xpdm \
825 src
/VBox
/Additions
/WINNT
/Graphics
/Wine_new \
826 src
/VBox
/Additions
/WINNT
/Graphics
/Wine_new
/d3d8 \
827 src
/VBox
/Additions
/WINNT
/Graphics
/Wine_new
/d3d9 \
828 src
/VBox
/Additions
/WINNT
/Graphics
/Wine_new
/libWine \
829 src
/VBox
/Additions
/WINNT
/Graphics
/Wine_new
/switcher \
830 src
/VBox
/Additions
/WINNT
/Graphics
/Wine_new
/vbox \
831 src
/VBox
/Additions
/WINNT
/Graphics
/Wine_new
/wined3d \
832 src
/VBox
/Additions
/WINNT
/Installer \
833 src
/VBox
/Additions
/WINNT
/Installer
/ISO \
834 src
/VBox
/Additions
/WINNT
/Installer
/InstallHelper \
835 src
/VBox
/Additions
/WINNT
/Installer
/Languages \
836 src
/VBox
/Additions
/WINNT
/Installer
/Loader \
837 src
/VBox
/Additions
/WINNT
/Mouse \
838 src
/VBox
/Additions
/WINNT
/Mouse
/NT5 \
839 src
/VBox
/Additions
/WINNT
/Mouse
/common \
840 src
/VBox
/Additions
/WINNT
/SharedFolders \
841 src
/VBox
/Additions
/WINNT
/SharedFolders
/redirector \
842 src
/VBox
/Additions
/WINNT
/SharedFolders
/redirector
/dll \
843 src
/VBox
/Additions
/WINNT
/SharedFolders
/redirector
/sys \
844 src
/VBox
/Additions
/WINNT
/SharedFolders
/redirector
/sys
/rdbss \
845 src
/VBox
/Additions
/WINNT
/VBoxCredProv \
846 src
/VBox
/Additions
/WINNT
/VBoxGINA \
847 src
/VBox
/Additions
/WINNT
/VBoxHook \
848 src
/VBox
/Additions
/WINNT
/VBoxTray \
849 src
/VBox
/Additions
/WINNT
/VBoxUSB \
850 src
/VBox
/Additions
/WINNT
/i8042prt \
851 src
/VBox
/Additions
/WINNT
/i8042prt
/i386 \
852 src
/VBox
/Additions
/WINNT
/i8042prt
/include \
853 src
/VBox
/Additions
/WINNT
/include \
854 src
/VBox
/Additions
/common \
855 src
/VBox
/Additions
/common
/VBoxControl \
856 src
/VBox
/Additions
/common
/VBoxGuest \
857 src
/VBox
/Additions
/common
/VBoxGuest
/freebsd \
858 src
/VBox
/Additions
/common
/VBoxGuest
/linux \
859 src
/VBox
/Additions
/common
/VBoxGuest
/win \
860 src
/VBox
/Additions
/common
/VBoxGuestLib \
861 src
/VBox
/Additions
/common
/VBoxService \
862 src
/VBox
/Additions
/common
/VBoxVideo \
863 src
/VBox
/Additions
/common
/crOpenGL \
864 src
/VBox
/Additions
/common
/crOpenGL
/array \
865 src
/VBox
/Additions
/common
/crOpenGL
/feedback \
866 src
/VBox
/Additions
/common
/crOpenGL
/pack \
867 src
/VBox
/Additions
/common
/crOpenGL
/passthrough \
868 src
/VBox
/Additions
/common
/pam \
869 src
/VBox
/Additions
/darwin \
870 src
/VBox
/Additions
/freebsd \
871 src
/VBox
/Additions
/freebsd
/Installer \
872 src
/VBox
/Additions
/freebsd
/drm \
873 src
/VBox
/Additions
/freebsd
/vboxvfs \
874 src
/VBox
/Additions
/linux \
875 src
/VBox
/Additions
/linux
/drm \
876 src
/VBox
/Additions
/linux
/installer \
877 src
/VBox
/Additions
/linux
/selinux-fedora \
878 src
/VBox
/Additions
/linux
/sharedfolders \
879 src
/VBox
/Additions
/os2 \
880 src
/VBox
/Additions
/os2
/VBoxGradd \
881 src
/VBox
/Additions
/os2
/VBoxGradd
/graddlib \
882 src
/VBox
/Additions
/os2
/VBoxGrext \
883 src
/VBox
/Additions
/os2
/VBoxMouse \
884 src
/VBox
/Additions
/os2
/VBoxSF \
885 src
/VBox
/Additions
/solaris \
886 src
/VBox
/Additions
/solaris
/DRM \
887 src
/VBox
/Additions
/solaris
/Installer \
888 src
/VBox
/Additions
/solaris
/SharedFolders \
889 src
/VBox
/Additions
/solaris
/SharedFolders
/solaris10 \
890 src
/VBox
/Additions
/solaris
/SharedFolders
/solaris10
/sys \
891 src
/VBox
/Additions
/solaris
/Virtio \
892 src
/VBox
/Additions
/x11 \
893 src
/VBox
/Additions
/x11
/Installer \
894 src
/VBox
/Additions
/x11
/VBoxClient \
895 src
/VBox
/Additions
/x11
/vboxmouse \
896 src
/VBox
/Additions
/x11
/vboxmouse
/xorg70 \
897 src
/VBox
/Additions
/x11
/vboxmouse
/xorg71 \
898 src
/VBox
/Additions
/x11
/vboxvideo \
899 src
/VBox
/NetworkServices \
900 src
/VBox
/NetworkServices
/Dhcpd \
901 src
/VBox
/NetworkServices
/NAT \
902 src
/VBox
/NetworkServices
/NetLib \
904 src
/VBox
/ValidationKit
/ \
905 src
/VBox
/ValidationKit
/docs
/ \
906 src
/VBox
/ValidationKit
/testdriver
/ \
907 src
/VBox
/ValidationKit
/bootsectors
/ \
908 src
/VBox
/ValidationKit
/bootsectors
/bs3kit
/ \
909 src
/VBox
/ValidationKit
/tests
/ \
910 src
/VBox
/ValidationKit
/tests
/additions
/ \
911 src
/VBox
/ValidationKit
/tests
/api
/ \
912 src
/VBox
/ValidationKit
/tests
/autostart
/ \
913 src
/VBox
/ValidationKit
/tests
/benchmarks
/ \
914 src
/VBox
/ValidationKit
/tests
/cpu
/ \
915 src
/VBox
/ValidationKit
/tests
/installation
/ \
916 src
/VBox
/ValidationKit
/tests
/network
/ \
917 src
/VBox
/ValidationKit
/tests
/selftests
/ \
918 src
/VBox
/ValidationKit
/tests
/smoketests
/ \
919 src
/VBox
/ValidationKit
/tests
/storage
/ \
920 src
/VBox
/ValidationKit
/tests
/teleportation
/ \
921 src
/VBox
/ValidationKit
/tests
/unittests
/ \
922 src
/VBox
/ValidationKit
/tests
/usb
/ \
923 src
/VBox
/ValidationKit
/common
/ \
924 src
/VBox
/ValidationKit
/utils
/ \
925 src
/VBox
/ValidationKit
/utils
/TestExecServ
/ \
926 src
/VBox
/ValidationKit
/utils
/cpu
/ \
927 src
/VBox
/ValidationKit
/utils
/misc
/ \
928 src
/VBox
/ValidationKit
/utils
/network
/ \
929 src
/VBox
/ValidationKit
/utils
/nt
/ \
930 src
/VBox
/ValidationKit
/utils
/usb
/ \
931 src
/VBox
/ValidationKit
/vms
/ \
932 src
/VBox
/ValidationKit
/testmanager
/ \
933 src
/VBox
/ValidationKit
/testmanager
/core
/ \
934 src
/VBox
/ValidationKit
/testmanager
/db
/ \
935 src
/VBox
/ValidationKit
/testmanager
/debug
/ \
936 src
/VBox
/ValidationKit
/testmanager
/cgi
/ \
937 src
/VBox
/ValidationKit
/testmanager
/webui
/ \
938 src
/VBox
/ValidationKit
/testboxscript
/
940 # These must come first in order to make things look nice.
941 VBOX_CORE_DOXYFILE_INPUT_FIRST
= \
942 $(PATH_ROOT
)/doc
/VBox-doc.c \
943 $(PATH_ROOT
)/doc
/VBox-CodingGuidelines.
cpp \
944 $(PATH_ROOT
)/doc
/VBox-MakefileGuidelines.
cpp \
945 $(PATH_ROOT
)/src
/VBox
/VMM
/Docs-CodingGuidelines.
cpp \
946 $(PATH_ROOT
)/src
/VBox
/VMM
/Docs-RawMode.
cpp \
947 $(PATH_ROOT
)/include/VBox
/cdefs.h \
948 $(PATH_ROOT
)/include/VBox
/vmm
/vmm.h \
949 $(PATH_ROOT
)/include/VBox
/vmm
/vmapi.h \
950 $(PATH_ROOT
)/include/VBox
/vmm
/cpum.h \
951 $(PATH_ROOT
)/include/VBox
/vmm
/mm.h \
952 $(PATH_ROOT
)/include/VBox
/vmm
/pgm.h \
953 $(PATH_ROOT
)/include/VBox
/vmm
/selm.h \
954 $(PATH_ROOT
)/include/VBox
/vmm
/trpm.h \
955 $(PATH_ROOT
)/include/VBox
/vmm
/dbgf.h \
956 $(PATH_ROOT
)/include/VBox
/vmm
/stam.h \
957 $(PATH_ROOT
)/include/VBox
/vmm
/em.h \
958 $(PATH_ROOT
)/include/VBox
/vmm
/hm.h \
959 $(PATH_ROOT
)/include/VBox
/vmm
/hm_svm.h \
960 $(PATH_ROOT
)/include/VBox
/vmm
/hm_vmx.h \
961 $(PATH_ROOT
)/include/VBox
/vmm
/iem.h \
962 $(PATH_ROOT
)/include/VBox
/vmm
/nem.h \
963 $(PATH_ROOT
)/include/VBox
/vmm
/pdm.h \
964 $(PATH_ROOT
)/include/VBox
/vmm
/pdmifs.h \
965 $(PATH_ROOT
)/include/VBox
/vmm
/pdmaudioifs.h \
966 $(PATH_ROOT
)/include/VBox
/vmm
/pdmnetifs.h \
967 $(PATH_ROOT
)/include/VBox
/vmm
/pdmserialifs.h \
968 $(PATH_ROOT
)/include/VBox
/vmm
/pdmstorageifs.h \
969 $(PATH_ROOT
)/include/VBox
/vmm
/iom.h \
970 $(PATH_ROOT
)/include/VBox
/vmm
/cfgm.h \
971 $(PATH_ROOT
)/include/VBox
/vmm
/gim.h \
972 $(PATH_ROOT
)/include/VBox
/vmm
/tm.h \
973 $(PATH_ROOT
)/include/VBox
/vmm
/ssm.h \
975 $(PATH_ROOT
)/src
/VBox
/VMM
/include/CFGMInternal.h \
976 $(PATH_ROOT
)/src
/VBox
/VMM
/include/CPUMInternal.h \
977 $(PATH_ROOT
)/src
/VBox
/VMM
/include/DBGFInternal.h \
978 $(PATH_ROOT
)/src
/VBox
/VMM
/include/EMInternal.h \
979 $(PATH_ROOT
)/src
/VBox
/VMM
/include/HMInternal.h \
980 $(PATH_ROOT
)/src
/VBox
/VMM
/include/IEMInternal.h \
981 $(PATH_ROOT
)/src
/VBox
/VMM
/include/IOMInternal.h \
982 $(PATH_ROOT
)/src
/VBox
/VMM
/include/MMInternal.h \
983 $(PATH_ROOT
)/src
/VBox
/VMM
/include/NEMInternal.h \
984 $(PATH_ROOT
)/src
/VBox
/VMM
/include/PDMInternal.h \
985 $(PATH_ROOT
)/src
/VBox
/VMM
/include/PGMInternal.h \
986 $(PATH_ROOT
)/src
/VBox
/VMM
/include/GIMInternal.h \
987 $(PATH_ROOT
)/src
/VBox
/VMM
/include/SELMInternal.h \
988 $(PATH_ROOT
)/src
/VBox
/VMM
/include/SSMInternal.h \
989 $(PATH_ROOT
)/src
/VBox
/VMM
/include/STAMInternal.h \
990 $(PATH_ROOT
)/src
/VBox
/VMM
/include/TMInternal.h \
991 $(PATH_ROOT
)/src
/VBox
/VMM
/include/TRPMInternal.h \
992 $(PATH_ROOT
)/src
/VBox
/VMM
/include/VMInternal.h \
993 $(PATH_ROOT
)/src
/VBox
/VMM
/include/VMMInternal.h \
995 $(PATH_ROOT
)/include/VBox
/vmm
/vm.h \
997 $(PATH_ROOT
)/include/VBox
/sup.h \
998 $(PATH_ROOT
)/include/VBox
/vd.h \
999 $(PATH_ROOT
)/include/VBox
/types.h \
1000 $(PATH_ROOT
)/include/VBox
/err.h \
1001 $(PATH_ROOT
)/include/VBox
/vmm
/cpumdis.h \
1002 $(PATH_ROOT
)/include/VBox
/dbggui.h \
1003 $(PATH_ROOT
)/include/VBox
/dis.h \
1004 $(PATH_ROOT
)/include/VBox
/disopcode-x86-amd64.h \
1005 $(PATH_ROOT
)/include/VBox
/intnet.h \
1006 $(PATH_ROOT
)/include/VBox
/settings.h \
1007 $(PATH_ROOT
)/include/VBox
/pci.h \
1008 $(PATH_ROOT
)/include/VBox
/scsi.h \
1009 $(PATH_ROOT
)/include/VBox
/shflsvc.h \
1010 $(PATH_ROOT
)/include/VBox
/hgcmsvc.h \
1011 $(PATH_ROOT
)/include/VBox
/usb.h \
1012 $(PATH_ROOT
)/include/VBox
/vusb.h \
1014 $(PATH_ROOT
)/include/VBox
/log.h \
1015 $(PATH_ROOT
)/include/VBox
/param.h \
1016 $(PATH_ROOT
)/include/VBox
/version.h \
1018 $(PATH_ROOT
)/include/VBox
/com
/com.h \
1019 $(PATH_ROOT
)/include/VBox
/com
/utils.h
1021 VBOX_CORE_DOXYFILE_INPUT
:= \
1022 $(filter-out %.
cpp.h
, $(sort $(wildcard $(addsuffix /*.h
, $(VBOX_CORE_DOXYFILE_INPUT_DIRS
)))) ) \
1023 $(foreach dir, $(VBOX_CORE_DOXYFILE_INPUT_DIRS
) \
1024 , $(wildcard $(dir)/*.
cpp $(dir)/*.c
$(dir)/*.m
$(dir)/*.mm
$(dir)/*.py
$(dir)/.asm
))
1025 VBOX_CORE_DOXYFILE_INPUT
:= \
1026 $(VBOX_CORE_DOXYFILE_INPUT_FIRST
) \
1027 $(sort $(filter-out $(VBOX_CORE_DOXYFILE_INPUT_FIRST
) %/CPUM-armv8.
cpp, $(VBOX_CORE_DOXYFILE_INPUT
)))
1029 VBOX_CORE_DOXYFILE_INPUT
+= \
1030 $(wildcard $(PATH_ROOT
)/src
/VBox
/VMM
/VMMAll
/*.h
$(PATH_ROOT
)/src
/VBox
/VMM
/VMMR3
/*.h
$(PATH_ROOT
)/src
/VBox
/VMM
/VMMR0
/*.h
)
1033 includedep
$(VBOX_CORE_DOXYFILE_OUTPUT
)/Doxyfile.Core.dep
1035 # Generate the Doxyfile
1036 $(VBOX_CORE_DOXYFILE_OUTPUT
)/Doxyfile.Core
: Doxyfile.Core \
1037 $(comp-vars VBOX_CORE_DOXYFILE_INPUT
,DOXYGEN_CORE_INPUT_PREV
,FORCE
) \
1038 $(comp-vars VBOX_CORE_DOXYFILE_OUTPUT
,DOXYGEN_CORE_OUTPUT_PREV
,FORCE
) \
1040 $(QUIET
)$(RM
) -f
$@
$@.tmp
$@.dep
1041 $(QUIET
)$(CP
) -f Doxyfile.Core
$@.tmp
1042 $(QUIET
)$(APPEND
) $@.tmp
1043 $(QUIET
)$(APPEND
) $@.tmp
"OUTPUT_DIRECTORY = $(VBOX_CORE_DOXYFILE_OUTPUT)"
1044 $(QUIET
)$(APPEND
) $@.tmp
"WARN_LOGFILE = $(VBOX_CORE_DOXYFILE_OUTPUT)/errors"
1045 $(QUIET
)$(APPEND
) $@.tmp
"INCLUDE_PATH = $(PATH_ROOT)/include $(PATH_ROOT)/src/VBox/VMM $(PATH_ROOT)/src/VBox/Main/include "
1046 $(QUIET
)$(APPEND
) $@.tmp
"INCLUDE_FILE_PATTERNS = *.cpp.h"
1047 $(QUIET
)$(APPEND
) $@.tmp
"EXCLUDE = " \
1048 "$(PATH_ROOT)/src/VBox/Additions/common/crOpenGL/utils.c" \
1049 "$(PATH_ROOT)/src/VBox/HostServices/SharedOpenGL/crserver/main.c" \
1050 "$(PATH_ROOT)/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c" \
1051 "$(PATH_ROOT)/src/VBox/HostServices/SharedOpenGL/unpacker/unpack_arrays.c" \
1052 "$(PATH_ROOT)/src/VBox/Additions/common/crOpenGL/context.c" \
1054 "$(PATH_ROOT)/src/VBox/VMM/include/IEMInternal-armv8.h" \
1055 "src/VBox/VMM/include/IEMInternal-armv8.h" \
1056 "$(PATH_ROOT)/src/VBox/VMM/VMMAll/CPUMAllRegs-armv8.cpp" \
1057 "src/VBox/VMM/VMMAll/CPUMAllRegs-armv8.cpp" \
1058 "$(PATH_ROOT)/src/VBox/VMM/VMMR3/CPUM-armv8.cpp" \
1059 "src/VBox/VMM/VMMR3/CPUM-armv8.cpp" \
1060 "$(PATH_ROOT)/src/VBox/VMM/VMMR3/HM-armv8.cpp" \
1061 "src/VBox/VMM/VMMR3/HM-armv8.cpp"
1062 ## @todo ARMv8: crap is duplicated multiple times or in different sections. Clean up the above *armv8* mess.
1063 $(QUIET
)$(APPEND
) $@.tmp
1064 $(QUIET
)$(APPEND
) $@.tmp
'INPUT = $(foreach x,$(VBOX_CORE_DOXYFILE_INPUT),\$(NLTAB)$(x))'
1065 $(QUIET
)$(APPEND
) $@.tmp
1066 $(QUIET
)$(APPEND
) $@.tmp
"PREDEFINED += $(DEFS) $(DEFS.$(KBUILD_TARGET)) $(DEFS.$(KBUILD_TARGET_ARCH)) $(ARCH_BITS_DEFS)"
1067 $(QUIET
)$(APPEND
) $@.tmp
"PREDEFINED += ARCH_BITS=HC_ARCH_BITS R3_ARCH_BITS=HC_ARCH_BITS R0_ARCH_BITS=HC_ARCH_BITS "
1068 $(QUIET
)$(APPEND
) $@.tmp
1069 $(QUIET
)$(APPEND
) $@.tmp
"PLANTUML_JAR_PATH = $(firstword $(rsort $(wildcard $(KBUILD_DEVTOOLS)/common/plantuml/v*/plantuml*.jar)))"
1070 $(QUIET
)$(APPEND
) $@.tmp
1071 $(QUIET
)$(MV
) -f
$@.tmp
$@
1072 @
$(APPEND
) $@.dep
"DOXYGEN_CORE_OUTPUT_PREV = $(VBOX_CORE_DOXYFILE_OUTPUT)"
1073 @
$(APPEND
) $@.dep
"DOXYGEN_CORE_INPUT_PREV = $(VBOX_CORE_DOXYFILE_INPUT)"
1075 # Do the actual job.
1076 # Note! We must add the VBOX_JAVA dir to the path so doxygen can run plantuml.jar.
1077 $(VBOX_CORE_DOXYFILE_OUTPUT
)/docs.Core
: $(VBOX_CORE_DOXYFILE_OUTPUT
)/Doxyfile.Core
$$(VBOX_CORE_DOXYFILE_INPUT
) \
1078 |
$(VBOX_CORE_DOXYFILE_OUTPUT
)/
1080 $(QUIET
)$(RM
) -Rf
$(VBOX_CORE_DOXYFILE_OUTPUT
)/html
/
1081 $(if-expr
$(VBOX_JAVA_VERSION
)+0 >= 70000, $(REDIRECT
) -E
"PATH=$(VBOX_JAVA_BIN_PATH)$(HOST_PATH_SEP)$(PATH)" --,) \
1082 $(VBOX_DOXYGEN
) $(VBOX_CORE_DOXYFILE_OUTPUT
)/Doxyfile.Core
1085 -e
'/^ *$(DOLLAR)/d' \
1086 -e
'/\/src\/VBox\/Main\/.* warning: documented symbol.*::~.* was not declared or defined/b ignore' \
1087 -e
'/\/src\/VBox\/Main\/.* warning: explicit link request to.* could not be resolved/b ignore' \
1088 -e
'/\/src\/VBox\/Additions\/common\/crOpenGL\/.* warning/b ignore' \
1089 -e
'/\/src\/VBox\/Additions\/x11\/VBoxClient\/seamless-x11\.h.* warning/b ignore' \
1090 -e
'/\/src\/VBox\/HostDrivers\/Support\/win\/SUPR3HardenedMain-win\.cpp.* warning/b ignore' \
1091 -e
'/\/src\/VBox\/ValidationKit\/.* warning/b ignore' \
1092 -e
'/WRAPPED_MODULE_SYMBOL_INCLUDE/b ignore' \
1094 -e
'/unable to resolve link to .dtrace_pops_t./b ignore' \
1099 -e
'/^[[:space:]]/b ignore' \
1100 -e
'/^Possible candidates/b ignore' \
1101 -e
'/^def testmanager::webui::wuicontentbase::__init__/b ignore' \
1102 -e
'b nextwarning' \
1105 --output
$(VBOX_CORE_DOXYFILE_OUTPUT
)/errors2 \
1106 $(VBOX_CORE_DOXYFILE_OUTPUT
)/errors
1107 $(CAT
) $(VBOX_CORE_DOXYFILE_OUTPUT
)/errors2
1108 $(SED
) -e
"/[^ ]/q 1" $(VBOX_CORE_DOXYFILE_OUTPUT
)/errors2
1111 docs.Core docs.core
: $(VBOX_CORE_DOXYFILE_OUTPUT
)/docs.Core
1114 # This is a bit odd, but we attach the optional scm check run onto the 'docs' pass
1115 # so the build box output is less confusing on failure.
1117 ifeq ($(KBUILD_HOST
),$(KBUILD_TARGET
))
1118 ifdef VBOX_WITH_SCM_CHECK_RUN
1121 .PHONY
: scm.
check.run
1122 scm.
check.run
: $(VBOX_PATH_TOOLS
)/scm
$(HOSTSUFF_EXE
)
1123 $(REDIRECT
) -E VBOX_LOG_FLAGS
="disabled" -E VBOX_LOG_DEST
="nofile" \
1124 $(if-expr
"$(KBUILD_HOST)" == "darwin",-E DYLD_FALLBACK_LIBRARY_PATH
="$(VBOX_PATH_TOOLS)/..",) -- \
1125 $(VBOX_PATH_TOOLS
)/scm
$(HOSTSUFF_EXE
) -qvv
--check-run
$(PATH_ROOT
)
1130 # Combined package build (windows only).
1132 # The combined package is created by the x86 environment, so we do the amd64
1133 # packaging in the build phase since it's just a few very slow jobs. We hold
1134 # back the x86 build until the amd64 packaging starts, to try encourage
1135 # parallel execution.
1137 # Note! VBOX_WITH_ADDITIONS_FROM_BUILD_SERVER=1 is required because the additions
1138 # packing must be done in amd64 mode as it picks files from the x86 build.
1141 VBOX_COMBINED_PACKAGE_DEFS
:= \
1142 VBOX_WITH_COMBINED_PACKAGE
=1 \
1143 VBOX_WITH_ALL_DOXYGEN_TARGETS
= \
1144 VBOX_WITH_ADDITIONS_FROM_BUILD_SERVER
=1
1146 combined-package-fetch
:
1147 + $(KMK
) -C tools
$(VBOX_COMBINED_PACKAGE_DEFS
) KBUILD_TARGET_ARCH
=amd64
1148 + $(KMK
) -C tools
$(VBOX_COMBINED_PACKAGE_DEFS
) KBUILD_TARGET_ARCH
=x86
1150 combined-package-build-amd64
:
1151 + $(KMK
) docs
all $(VBOX_COMBINED_PACKAGE_DEFS
) KBUILD_TARGET_ARCH
=amd64
1153 combined-package-build-amd64-packing
: combined-package-build-amd64
1154 + $(KMK
) packing
$(VBOX_COMBINED_PACKAGE_DEFS
) KBUILD_TARGET_ARCH
=amd64
1156 combined-package-build-x86
: combined-package-build-amd64
1157 + $(KMK
) docs
all $(VBOX_COMBINED_PACKAGE_DEFS
) KBUILD_TARGET_ARCH
=x86
1159 combined-package-build
: combined-package-build-amd64-packing combined-package-build-x86
1161 combined-package-packing
:
1162 + $(KMK
) packing
$(VBOX_COMBINED_PACKAGE_DEFS
) KBUILD_TARGET_ARCH
=x86
1167 # Common rsync bits.
1171 ## Overridable ssh name.
1172 # On windows build boxes install https://github.com/PowerShell/Win32-OpenSSH/releases
1173 # and point to it in LocalConfig. (The cygwin ssh frequently segfaults due to
1174 # termination race or something along those lines.)
1176 VBOX_SSH_FOR_RSYNC ?
= $(VBOX_SSH
)
1178 ## Overridable rsh name.
1179 VBOX_RSYNC ?
= rsync
--rsh
="$(VBOX_SSH_FOR_RSYNC)"
1180 VBOX_RSYNC_NOSSH ?
= rsync
1183 # The basic rsync invocation for syncing the tree into a VM; the source and
1184 # target specs are missing.
1187 # @param 2 arch or *.
1188 # @param 3 nossh or empty
1190 VBOX_RSYNC_IN_FN
= $(if-expr
"$(3)" != "nossh",$(VBOX_RSYNC
),$(VBOX_RSYNC_NOSSH
)) \
1191 -a
-v
--delete
--delete-excluded
--prune-empty-dirs \
1194 --exclude
=doc
/Devices
/ \
1197 --exclude
=tinderclient.log \
1198 --exclude
=tools
/FetchDir
/ \
1199 --exclude
=webtools
/ \
1201 --exclude
=tools
/common
/plantuml
/ \
1202 $(if-expr
"$1" == "solaris",--exclude
=tools
/common
/openwatcom
/,) \
1203 $(foreach os
,$(filter-out $(1), darwin freebsd linux solaris os2 win
), \
1204 --exclude
=tools
/$(os
)/ \
1205 --exclude
=tools
/$(os
).x86
/ \
1206 --exclude
=tools
/$(os
).amd64
/ \
1207 --exclude
=tools
/$(os
).arm64
/ )
1212 VBOX_BLD_VM_LNX_IP
:= 192.168.27.2
1213 VBOX_BLD_VM_LNX_ARM64_IP
:= 192.168.27.26
1214 VBOX_BLD_VM_OS2_IP
:= 192.168.27.3
1215 VBOX_BLD_VM_SOLARIS_IP
:= 192.168.27.4
1216 VBOX_BLD_VM_DARWIN_X86_IP
:= 192.168.27.5
1217 VBOX_BLD_VM_DARWIN_AMD64_IP
:= 192.168.27.15
1218 VBOX_BLD_VM_DARWIN_109_AMD64_IP
:= 192.168.27.18
1219 VBOX_BLD_VM_DARWIN_ARM64_IP
:= 192.168.27.25
1220 VBOX_BLD_VM_WIN_X86_IP
:= 192.168.27.6
1221 VBOX_BLD_VM_WIN_AMD64_IP
:= 192.168.27.16
1222 VBOX_BLD_VM_FBSD_X86_IP
:= 192.168.27.7
1223 VBOX_BLD_VM_FBSD_AMD64_IP
:= 192.168.27.17
1225 VBOX_WITH_OS2_ADD_BUILD
= 1
1228 # For profiling the VM building steps.
1231 VBOX_BLD_VM_MSG_BEGIN
= $(call MSG_L1
,Building
$1.
)
1232 VBOX_BLD_VM_MSG_END__
=
1234 VBOX_BLD_VM_MSG_BEGIN
= @echo
"$(date ) - Start building $1."
1235 VBOX_BLD_VM_MSG_END__
= @echo
"$(date ) - Done building $1."
1239 # For killing old build jobs in the OS/2 VM before rsyncing.
1241 VBOX_BLD_VM_OS2_KKILL_STUFF
= $(REDIRECT_EXT
) --stdin-pipe
-- rsh
-l vbox
$(VBOX_BLD_VM_OS2_IP
) "kkill -All -Tree kmk.exe gcc.exe & sleep.exe 1 & kkill -All gcc.exe emxomfld.exe as.exe kmk.exe "
1245 # Build the additions, all of them.
1247 # This is currently tailored (hardcoded) for the additions
1248 # build box. Can make it pretty and configurable later.
1250 # The fetching must be done in serial fashion, while the building
1251 # should be more flexible wrt to -jN.
1254 + $(KMK
) -C tools fetch VBOX_ONLY_ADDITIONS
=1
1255 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=amd64 KBUILD_TARGET
=darwin VBOX_ONLY_ADDITIONS
=1 VBOX_DEF_MACOSX_VERSION_MIN
=10.7
1256 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=x86 KBUILD_TARGET
=darwin VBOX_ONLY_ADDITIONS
=1 #VBOX_DEF_MACOSX_VERSION_MIN=10.5
1257 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=amd64 KBUILD_TARGET
=linux VBOX_ONLY_ADDITIONS
=1
1258 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=x86 KBUILD_TARGET
=linux VBOX_ONLY_ADDITIONS
=1
1259 ifdef VBOX_WITH_LNX_ARM64_ADDITIONS
1260 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=arm64 KBUILD_TARGET
=linux VBOX_ONLY_ADDITIONS
=1
1262 ifdef VBOX_WITH_OS2_ADD_BUILD
1263 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=x86 KBUILD_TARGET
=os2 VBOX_ONLY_ADDITIONS
=1
1265 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=amd64 KBUILD_TARGET
=solaris VBOX_ONLY_ADDITIONS
=1
1266 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=x86 KBUILD_TARGET
=solaris VBOX_ONLY_ADDITIONS
=1
1267 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=amd64 KBUILD_TARGET
=win VBOX_ONLY_ADDITIONS
=1
1268 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=x86 KBUILD_TARGET
=win VBOX_ONLY_ADDITIONS
=1
1271 ## @todo Currently combined solaris additions building assumes that amd64 is
1272 # built first. The windows amd64 additions need some x86 files, so don't change
1273 # the order of the windows builds. TODO: Split building and packing for these two VMs.
1275 additions-build-rsync-into-vms \
1276 additions-build-win.x86 \
1277 additions-build-win.amd64 \
1278 additions-build-solaris.amd64 \
1279 additions-build-solaris.x86 \
1280 additions-build-os2.x86 \
1281 additions-build-linux \
1282 additions-build-darwin.x86 \
1283 additions-build-darwin.amd64 \
1284 $(if
$(VBOX_WITH_LNX_ARM64_ADDITIONS
), additions-build-linux.arm64
,)
1286 additions-build-rsync-into-vms
: \
1287 additions-build-solaris.rsync-into-vm \
1288 additions-build-os2.rsync-into-vm \
1289 additions-build-darwin.x86.rsync-into-vm \
1290 additions-build-darwin.amd64.rsync-into-vm \
1291 additions-build-linux.rsync-into-vm \
1292 $(if
$(VBOX_WITH_LNX_ARM64_ADDITIONS
), additions-build-linux.arm64.rsync-into-vm
,)
1293 $(call MSG_L1
,Rsynced the sources
+ tools into the VMs.
)
1294 .NOTPARALLEL
: additions-build-rsync-into-vms
1295 .PHONY
: additions-build-rsync-into-vms
1298 VBOX_ADDITIONS_BUILD.amd64
= VBOX_ONLY_ADDITIONS
=1 VBOX_WITHOUT_ADDITIONS_ISO
=1 \
1299 KBUILD_TYPE
=$(KBUILD_TYPE
) KBUILD_TARGET_ARCH
=amd64 VBOX_SVN_REV
=$(VBOX_SVN_REV
)
1301 VBOX_ADDITIONS_BUILD.x86
= VBOX_ONLY_ADDITIONS
=1 VBOX_WITHOUT_ADDITIONS_ISO
=1 \
1302 KBUILD_TYPE
=$(KBUILD_TYPE
) KBUILD_TARGET_ARCH
=x86 VBOX_SVN_REV
=$(VBOX_SVN_REV
)
1304 ifdef VBOX_WITH_LNX_ARM64_ADDITIONS
1305 VBOX_ADDITIONS_BUILD.arm64
= VBOX_ONLY_ADDITIONS
=1 VBOX_WITHOUT_ADDITIONS_ISO
=1 \
1306 KBUILD_TYPE
=$(KBUILD_TYPE
) KBUILD_TARGET_ARCH
=arm64 VBOX_SVN_REV
=$(VBOX_SVN_REV
)
1309 # Automatically determine the additions build subdir name. Used for figuring
1310 # out directory names inside the additions building VMs.
1311 VBOX_ADDITIONS_BUILD_SUBDIRNAME
:= $(lastword
$(subst /, ,$(PATH_ROOT
)))
1313 ifeq ($(KBUILD_TARGET
),win
)
1314 additions-build-win.amd64
:
1315 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.amd64
) all $(VBOX_ADD_HOST_BUILD_TWEAK
)
1316 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.amd64
) packing
1318 additions-build-win.amd64
:
1319 $(call VBOX_BLD_VM_MSG_BEGIN
,Windows
/amd64 additions build
+pack
)
1320 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_WIN_AMD64_IP
) ' cd e:/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME) && tools/env.sh kmk $(VBOX_ADDITIONS_BUILD.amd64) all packing '
1321 $(call VBOX_BLD_VM_MSG_END__
,Windows
/amd64 additions build
+pack
)
1324 ifeq ($(KBUILD_TARGET
),win
)
1325 additions-build-win.x86
:
1326 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.x86
) all $(VBOX_ADD_HOST_BUILD_TWEAK
)
1327 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.x86
) packing
1329 additions-build-win.x86
:
1330 $(call VBOX_BLD_VM_MSG_BEGIN
,Windows
/x86 additions build.pack
)
1331 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_WIN_X86_IP
) ' cd e:/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME) && tools/env.sh kmk $(VBOX_ADDITIONS_BUILD.x86) all packing '
1332 $(call VBOX_BLD_VM_MSG_END__
,Windows
/x86 additions build
+pack
)
1335 # ASSUMES the 64-bit edition are built first. This also serializes VM access.
1336 ifeq ($(KBUILD_TARGET
),solaris
)
1337 additions-build-solaris.amd64
:
1338 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.amd64
) all $(VBOX_ADD_HOST_BUILD_TWEAK
)
1339 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.amd64
) packing
1341 additions-build-solaris.x86
: additions-build-solaris.amd64
1342 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.x86
) VBOX_WITH_COMBINED_SOLARIS_GUEST_PACKAGE
=1 all $(VBOX_ADD_HOST_BUILD_TWEAK
)
1343 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.x86
) VBOX_WITH_COMBINED_SOLARIS_GUEST_PACKAGE
=1 packing
1345 additions-build-solaris.rsync-into-vm
:
1347 additions-build-solaris.rsync-into-vm
:
1348 $(TIME
) -- $(call VBOX_RSYNC_IN_FN
,solaris
,*) \
1349 '--exclude=src/VBox/Additions/WINNT/**' \
1350 '--exclude=src/VBox/Frontends/**' \
1351 '--exclude=src/VBox/VMM/**' \
1352 .
$(VBOX_BLD_VM_SOLARIS_IP
):/mnt
/tinderbox
/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME
)
1354 additions-build-solaris.build-it
: additions-build-solaris.rsync-into-vm
1355 $(call VBOX_BLD_VM_MSG_BEGIN
,Solaris
/amd64 additions build
+pack
)
1356 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_SOLARIS_IP
) ' cd /mnt/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.amd64) all packing '
1357 $(call VBOX_BLD_VM_MSG_END__
,Solaris
/amd64 additions build
+pack
)
1358 $(call VBOX_BLD_VM_MSG_BEGIN
,Solaris
/x86 additions build
+pack
)
1359 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_SOLARIS_IP
) ' cd /mnt/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.x86) all packing VBOX_WITH_COMBINED_SOLARIS_GUEST_PACKAGE=1 '
1360 $(call VBOX_BLD_VM_MSG_END__
,Solaris
/x86 additions build
+pack
)
1362 additions-build-solaris.rsync-out-of-vm
: additions-build-solaris.build-it
1363 $(TIME
) -- $(VBOX_RSYNC
) -a
--delete
$(VBOX_BLD_VM_SOLARIS_IP
):/mnt
/tinderbox
/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME
)/out
/solaris.x86 out
/
1364 $(TIME
) -- $(VBOX_RSYNC
) -a
--delete
$(VBOX_BLD_VM_SOLARIS_IP
):/mnt
/tinderbox
/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME
)/out
/solaris.amd64 out
/
1366 .NOTPARALLEL
: additions-build-solaris.rsync-into-vm
1367 .PHONY
: additions-build-solaris.rsync-into-vm additions-build-solaris.rsync-out-of-vm additions-build-solaris.build-it
1369 additions-build-solaris.amd64
: additions-build-solaris.rsync-out-of-vm
1370 additions-build-solaris.x86
: additions-build-solaris.rsync-out-of-vm
1373 ifdef VBOX_WITH_OS2_ADD_BUILD
1374 ifeq ($(KBUILD_TARGET
),os2
)
1375 additions-build-os2.x86
:
1376 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.x86
) all $(VBOX_ADD_HOST_BUILD_TWEAK
)
1377 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.x86
) packing
1379 additions-build-os2.rsync-into-vm
:
1381 additions-build-os2.rsync-into-vm
:
1382 -$(VBOX_BLD_VM_OS2_KKILL_STUFF
)
1383 $(TIME
) -- $(call VBOX_RSYNC_IN_FN
,os2
,*,nossh
)\
1384 '--exclude=src/VBox/Additions/x11/**' \
1385 '--exclude=src/VBox/Additions/WINNT/**' \
1386 '--exclude=src/VBox/Frontends/**' \
1387 '--exclude=src/VBox/VMM/**' \
1388 . rsync
://vbox@
$(VBOX_BLD_VM_OS2_IP
)/tinderbox
/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME
)
1390 additions-build-os2.build-it
: #additions-build-os2.rsync-into-vm
1391 $(call VBOX_BLD_VM_MSG_BEGIN
,OS
/2 additions build
+pack
)
1392 $(TIME
) -- $(REDIRECT_EXT
) --stdin-pipe
-- rsh
-l vbox
$(VBOX_BLD_VM_OS2_IP
) "cd e:\\tinderbox\\$(VBOX_ADDITIONS_BUILD_SUBDIRNAME) && e: && kbuild\\bin\\os2.x86\\kmk_ash tools\\env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.x86) all packing"
1393 $(call VBOX_BLD_VM_MSG_END__
,OS
/2 additions build
+pack
)
1395 additions-build-os2.rsync-out-of-vm
: additions-build-os2.build-it
1396 -$(VBOX_BLD_VM_OS2_KKILL_STUFF
)
1397 $(TIME
) -- $(VBOX_RSYNC_NOSSH
) -v
-a
--delete rsync
://vbox@
$(VBOX_BLD_VM_OS2_IP
)/tinderbox
/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME
)/out
/os2.x86 .
/out
1399 .NOTPARALLEL
: additions-build-os2.rsync-into-vm
1400 .PHONY
: additions-build-os2.rsync-into-vm additions-build-os2.rsync-out-of-vm additions-build-os2.build-it
1402 additions-build-os2.x86
: additions-build-os2.rsync-out-of-vm
1406 additions-build-os2.x86
:
1411 ifeq ($(KBUILD_TARGET
),linux
)
1412 additions-build-linux.amd64
:
1413 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.amd64
) all $(VBOX_ADD_HOST_BUILD_TWEAK
)
1414 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.amd64
) packing VBOX_WITHOUT_LINUX_GUEST_PACKAGE
=1
1416 additions-build-linux.x86
:
1417 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.x86
) all $(VBOX_ADD_HOST_BUILD_TWEAK
)
1418 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.x86
) packing VBOX_WITHOUT_LINUX_GUEST_PACKAGE
=1
1420 additions-build-linux
: additions-build-linux.x86 additions-build-linux.amd64
1421 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.x86
) all $(VBOX_ADD_HOST_BUILD_TWEAK
)
1422 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.x86
) packing VBOX_WITH_COMBINED_LINUX_GUEST_PACKAGE
=1
1424 ifdef VBOX_WITH_LNX_ARM64_ADDITIONS
1425 additions-build-linux.arm64
:
1426 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.arm64
) all $(VBOX_ADD_HOST_BUILD_TWEAK
)
1427 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.arm64
) packing
1430 additions-build-linux.rsync-into-vm
:
1431 $(TIME
) -- $(call VBOX_RSYNC_IN_FN
,linux
,*) \
1432 '--exclude=src/VBox/Additions/WINNT/**' \
1433 '--include=src/VBox/Devices/' \
1434 '--include=src/VBox/Devices/Audio/' \
1435 '--include=src/VBox/Devices/Audio/**' \
1436 '--include=src/VBox/Devices/build/' \
1437 '--include=src/VBox/Devices/build/**' \
1438 '--exclude=src/VBox/Devices/**' \
1439 '--exclude=src/VBox/Debugger/**' \
1440 '--exclude=src/VBox/ExtPacks/**' \
1441 '--exclude=src/VBox/Frontends/**' \
1442 '--exclude=src/VBox/HostService/**' \
1443 '--exclude=src/VBox/ImageMounter/**' \
1444 '--exclude=src/VBox/Main/**' \
1445 '--exclude=src/VBox/NetworkServices/**' \
1446 '--exclude=src/VBox/RDP/**' \
1447 '--exclude=src/VBox/Storage/**' \
1448 '--include=src/VBox/ValidationKit/' \
1449 '--include=src/VBox/ValidationKit/Config.kmk' \
1450 '--include=src/VBox/ValidationKit/utils/' \
1451 '--include=src/VBox/ValidationKit/utils/audio/' \
1452 '--include=src/VBox/ValidationKit/utils/audio/**' \
1453 '--exclude=src/VBox/ValidationKit/**' \
1454 '--exclude=src/VBox/VMM/**' \
1455 '--exclude=src/libs/dxvk-native-**' \
1456 '--exclude=src/libs/curl-**' \
1457 '--exclude=src/libs/libjpeg-turbo-**' \
1458 '--exclude=src/libs/libogg-**' \
1459 '--exclude=src/libs/libpng-**' \
1460 '--exclude=src/libs/libssh-**' \
1461 '--exclude=src/libs/libtpms-**' \
1462 '--exclude=src/libs/libvorbis-**' \
1463 '--exclude=src/libs/libvpx-**' \
1464 '--exclude=src/libs/libxml-**' \
1465 '--exclude=src/libs/softfloat-**' \
1466 '--exclude=src/libs/TestFloat-**' \
1467 '--exclude=src/libs/xpcom18a4/**' \
1468 '--exclude=src/apps/**' \
1469 .
$(VBOX_BLD_VM_LNX_IP
):/mnt
/tinderbox
/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME
)
1471 additions-build-linux.build-it
: additions-build-linux.rsync-into-vm
1472 ifdef VBOX_WITH_LIGHTDM_GREETER_PACKING
1473 $(call VBOX_BLD_VM_MSG_BEGIN
,Linux
/amd64 additions
/greeter
)
1474 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_LNX_IP
) 'dchroot -c ubuntu-11.10-amd64 "cd /mnt/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.amd64) PATH_OUT=/mnt/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME)/out/linux.amd64/$(KBUILD_TYPE)/greeter VBOX_WITH_LIGHTDM_GREETER=1 vbox-greeter " '
1475 $(call VBOX_BLD_VM_MSG_END__
,Linux
/amd64 additions
/greeter
)
1477 $(call VBOX_BLD_VM_MSG_BEGIN
,Linux
/amd64 additions build
+pack
)
1478 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_LNX_IP
) 'dchroot -c debian-4.0-amd64 "cd /mnt/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.amd64) all packing VBOX_WITHOUT_LINUX_GUEST_PACKAGE=1 VBOX_WITH_LIGHTDM_GREETER_PACKING=$(VBOX_WITH_LIGHTDM_GREETER_PACKING) " '
1479 $(call VBOX_BLD_VM_MSG_END__
,Linux
/amd64 additions build
+pack
)
1480 ifdef VBOX_WITH_LIGHTDM_GREETER_PACKING
1481 $(call VBOX_BLD_VM_MSG_BEGIN
,Linux
/x86 additions
/greeter
)
1482 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_LNX_IP
) 'linux32 dchroot -c ubuntu-11.10-i386 "cd /mnt/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME) && KBUILD_HOST_ARCH=x86 tools/env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.x86) PATH_OUT=/mnt/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME)/out/linux.x86/$(KBUILD_TYPE)/greeter VBOX_WITH_LIGHTDM_GREETER=1 vbox-greeter " '
1483 $(call VBOX_BLD_VM_MSG_END__
,Linux
/x86 additions
/greeter
)
1485 $(call VBOX_BLD_VM_MSG_BEGIN
,Linux
/x86 additions build
+pack
)
1486 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_LNX_IP
) 'linux32 dchroot -c rhel3-i386 "cd /mnt/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.x86) all packing VBOX_WITHOUT_LINUX_GUEST_PACKAGE=1 VBOX_WITH_LIGHTDM_GREETER_PACKING=$(VBOX_WITH_LIGHTDM_GREETER_PACKING) " '
1487 $(call VBOX_BLD_VM_MSG_END__
,Linux
/x86 additions build
+pack
)
1488 $(call VBOX_BLD_VM_MSG_BEGIN
,Linux
/x86 additions combine
)
1489 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_LNX_IP
) 'linux32 dchroot -c rhel3-i386 "cd /mnt/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.x86) all packing VBOX_WITH_COMBINED_LINUX_GUEST_PACKAGE=1 " '
1490 $(call VBOX_BLD_VM_MSG_END__
,Linux
/x86 additions combine
)
1492 additions-build-linux.rsync-out-of-vm
: additions-build-linux.build-it
1493 $(TIME
) -- $(VBOX_RSYNC
) -a
--delete
$(VBOX_BLD_VM_LNX_IP
):/mnt
/tinderbox
/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME
)/out
/linux.x86 out
/
1494 $(TIME
) -- $(VBOX_RSYNC
) -a
--delete
$(VBOX_BLD_VM_LNX_IP
):/mnt
/tinderbox
/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME
)/out
/linux.amd64 out
/
1496 .NOTPARALLEL
: additions-build-linux.rsync-into-vm
1497 .PHONY
: additions-build-linux.rsync-into-vm additions-build-linux.rsync-out-of-vm additions-build-linux.build-it
1499 additions-build-linux
: additions-build-linux.rsync-out-of-vm
1502 # Preliminary arm64 Linux guest additions build.
1504 ifdef VBOX_WITH_LNX_ARM64_ADDITIONS
1505 additions-build-linux.arm64.rsync-into-vm
:
1506 $(TIME
) -- $(call VBOX_RSYNC_IN_FN
,linux
,*) \
1507 '--exclude=src/VBox/Additions/WINNT/**' \
1508 '--include=src/VBox/Devices/' \
1509 '--include=src/VBox/Devices/Audio/' \
1510 '--include=src/VBox/Devices/Audio/**' \
1511 '--include=src/VBox/Devices/build/' \
1512 '--include=src/VBox/Devices/build/**' \
1513 '--exclude=src/VBox/Devices/**' \
1514 '--exclude=src/VBox/Debugger/**' \
1515 '--exclude=src/VBox/ExtPacks/**' \
1516 '--exclude=src/VBox/Frontends/**' \
1517 '--exclude=src/VBox/HostService/**' \
1518 '--exclude=src/VBox/ImageMounter/**' \
1519 '--exclude=src/VBox/NetworkServices/**' \
1520 '--exclude=src/VBox/RDP/**' \
1521 '--exclude=src/VBox/Storage/**' \
1522 '--include=src/VBox/ValidationKit/' \
1523 '--include=src/VBox/ValidationKit/Config.kmk' \
1524 '--include=src/VBox/ValidationKit/utils/' \
1525 '--include=src/VBox/ValidationKit/utils/audio/' \
1526 '--include=src/VBox/ValidationKit/utils/audio/**' \
1527 '--exclude=src/VBox/ValidationKit/**' \
1528 '--exclude=src/VBox/VMM/**' \
1529 '--exclude=src/libs/dxvk-native-**' \
1530 '--exclude=src/libs/curl-**' \
1531 '--exclude=src/libs/libjpeg-turbo-**' \
1532 '--exclude=src/libs/libogg-**' \
1533 '--exclude=src/libs/libpng-**' \
1534 '--exclude=src/libs/libssh-**' \
1535 '--exclude=src/libs/libtpms-**' \
1536 '--exclude=src/libs/libvorbis-**' \
1537 '--exclude=src/libs/libvpx-**' \
1538 '--exclude=src/libs/libxml-**' \
1539 '--exclude=src/libs/softfloat-**' \
1540 '--exclude=src/libs/TestFloat-**' \
1541 '--exclude=src/libs/xpcom18a4/**' \
1542 '--exclude=src/apps/**' \
1543 .
$(VBOX_BLD_VM_LNX_ARM64_IP
):/home
/vbox
/tinderbox
/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME
)
1545 additions-build-linux.arm64.build-it
: additions-build-linux.arm64.rsync-into-vm
1546 $(call VBOX_BLD_VM_MSG_BEGIN
,Linux
/arm64 additions build
+pack
)
1547 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_LNX_ARM64_IP
) 'cd /home/vbox/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.arm64) VBOX_WITH_WARNINGS_AS_ERRORS= VBOX_WITHOUT_LINUX_TEST_BUILDS=1 VBOX_WITH_LNX_ARM64_ADDITIONS=1 all packing'
1548 $(call VBOX_BLD_VM_MSG_END__
,Linux
/arm64 additions build
+pack
)
1550 additions-build-linux.arm64.rsync-out-of-vm
: additions-build-linux.arm64.build-it
1551 $(TIME
) -- $(VBOX_RSYNC
) -a
--delete
$(VBOX_BLD_VM_LNX_ARM64_IP
):/home
/vbox
/tinderbox
/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME
)/out
/linux.arm64 out
/
1553 .NOTPARALLEL
: additions-build-linux.arm64.rsync-into-vm
1554 .PHONY
: additions-build-linux.arm64.rsync-into-vm additions-build-linux.arm64.rsync-out-of-vm additions-build-linux.arm64.build-it
1556 additions-build-linux.arm64
: additions-build-linux.arm64.rsync-out-of-vm
1561 ifeq ($(KBUILD_TARGET
),darwin
)
1562 additions-build-darwin.amd64
:
1563 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.amd64
) all $(VBOX_ADD_HOST_BUILD_TWEAK
)
1564 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.amd64
) packing
1566 additions-build-darwin.x86
:
1567 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.x86
) all $(VBOX_ADD_HOST_BUILD_TWEAK
)
1568 + $(TIME
) -- $(KMK
) $(VBOX_ADDITIONS_BUILD.x86
) packing
1570 additions-build-darwin
: additions-build-darwin.amd64 additions-build-darwin.x86
1571 .PHONY
: additions-build-darwin.amd64 additions-build-darwin.x86
1573 additions-build-darwin.amd64.rsync-into-vm
:
1574 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_DARWIN_109_AMD64_IP
) 'sudo rm -Rf /Users/vbox/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME)/out/'
1575 $(TIME
) -- $(call VBOX_RSYNC_IN_FN
,darwin
,*) \
1576 '--exclude=src/libs/xpcom18a4/**' \
1577 '--exclude=src/libs/curl*/**' \
1578 '--exclude=src/libs/libxml*/**' \
1579 '--exclude=src/libs/libvpx*/**' \
1580 '--exclude=src/VBox/Additions/WINNT/**' \
1581 '--exclude=src/VBox/Additions/x11/**' \
1582 '--exclude=src/VBox/Artwork/x11/**' \
1583 '--include=src/VBox/Devices/' \
1584 '--include=src/VBox/Devices/Audio/' \
1585 '--include=src/VBox/Devices/Audio/**' \
1586 '--include=src/VBox/Devices/build/' \
1587 '--include=src/VBox/Devices/build/**' \
1588 '--exclude=src/VBox/Devices/**' \
1589 '--exclude=src/VBox/Disassembler/**' \
1590 '--exclude=src/VBox/ExtPacks/**' \
1591 '--exclude=src/VBox/Frontends/**' \
1592 '--exclude=src/VBox/HostDriver/**' \
1593 '--exclude=src/VBox/HostService/**' \
1594 '--exclude=src/VBox/ImageMounter/**' \
1595 '--exclude=src/VBox/Installer/win/**' \
1596 '--exclude=src/VBox/Main/**' \
1597 '--exclude=src/VBox/NetworkService/**' \
1598 '--exclude=src/VBox/RDP/**' \
1599 '--exclude=src/VBox/Storage/**' \
1600 '--include=src/VBox/ValidationKit/' \
1601 '--include=src/VBox/ValidationKit/Config.kmk' \
1602 '--include=src/VBox/ValidationKit/utils/' \
1603 '--include=src/VBox/ValidationKit/utils/audio/' \
1604 '--include=src/VBox/ValidationKit/utils/audio/**' \
1605 '--exclude=src/VBox/ValidationKit/**' \
1606 '--exclude=src/VBox/VMM/**' \
1607 '--exclude=src/apps/**' \
1608 '--exclude=src/recompiler/**' \
1609 .
$(VBOX_BLD_VM_DARWIN_109_AMD64_IP
):/Users
/vbox
/tinderbox
/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME
)
1611 additions-build-darwin.x86.rsync-into-vm
:
1612 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_DARWIN_X86_IP
) 'sudo rm -Rf /Users/vbox/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME)/out/'
1613 $(TIME
) -- $(call VBOX_RSYNC_IN_FN
,darwin
,*) \
1614 '--exclude=src/libs/xpcom18a4/**' \
1615 '--exclude=src/libs/curl*/**' \
1616 '--exclude=src/libs/libxml*/**' \
1617 '--exclude=src/libs/libvpx*/**' \
1618 '--exclude=src/VBox/Additions/WINNT/**' \
1619 '--exclude=src/VBox/Additions/x11/**' \
1620 '--exclude=src/VBox/Artwork/x11/**' \
1621 '--include=src/VBox/Devices/' \
1622 '--include=src/VBox/Devices/Audio/' \
1623 '--include=src/VBox/Devices/Audio/**' \
1624 '--include=src/VBox/Devices/build/' \
1625 '--include=src/VBox/Devices/build/**' \
1626 '--exclude=src/VBox/Devices/**' \
1627 '--exclude=src/VBox/Disassembler/**' \
1628 '--exclude=src/VBox/ExtPacks/**' \
1629 '--exclude=src/VBox/Frontends/**' \
1630 '--exclude=src/VBox/HostDriver/**' \
1631 '--exclude=src/VBox/HostService/**' \
1632 '--exclude=src/VBox/ImageMounter/**' \
1633 '--exclude=src/VBox/Installer/win/**' \
1634 '--exclude=src/VBox/Main/**' \
1635 '--exclude=src/VBox/NetworkService/**' \
1636 '--exclude=src/VBox/RDP/**' \
1637 '--exclude=src/VBox/Storage/**' \
1638 '--include=src/VBox/ValidationKit/' \
1639 '--include=src/VBox/ValidationKit/Config.kmk' \
1640 '--include=src/VBox/ValidationKit/utils/' \
1641 '--include=src/VBox/ValidationKit/utils/audio/' \
1642 '--include=src/VBox/ValidationKit/utils/audio/**' \
1643 '--exclude=src/VBox/ValidationKit/**' \
1644 '--exclude=src/VBox/VMM/**' \
1645 '--exclude=src/apps/**' \
1646 '--exclude=src/recompiler/**' \
1647 .
$(VBOX_BLD_VM_DARWIN_X86_IP
):/Users
/vbox
/tinderbox
/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME
)
1649 additions-build-darwin.amd64.build-it
: additions-build-darwin.amd64.rsync-into-vm
1650 $(call VBOX_BLD_VM_MSG_BEGIN
,Darwin
/amd64 Additions
)
1651 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_DARWIN_109_AMD64_IP
) 'cd /Users/vbox/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.amd64) all ' # VBOX_DEF_MACOSX_VERSION_MIN=10.7
1652 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_DARWIN_109_AMD64_IP
) 'cd /Users/vbox/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.amd64) packing ' # VBOX_DEF_MACOSX_VERSION_MIN=10.7
1653 $(call VBOX_BLD_VM_MSG_END__
,Darwin
/amd64 Additions
)
1655 additions-build-darwin.x86.build-it
: additions-build-darwin.x86.rsync-into-vm
1656 $(call VBOX_BLD_VM_MSG_BEGIN
,Darwin
/x86 Additions
)
1657 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_DARWIN_X86_IP
) 'cd /Users/vbox/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.x86) all ' # VBOX_DEF_MACOSX_VERSION_MIN=10.5
1658 # no pkgbuild # $(TIME) -- $(VBOX_SSH) vbox@$(VBOX_BLD_VM_DARWIN_X86_IP) 'cd /Users/vbox/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.x86) packing ' # VBOX_DEF_MACOSX_VERSION_MIN=10.5
1659 $(call VBOX_BLD_VM_MSG_END__
,Darwin
/x86 Additions
)
1661 additions-build-darwin.amd64.rsync-out-of-vm
: additions-build-darwin.amd64.build-it
1662 $(TIME
) -- $(VBOX_RSYNC
) -a
-v
--delete
$(VBOX_BLD_VM_DARWIN_109_AMD64_IP
):/Users
/vbox
/tinderbox
/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME
)/out
/darwin.amd64 out
/
1664 additions-build-darwin.x86.rsync-out-of-vm
: additions-build-darwin.x86.build-it
1665 $(TIME
) -- $(VBOX_RSYNC
) -a
-v
--delete
$(VBOX_BLD_VM_DARWIN_X86_IP
):/Users
/vbox
/tinderbox
/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME
)/out
/darwin.x86 out
/
1667 additions-build-darwin.amd64
: additions-build-darwin.amd64.rsync-out-of-vm
1668 additions-build-darwin.x86
: additions-build-darwin.x86.rsync-out-of-vm
1669 additions-build-darwin
: additions-build-darwin.x86.rsync-out-of-vm additions-build-darwin.amd64.rsync-out-of-vm
1671 .PHONY
: additions-build-darwin.amd64.rsync-into-vm additions-build-darwin.amd64.rsync-out-of-vm additions-build-darwin.amd64.build-it \
1672 additions-build-darwin.x86.rsync-into-vm additions-build-darwin.x86.rsync-out-of-vm additions-build-darwin.x86.build-it
1677 + $(KMK
) VBOX_ONLY_ADDITIONS
=1 \
1678 VBOX_WITH_ADDITIONS_ISO.darwin.amd64
=1 \
1679 VBOX_WITH_ADDITIONS_ISO.darwin.x86
= \
1680 VBOX_WITH_ADDITIONS_ISO.freebsd.amd64
= \
1681 VBOX_WITH_ADDITIONS_ISO.freebsd.x86
= \
1682 VBOX_WITH_ADDITIONS_ISO.linux.amd64
= \
1683 VBOX_WITH_ADDITIONS_ISO.linux.x86
=1 \
1684 VBOX_WITH_ADDITIONS_ISO.linux.arm64
=1 \
1685 VBOX_WITH_COMBINED_LINUX_GUEST_PACKAGE
=1 \
1686 $(if
$(VBOX_WITH_LNX_ARM64_ADDITIONS
), VBOX_WITH_LNX_ARM64_ADDITIONS
=1,) \
1687 VBOX_WITH_ADDITIONS_ISO.os2.x86
=1 \
1688 VBOX_WITH_ADDITIONS_ISO.solaris.amd64
=1 \
1689 VBOX_WITH_ADDITIONS_ISO.solaris.x86
=1 \
1690 VBOX_WITH_COMBINED_SOLARIS_GUEST_PACKAGE
=1 \
1691 VBOX_WITH_ADDITIONS_ISO.win.amd64
=1 \
1692 VBOX_WITH_ADDITIONS_ISO.win.x86
=1 \
1693 -C src
/VBox
/Additions \
1694 $(VBOX_PATH_ADDITIONS
)/VBoxGuestAdditions.zip
1697 additions-build-win.x86 \
1698 additions-build-win.amd64 \
1699 additions-build-solaris.amd64 \
1700 additions-build-solaris.x86 \
1701 additions-build-os2.x86 \
1702 additions-build-linux \
1703 additions-build-linux.amd64 \
1704 additions-build-linux.x86 \
1705 additions-build-linux.x86.combined \
1706 $(if
$(VBOX_WITH_LNX_ARM64_ADDITIONS
), additions-build-linux.arm64
,) \
1707 additions-build-darwin \
1708 additions-build-darwin.x86 \
1709 additions-build-darwin.amd64 \
1714 # Build the extension packs, all of them.
1716 # This is tailored (hardcoded) for the extension pack build box.
1718 # The fetching must be done in serial fashion, while the building should be
1719 # more flexible wrt to -jN.
1722 + $(KMK
) -C tools fetch VBOX_ONLY_EXTPACKS
=1
1723 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=amd64 KBUILD_TARGET
=darwin VBOX_ONLY_EXTPACKS
=1
1724 # + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=amd64 KBUILD_TARGET=freebsd VBOX_ONLY_EXTPACKS=1
1725 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=amd64 KBUILD_TARGET
=linux VBOX_ONLY_EXTPACKS
=1
1726 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=amd64 KBUILD_TARGET
=solaris VBOX_ONLY_EXTPACKS
=1
1727 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=amd64 KBUILD_TARGET
=win VBOX_ONLY_EXTPACKS
=1
1728 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=arm64 KBUILD_TARGET
=darwin VBOX_ONLY_EXTPACKS
=1
1729 if1of
(x86
, $(VBOX_SUPPORTED_HOST_ARCHS
))
1730 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=x86 KBUILD_TARGET
=darwin VBOX_ONLY_EXTPACKS
=1
1731 # + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=freebsd VBOX_ONLY_EXTPACKS=1
1732 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=x86 KBUILD_TARGET
=linux VBOX_ONLY_EXTPACKS
=1
1733 # + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=os2 VBOX_ONLY_EXTPACKS=1
1734 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=x86 KBUILD_TARGET
=win VBOX_ONLY_EXTPACKS
=1
1739 extpacks-build-win.amd64 \
1740 extpacks-build-win.x86 \
1741 extpacks-build-solaris.amd64 \
1742 extpacks-build-os2.x86 \
1743 extpacks-build-linux \
1744 extpacks-build-darwin.amd64 \
1745 extpacks-build-darwin.arm64 \
1746 extpacks-build-freebsd.amd64 \
1747 extpacks-build-freebsd.x86
1749 VBOX_EXTPACKS_BUILD.amd64
= VBOX_ONLY_EXTPACKS
=1 VBOX_WITH_MAIN_NLS
= VBOX_WITH_PUEL_NLS_NO_QM
=1 \
1750 KBUILD_TYPE
=$(KBUILD_TYPE
) KBUILD_TARGET_ARCH
=amd64 VBOX_SVN_REV
=$(VBOX_SVN_REV
)
1752 VBOX_EXTPACKS_BUILD.arm64
= VBOX_ONLY_EXTPACKS
=1 VBOX_WITH_MAIN_NLS
= VBOX_WITH_PUEL_NLS_NO_QM
=1 \
1753 KBUILD_TYPE
=$(KBUILD_TYPE
) KBUILD_TARGET_ARCH
=arm64 VBOX_SVN_REV
=$(VBOX_SVN_REV
)
1755 VBOX_EXTPACKS_BUILD.x86
= VBOX_ONLY_EXTPACKS
=1 VBOX_WITH_MAIN_NLS
= VBOX_WITH_PUEL_NLS_NO_QM
=1 \
1756 KBUILD_TYPE
=$(KBUILD_TYPE
) KBUILD_TARGET_ARCH
=x86 VBOX_SVN_REV
=$(VBOX_SVN_REV
)
1758 ifdef VBOX_WITH_PUEL_NLS
1759 VBOX_EXTPACKS_HOST_EXTRA
= VBOX_WITH_PUEL_NLS_NO_QM
=
1761 VBOX_EXTPACKS_HOST_EXTRA
= VBOX_WITH_PUEL_NLS_NO_QM
=
1764 # Automatically determine the extpack build subdir name. Used for figuring out
1765 # directory names inside the extension pack building VMs.
1766 VBOX_EXTPACKS_BUILD_SUBDIRNAME
:= $(lastword
$(subst /, ,$(PATH_ROOT
)))
1768 # When building in parallel on a Windows host, make sure we finish the host
1769 # bit before kicking off any UNIX guest or we'll run into file sharing issues.
1770 ifeq ($(KBUILD_TARGET
),win
)
1771 VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST
= extpacks-build-win.x86 extpacks-build-win.amd64
1773 VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST
=
1776 extpacks-build-win.amd64
:
1777 ifeq ($(KBUILD_TARGET
),win
)
1778 + $(TIME
) -- $(KMK
) $(VBOX_EXTPACKS_BUILD.amd64
) all $(VBOX_EXTPACKS_HOST_EXTRA
) $(VBOX_EXTPACKS_HOST_BUILD_TWEAK
)
1780 $(call VBOX_BLD_VM_MSG_BEGIN
,Windows
/amd64 extension packs
)
1781 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_WIN_AMD64_IP
) 'cd e:/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh kmk $(VBOX_EXTPACKS_BUILD.amd64) all '
1782 $(call VBOX_BLD_VM_MSG_END__
,Windows
/amd64 extension packs
)
1785 extpacks-build-win.x86
:
1786 if1of
(x86
, $(VBOX_SUPPORTED_HOST_ARCHS
))
1787 ifeq ($(KBUILD_TARGET
),win
)
1788 + $(TIME
) -- $(KMK
) $(VBOX_EXTPACKS_BUILD.x86
) all $(VBOX_EXTPACKS_HOST_EXTRA
) $(VBOX_EXTPACKS_HOST_BUILD_TWEAK
)
1790 $(call VBOX_BLD_VM_MSG_BEGIN
,Windows
/x86 extension packs
)
1791 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_WIN_X86_IP
) 'cd e:/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh kmk $(VBOX_EXTPACKS_BUILD.x86) all '
1792 $(call VBOX_BLD_VM_MSG_END__
,Windows
/x86 extension packs
)
1795 @
$(ECHO
) "nothing to do for unsupported host $@"
1798 ifeq ($(KBUILD_TARGET
),solaris
)
1799 extpacks-build-solaris.amd64
:
1800 + $(TIME
) -- $(KMK
) $(VBOX_EXTPACKS_BUILD.amd64
) all $(VBOX_EXTPACKS_HOST_EXTRA
) $(VBOX_EXTPACKS_HOST_BUILD_TWEAK
)
1803 # Serialize 32-bit and 64-bit ASSUMING the same VM builds both.
1804 extpacks-build-solaris.rsync-into-vm
: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST
)
1805 $(TIME
) -- $(call VBOX_RSYNC_IN_FN
,solaris
,*) .
$(VBOX_BLD_VM_SOLARIS_IP
):/mnt
/tinderbox
/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME
)
1807 extpacks-build-solaris.build-it
: extpacks-build-solaris.rsync-into-vm
1808 $(call VBOX_BLD_VM_MSG_BEGIN
,Solaris
/amd64 extension packs
)
1809 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_SOLARIS_IP
) 'cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all '
1810 $(call VBOX_BLD_VM_MSG_END__
,Solaris
/amd64 extension packs
)
1812 extpacks-build-solaris.rsync-out-of-vm
: extpacks-build-solaris.build-it
1813 $(TIME
) -- $(VBOX_RSYNC
) -a
--delete
$(VBOX_BLD_VM_SOLARIS_IP
):/mnt
/tinderbox
/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME
)/out
/solaris.amd64 out
/
1815 #.NOTPARALLEL: extpacks-build-solaris.rsync-into-vm
1816 .PHONY
: extpacks-build-solaris.rsync-out-of-vm extpacks-build-solaris.rsync-into-vm extpacks-build-solaris.build-it
1818 extpacks-build-solaris.amd64
: extpacks-build-solaris.rsync-out-of-vm
1821 extpacks-build-os2.x86
:
1822 #ifeq ($(KBUILD_TARGET),os2)
1823 # + $(TIME) -- $(KMK) $(VBOX_EXTPACKS_BUILD.x86) all $(VBOX_EXTPACKS_HOST_EXTRA) $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
1825 # $(TIME) -- $(VBOX_SSH) vbox@$(VBOX_BLD_VM_OS2_IP) ' cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) '
1828 ifeq ($(KBUILD_TARGET
),linux
)
1829 extpacks-build-linux.amd64
: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST
)
1830 + $(TIME
) -- $(KMK
) $(VBOX_EXTPACKS_BUILD.amd64
) all $(VBOX_EXTPACKS_HOST_EXTRA
) $(VBOX_EXTPACKS_HOST_BUILD_TWEAK
)
1832 extpacks-build-linux.x86
: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST
)
1833 if1of
(x86
, $(VBOX_SUPPORTED_HOST_ARCHS
))
1834 + $(TIME
) -- $(KMK
) $(VBOX_EXTPACKS_BUILD.x86
) all $(VBOX_EXTPACKS_HOST_EXTRA
) $(VBOX_EXTPACKS_HOST_BUILD_TWEAK
)
1836 @
$(ECHO
) "nothing to do for unsupported host $@"
1839 extpacks-build-linux
: extpacks-build-linux.x86 extpacks-build-linux.amd64
1841 # Serialize 32-bit and 64-bit ASSUMING the same VM builds both.
1842 extpacks-build-linux.rsync-into-vm
: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST
)
1843 $(TIME
) -- $(call VBOX_RSYNC_IN_FN
,linux
,*) \
1844 '--exclude=src/VBox/Additions/**' \
1845 '--exclude=src/VBox/Debugger/**' \
1846 '--exclude=src/VBox/Frontends/**' \
1847 '--exclude=src/VBox/GuestHost/**' \
1848 '--exclude=src/VBox/HostServices/**' \
1849 '--exclude=src/VBox/ImageMounter/**' \
1850 '--exclude=src/VBox/NetworkServices/**' \
1851 '--exclude=src/app/**' \
1852 .
$(VBOX_BLD_VM_LNX_IP
):/mnt
/tinderbox
/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME
)
1854 extpacks-build-linux.build-it
: extpacks-build-linux.rsync-into-vm
1855 $(call VBOX_BLD_VM_MSG_BEGIN
,Linux
/amd64 extension packs
)
1856 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_LNX_IP
) 'dchroot -c ol-7.5-amd64 "cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && PATH=/opt/rh/devtoolset-9/root/bin:$$PATH tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all " '
1857 $(call VBOX_BLD_VM_MSG_END__
,Linux
/amd64 extension packs
)
1858 if1of
(x86
, $(VBOX_SUPPORTED_HOST_ARCHS
))
1859 $(call VBOX_BLD_VM_MSG_BEGIN
,Linux
/x86 extension packs
)
1860 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_LNX_IP
) 'linux32 dchroot -c debian-4.0-i386 "cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all " '
1861 $(call VBOX_BLD_VM_MSG_END__
,Linux
/x86 extension packs
)
1864 extpacks-build-linux.rsync-out-of-vm
: extpacks-build-linux.build-it
1865 if1of
(x86
, $(VBOX_SUPPORTED_HOST_ARCHS
))
1866 $(TIME
) -- $(VBOX_RSYNC
) -a
--delete
$(VBOX_BLD_VM_LNX_IP
):/mnt
/tinderbox
/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME
)/out
/linux.x86 out
/
1868 $(TIME
) -- $(VBOX_RSYNC
) -a
--delete
$(VBOX_BLD_VM_LNX_IP
):/mnt
/tinderbox
/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME
)/out
/linux.amd64 out
/
1870 #.NOTPARALLEL: extpacks-build-linux.rsync-into-vm
1871 .PHONY
: extpacks-build-linux.rsync-out-of-vm extpacks-build-linux.rsync-into-vm extpacks-build-linux.build-it
1873 extpacks-build-linux
: extpacks-build-linux.rsync-out-of-vm
1876 extpacks-build-freebsd.amd64
: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST
)
1877 #ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),freebsd.amd64)
1878 # + $(TIME) -- $(KMK) $(VBOX_EXTPACKS_BUILD.amd64) all $(VBOX_EXTPACKS_HOST_EXTRA) $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
1880 # $(call VBOX_BLD_VM_MSG_BEGIN,FreeBSD/amd64 extension packs)
1881 # $(TIME) -- $(VBOX_SSH) vbox@$(VBOX_BLD_VM_FBSD_AMD64_IP) 'cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all '
1882 # $(call VBOX_BLD_VM_MSG_END__,FreeBSD/amd64 extension packs)
1885 extpacks-build-freebsd.x86
: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST
)
1886 #ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),freebsd.x86)
1887 # + $(TIME) -- $(KMK) $(VBOX_EXTPACKS_BUILD.x86) all $(VBOX_EXTPACKS_HOST_EXTRA) $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
1889 # $(call VBOX_BLD_VM_MSG_BEGIN,FreeBSD/x86 extension packs)
1890 # $(TIME) -- $(VBOX_SSH) vbox@$(VBOX_BLD_VM_FBSD_X86_IP) 'cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all '
1891 # $(call VBOX_BLD_VM_MSG_END__,FreeBSD/x86 extension packs)
1894 extpacks-build-darwin.amd64
: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST
)
1895 ifeq ($(KBUILD_TARGET
).
$(KBUILD_TARGET_ARCH
),darwin.amd64
)
1896 + $(TIME
) -- $(KMK
) $(VBOX_EXTPACKS_BUILD.amd64
) all $(VBOX_EXTPACKS_HOST_EXTRA
) $(VBOX_EXTPACKS_HOST_BUILD_TWEAK
)
1898 $(call VBOX_BLD_VM_MSG_BEGIN
,Darwin
/amd64 extension packs
)
1899 $(TIME
) -- $(call VBOX_RSYNC_IN_FN
,darwin
,amd64
) .
$(VBOX_BLD_VM_DARWIN_109_AMD64_IP
):/Users
/vbox
/tinderbox
/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME
)
1900 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_DARWIN_109_AMD64_IP
) 'PATH=$$PATH:/opt/local/bin; cd /Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && KBUILD_HOST_ARCH=amd64 tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all '
1901 $(TIME
) -- $(VBOX_RSYNC
) -am
-v
--delete
$(VBOX_BLD_VM_DARWIN_109_AMD64_IP
):/Users
/vbox
/tinderbox
/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME
)/out
/darwin.amd64 out
/
1902 $(call VBOX_BLD_VM_MSG_END__
,Darwin
/amd64 extension packs
)
1905 extpacks-build-darwin.arm64
: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST
)
1906 ifeq ($(KBUILD_TARGET
).
$(KBUILD_TARGET_ARCH
),darwin.arm64
)
1907 + $(TIME
) -- $(KMK
) $(VBOX_EXTPACKS_BUILD.arm64
) all $(VBOX_EXTPACKS_HOST_EXTRA
) $(VBOX_EXTPACKS_HOST_BUILD_TWEAK
)
1909 $(call VBOX_BLD_VM_MSG_BEGIN
,Darwin
/arm64 extension packs
)
1910 $(TIME
) -- $(call VBOX_RSYNC_IN_FN
,darwin
,arm64
) .
$(VBOX_BLD_VM_DARWIN_ARM64_IP
):/Users
/vbox
/tinderbox
/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME
)
1911 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_DARWIN_ARM64_IP
) 'PATH=$$PATH:/opt/local/bin; cd /Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && KBUILD_HOST_ARCH=arm64 tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.arm64) all '
1912 $(TIME
) -- $(VBOX_RSYNC
) -am
-v
--delete
$(VBOX_BLD_VM_DARWIN_ARM64_IP
):/Users
/vbox
/tinderbox
/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME
)/out
/darwin.arm64 out
/
1913 $(call VBOX_BLD_VM_MSG_END__
,Darwin
/arm64 extension packs
)
1917 if1of
(x86
, $(VBOX_SUPPORTED_HOST_ARCHS
))
1918 + $(KMK
) VBOX_WITH_EXTPACK_OS_ARCHS
="darwin.amd64 linux.amd64 linux.x86 solaris.amd64 win.amd64 win.x86" \
1919 VBOX_ONLY_EXTPACKS
=1 packing
1921 + $(KMK
) VBOX_WITH_EXTPACK_OS_ARCHS
="darwin.amd64 darwin.arm64 linux.amd64 solaris.amd64 win.amd64" \
1922 VBOX_ONLY_EXTPACKS
=1 packing
1924 # +++ freebsd.amd64 ^^^
1927 extpacks-build-win.x86 \
1928 extpacks-build-win.amd64 \
1929 extpacks-build-solaris.amd64 \
1930 extpacks-build-os2.x86 \
1931 extpacks-build-linux \
1932 extpacks-build-linux.amd64 \
1933 extpacks-build-linux.x86 \
1934 extpacks-build-freebsd.amd64 \
1935 extpacks-build-freebsd.x86 \
1936 extpacks-build-darwin.amd64 \
1941 # Build the test suite, all of it.
1943 # This is currently tailored (hardcoded) for the additions build box just like
1944 # the additions build above, which it in fact is a copy of.
1946 validationkit-fetch
:
1947 + $(KMK
) -C tools fetch VBOX_ONLY_VALIDATIONKIT
=1
1948 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=amd64 KBUILD_TARGET
=darwin VBOX_ONLY_VALIDATIONKIT
=1
1949 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=x86 KBUILD_TARGET
=darwin VBOX_ONLY_VALIDATIONKIT
=1
1950 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=arm64 KBUILD_TARGET
=darwin VBOX_ONLY_VALIDATIONKIT
=1
1951 # + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=amd64 KBUILD_TARGET=freebsd VBOX_ONLY_VALIDATIONKIT=1
1952 # + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=freebsd VBOX_ONLY_VALIDATIONKIT=1
1953 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=amd64 KBUILD_TARGET
=linux VBOX_ONLY_VALIDATIONKIT
=1
1954 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=x86 KBUILD_TARGET
=linux VBOX_ONLY_VALIDATIONKIT
=1
1955 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=arm64 KBUILD_TARGET
=linux VBOX_ONLY_VALIDATIONKIT
=1
1956 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=x86 KBUILD_TARGET
=os2 VBOX_ONLY_VALIDATIONKIT
=1
1957 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=amd64 KBUILD_TARGET
=solaris VBOX_ONLY_VALIDATIONKIT
=1
1958 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=x86 KBUILD_TARGET
=solaris VBOX_ONLY_VALIDATIONKIT
=1
1959 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=amd64 KBUILD_TARGET
=win VBOX_ONLY_VALIDATIONKIT
=1
1960 + $(KMK
) -C tools fetch KBUILD_TARGET_ARCH
=x86 KBUILD_TARGET
=win VBOX_ONLY_VALIDATIONKIT
=1
1963 validationkit-build
: \
1964 validationkit-build-rsync-into-vms \
1965 validationkit-build-solaris.amd64 \
1966 validationkit-build-solaris.x86 \
1967 validationkit-build-win.x86 \
1968 validationkit-build-win.amd64 \
1969 validationkit-build-os2.x86 \
1970 validationkit-build-linux \
1971 validationkit-build-linux.arm64 \
1972 validationkit-build-freebsd.amd64 \
1973 validationkit-build-freebsd.x86 \
1974 validationkit-build-darwin.amd64 \
1975 validationkit-build-darwin.x86 \
1976 validationkit-build-darwin.arm64
1978 validationkit-build-rsync-into-vms
: \
1979 validationkit-build-solaris.rsync-into-vm \
1980 validationkit-build-os2.rsync-into-vm \
1981 validationkit-build-linux.rsync-into-vm \
1982 validationkit-build-linux.arm64.rsync-into-vm
1983 $(call MSG_L1
,Rsynced the sources
+ tools into the VMs.
)
1984 .NOTPARALLEL
: validationkit-build-rsync-into-vms
1985 .PHONY
: validationkit-build-rsync-into-vms
1988 VBOX_VALIDATIONKIT_BUILD.amd64
= VBOX_ONLY_VALIDATIONKIT
=1 \
1989 KBUILD_TYPE
=$(KBUILD_TYPE
) KBUILD_TARGET_ARCH
=amd64 VBOX_SVN_REV
=$(VBOX_SVN_REV
)
1991 VBOX_VALIDATIONKIT_BUILD.x86
= VBOX_ONLY_VALIDATIONKIT
=1 \
1992 KBUILD_TYPE
=$(KBUILD_TYPE
) KBUILD_TARGET_ARCH
=x86 VBOX_SVN_REV
=$(VBOX_SVN_REV
)
1994 VBOX_VALIDATIONKIT_BUILD.arm64
= VBOX_ONLY_VALIDATIONKIT
=1 \
1995 KBUILD_TYPE
=$(KBUILD_TYPE
) KBUILD_TARGET_ARCH
=arm64 VBOX_SVN_REV
=$(VBOX_SVN_REV
)
1997 # Automatically determine the Validation Kit build subdir name. Used for figuring
1998 # out directory names inside the test suite building VMs.
1999 VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME
:= $(lastword
$(subst /, ,$(PATH_ROOT
)))
2001 # When building in parallel on a Windows host, make sure we finish the host
2002 # bit before kicking off any UNIX guest or we'll run into file sharing issues.
2003 ifeq ($(KBUILD_TARGET
),win
)
2004 VBOX_VALIDATIONKIT_BUILD_WIN_HOST_FIRST
= validationkit-build-win.x86 validationkit-build-win.amd64
2006 VBOX_VALIDATIONKIT_BUILD_WIN_HOST_FIRST
=
2009 validationkit-build-win.amd64
:
2010 ifeq ($(KBUILD_TARGET
),win
)
2011 + $(TIME
) -- $(KMK
) $(VBOX_VALIDATIONKIT_BUILD.amd64
) all $(VBOX_VALIDATIONKIT_HOST_BUILD_TWEAK
)
2013 $(call VBOX_BLD_VM_MSG_BEGIN
,Windows
/amd64 Validation Kit
)
2014 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_WIN_X86_IP
) 'cd e:/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME) && tools/env.sh kmk $(VBOX_VALIDATIONKIT_BUILD.amd64) all '
2015 $(call VBOX_BLD_VM_MSG_END__
,Windows
/amd64 Validation Kit
)
2018 validationkit-build-win.x86
:
2019 ifeq ($(KBUILD_TARGET
),win
)
2020 + $(TIME
) -- $(KMK
) $(VBOX_VALIDATIONKIT_BUILD.x86
) all $(VBOX_VALIDATIONKIT_HOST_BUILD_TWEAK
)
2022 $(call VBOX_BLD_VM_MSG_BEGIN
,Windows
/x86 Validation Kit
)
2023 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_WIN_AMD64_IP
) 'cd e:/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME) && tools/env.sh kmk $(VBOX_VALIDATIONKIT_BUILD.x86) all '
2024 $(call VBOX_BLD_VM_MSG_END__
,Windows
/x86 Validation Kit
)
2027 ifeq ($(KBUILD_TARGET
),solaris
)
2028 validationkit-build-solaris.amd64
:
2029 + $(TIME
) -- $(KMK
) $(VBOX_VALIDATIONKIT_BUILD.amd64
) all $(VBOX_VALIDATIONKIT_HOST_BUILD_TWEAK
)
2031 validationkit-build-solaris.x86
:
2032 + $(TIME
) -- $(KMK
) $(VBOX_VALIDATIONKIT_BUILD.x86
) all $(VBOX_VALIDATIONKIT_HOST_BUILD_TWEAK
)
2035 validationkit-build-solaris.rsync-into-vm
: $(VBOX_VALIDATIONKIT_BUILD_WIN_HOST_FIRST
)
2036 $(TIME
) -- $(call VBOX_RSYNC_IN_FN
,solaris
,*) \
2037 '--exclude=src/VBox/Additions/WINNT/**' \
2038 '--exclude=src/VBox/Frontends/**' \
2039 '--exclude=src/VBox/VMM/**' \
2040 .
$(VBOX_BLD_VM_SOLARIS_IP
):/mnt
/tinderbox
/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME
)
2042 validationkit-build-solaris.build-it
: validationkit-build-solaris.rsync-into-vm
2043 $(call VBOX_BLD_VM_MSG_BEGIN
,Solaris
/amd64 Validation Kit
)
2044 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_SOLARIS_IP
) 'cd /mnt/tinderbox/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_VALIDATIONKIT_BUILD.amd64) all '
2045 $(call VBOX_BLD_VM_MSG_END__
,Solaris
/amd64 Validation Kit
)
2046 $(call VBOX_BLD_VM_MSG_BEGIN
,Solaris
/x86 Validation Kit
)
2047 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_SOLARIS_IP
) 'cd /mnt/tinderbox/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_VALIDATIONKIT_BUILD.x86) all '
2048 $(call VBOX_BLD_VM_MSG_END__
,Solaris
/x86 Validation Kit
)
2050 validationkit-build-solaris.rsync-out-of-vm
: validationkit-build-solaris.build-it
2051 $(TIME
) -- $(VBOX_RSYNC
) -a
--delete
$(VBOX_BLD_VM_SOLARIS_IP
):/mnt
/tinderbox
/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME
)/out
/solaris.x86 out
/
2052 $(TIME
) -- $(VBOX_RSYNC
) -a
--delete
$(VBOX_BLD_VM_SOLARIS_IP
):/mnt
/tinderbox
/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME
)/out
/solaris.amd64 out
/
2054 .PHONY
: validationkit-build-solaris.rsync-out-of-vm validationkit-build-solaris.rsync-into-vm validationkit-build-solaris.build-it
2056 validationkit-build-solaris.amd64
: validationkit-build-solaris.rsync-out-of-vm
2057 validationkit-build-solaris.x86
: validationkit-build-solaris.rsync-out-of-vm
2060 ifeq ($(KBUILD_TARGET
),os2
)
2061 validationkit-build-os2.x86
:
2062 + $(TIME
) -- $(KMK
) $(VBOX_VALIDATIONKIT_BUILD.x86
) all $(VBOX_VALIDATIONKIT_HOST_BUILD_TWEAK
)
2063 validationkit-build-os2.rsync-into-vm
:
2065 validationkit-build-os2.rsync-into-vm
:
2066 -$(VBOX_BLD_VM_OS2_KKILL_STUFF
)
2067 $(TIME
) -- $(call VBOX_RSYNC_IN_FN
,os2
,*,nossh
) \
2068 '--exclude=src/VBox/Additions/**' \
2069 '--exclude=src/VBox/Frontends/**' \
2070 '--exclude=src/VBox/VMM/**' \
2071 . rsync
://vbox@
$(VBOX_BLD_VM_OS2_IP
)/tinderbox
/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME
)
2073 validationkit-build-os2.build-it
: validationkit-build-os2.rsync-into-vm
2074 $(call VBOX_BLD_VM_MSG_BEGIN
,OS
/2 Validation Kit
)
2075 $(TIME
) -- $(REDIRECT_EXT
) --stdin-pipe
-- rsh
-l vbox
$(VBOX_BLD_VM_OS2_IP
) "cd e:\\tinderbox\\$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME) && e: && kbuild\\bin\\os2.x86\\kmk_ash tools\\env.sh --no-wine kmk $(VBOX_VALIDATIONKIT_BUILD.x86) all"
2076 $(call VBOX_BLD_VM_MSG_END__
,OS
/2 Validation Kit
)
2078 validationkit-build-os2.rsync-out-of-vm
: validationkit-build-os2.build-it
2079 -$(VBOX_BLD_VM_OS2_KKILL_STUFF
)
2080 $(TIME
) -- $(VBOX_RSYNC_NOSSH
) -v
-a
--delete rsync
://vbox@
$(VBOX_BLD_VM_OS2_IP
)/tinderbox
/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME
)/out
/os2.x86 .
/out
2082 .PHONY
: validationkit-build-os2.rsync-into-vm validationkit-build-os2.rsync-out-of-vm validationkit-build-os2.build-it
2084 validationkit-build-os2.x86
: validationkit-build-os2.rsync-out-of-vm
2087 ifeq ($(KBUILD_TARGET
),linux
)
2088 validationkit-build-linux.amd64
:
2089 + $(TIME
) -- $(KMK
) $(VBOX_VALIDATIONKIT_BUILD.amd64
) all $(VBOX_VALIDATIONKIT_HOST_BUILD_TWEAK
)
2091 validationkit-build-linux.x86
:
2092 + $(TIME
) -- $(KMK
) $(VBOX_VALIDATIONKIT_BUILD.x86
) all $(VBOX_VALIDATIONKIT_HOST_BUILD_TWEAK
)
2094 validationkit-build-linux
: validationkit-build-linux.x86 validationkit-build-linux.amd64
2096 validationkit-build-linux.rsync-into-vm
: $(VBOX_VALIDATIONKIT_BUILD_WIN_HOST_FIRST
)
2097 $(TIME
) -- $(call VBOX_RSYNC_IN_FN
,linux
,*) \
2098 '--exclude=src/VBox/Additions/**' \
2099 '--exclude=src/VBox/Debugger/**' \
2100 '--exclude=src/VBox/Frontends/**' \
2101 '--exclude=src/VBox/GuestHost/**' \
2102 '--exclude=src/VBox/HostServices/**' \
2103 '--exclude=src/VBox/ImageMounter/**' \
2104 '--include=src/VBox/Main/' \
2105 '--include=src/VBox/Main/idl**' \
2106 '--exclude=src/VBox/Main/**' \
2107 '--exclude=src/VBox/NetworkServices/**' \
2108 '--exclude=src/VBox/RDP/**' \
2109 '--exclude=src/VBox/Storage/**' \
2110 '--exclude=src/VBox/VMM/**' \
2111 '--exclude=src/app/**' \
2112 .
$(VBOX_BLD_VM_LNX_IP
):/mnt
/tinderbox
/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME
)
2114 validationkit-build-linux.build-it
: validationkit-build-linux.rsync-into-vm
2115 $(call VBOX_BLD_VM_MSG_BEGIN
,Linux
/amd64 Validation Kit
)
2116 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_LNX_IP
) 'dchroot -c debian-4.0-amd64 "cd /mnt/tinderbox/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_VALIDATIONKIT_BUILD.amd64) all " '
2117 $(call VBOX_BLD_VM_MSG_END__
,Linux
/amd64 Validation Kit
)
2118 $(call VBOX_BLD_VM_MSG_BEGIN
,Linux
/x86 Validation Kit
)
2119 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_LNX_IP
) 'linux32 dchroot -c rhel3-i386 "cd /mnt/tinderbox/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_VALIDATIONKIT_BUILD.x86) all " '
2120 $(call VBOX_BLD_VM_MSG_END__
,Linux
/x86 Validation Kit
)
2122 validationkit-build-linux.rsync-out-of-vm
: validationkit-build-linux.build-it
2123 $(TIME
) -- $(VBOX_RSYNC
) -a
--delete
$(VBOX_BLD_VM_LNX_IP
):/mnt
/tinderbox
/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME
)/out
/linux.x86 out
/
2124 $(TIME
) -- $(VBOX_RSYNC
) -a
--delete
$(VBOX_BLD_VM_LNX_IP
):/mnt
/tinderbox
/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME
)/out
/linux.amd64 out
/
2126 .PHONY
: validationkit-build-linux.rsync-out-of-vm validationkit-build-linux.rsync-into-vm validationkit-build-linux.build-it
2128 validationkit-build-linux
: validationkit-build-linux.rsync-out-of-vm
2132 # ValidationKit build for Linux ARM.
2134 validationkit-build-linux.arm64.rsync-into-vm
: $(VBOX_VALIDATIONKIT_BUILD_WIN_HOST_FIRST
)
2135 $(TIME
) -- $(call VBOX_RSYNC_IN_FN
,linux
,*) \
2136 '--exclude=src/VBox/Additions/**' \
2137 '--exclude=src/VBox/Debugger/**' \
2138 '--exclude=src/VBox/Frontends/**' \
2139 '--exclude=src/VBox/GuestHost/**' \
2140 '--exclude=src/VBox/HostServices/**' \
2141 '--exclude=src/VBox/ImageMounter/**' \
2142 '--include=src/VBox/Main/' \
2143 '--include=src/VBox/Main/idl**' \
2144 '--exclude=src/VBox/Main/**' \
2145 '--exclude=src/VBox/NetworkServices/**' \
2146 '--exclude=src/VBox/RDP/**' \
2147 '--exclude=src/VBox/Storage/**' \
2148 '--exclude=src/VBox/VMM/**' \
2149 '--exclude=src/app/**' \
2150 .
$(VBOX_BLD_VM_LNX_ARM64_IP
):/home
/vbox
/tinderbox
/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME
)
2152 validationkit-build-linux.arm64.build-it
: validationkit-build-linux.arm64.rsync-into-vm
2153 $(call VBOX_BLD_VM_MSG_BEGIN
,Linux
/arm64 Validation Kit
)
2154 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_LNX_ARM64_IP
) 'cd /home/vbox/tinderbox/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_VALIDATIONKIT_BUILD.arm64) all '
2155 $(call VBOX_BLD_VM_MSG_END__
,Linux
/arm64 Validation Kit
)
2157 validationkit-build-linux.arm64.rsync-out-of-vm
: validationkit-build-linux.arm64.build-it
2158 $(TIME
) -- $(VBOX_RSYNC
) -a
--delete
$(VBOX_BLD_VM_LNX_ARM64_IP
):/home
/vbox
/tinderbox
/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME
)/out
/linux.arm64 out
/
2160 .PHONY
: validationkit-build-linux.arm64.rsync-out-of-vm validationkit-build-linux.arm64.rsync-into-vm validationkit-build-linux.arm64.build-it
2162 validationkit-build-linux.arm64
: validationkit-build-linux.arm64.rsync-out-of-vm
2165 validationkit-build-freebsd.amd64
: $(VBOX_VALIDATIONKIT_BUILD_WIN_HOST_FIRST
)
2166 #ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),freebsd.amd64)
2167 # + $(TIME) -- $(KMK) $(VBOX_VALIDATIONKIT_BUILD.amd64) all $(VBOX_VALIDATIONKIT_HOST_BUILD_TWEAK)
2169 # $(call VBOX_BLD_VM_MSG_BEGIN,Freebsd/amd64 Validation Kit)
2170 # $(TIME) -- $(VBOX_SSH) vbox@$(VBOX_BLD_VM_FBSD_AMD64_IP) 'cd /mnt/tinderbox/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_VALIDATIONKIT_BUILD.amd64) all '
2171 # $(call VBOX_BLD_VM_MSG_END__,Freebsd/amd64 Validation Kit)
2174 validationkit-build-freebsd.x86
: $(VBOX_VALIDATIONKIT_BUILD_WIN_HOST_FIRST
)
2175 #ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),freebsd.x86)
2176 # + $(TIME) -- $(KMK) $(VBOX_VALIDATIONKIT_BUILD.x86) all $(VBOX_VALIDATIONKIT_HOST_BUILD_TWEAK)
2178 # $(call VBOX_BLD_VM_MSG_BEGIN,Freebsd/x86 Validation Kit)
2179 # $(TIME) -- $(VBOX_SSH) vbox@$(VBOX_BLD_VM_FBSD_X86_IP) 'cd /mnt/tinderbox/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_VALIDATIONKIT_BUILD.x86) all '
2180 # $(call VBOX_BLD_VM_MSG_END__,Freebsd/x86 Validation Kit)
2183 validationkit-build-darwin.amd64
: $(VBOX_VALIDATIONKIT_BUILD_WIN_HOST_FIRST
)
2184 ifeq ($(KBUILD_TARGET
).
$(KBUILD_TARGET_ARCH
),darwin.amd64
)
2185 + $(TIME
) -- $(KMK
) $(VBOX_VALIDATIONKIT_BUILD.amd64
) all $(VBOX_VALIDATIONKIT_HOST_BUILD_TWEAK
)
2187 $(call VBOX_BLD_VM_MSG_BEGIN
,Darwin
/amd64 Validation Kit
)
2188 $(TIME
) -- $(call VBOX_RSYNC_IN_FN
,darwin
,amd64
) .
$(VBOX_BLD_VM_DARWIN_AMD64_IP
):/Users
/vbox
/tinderbox
/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME
)
2189 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_DARWIN_AMD64_IP
) 'cd /Users/vbox/tinderbox/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_VALIDATIONKIT_BUILD.amd64) all '
2190 $(TIME
) -- $(VBOX_RSYNC
) -am
-v
--delete
$(VBOX_BLD_VM_DARWIN_AMD64_IP
):/Users
/vbox
/tinderbox
/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME
)/out
/darwin.amd64 out
/
2191 $(call VBOX_BLD_VM_MSG_END__
,Darwin
/amd64 Validation Kit
)
2194 validationkit-build-darwin.x86
: $(VBOX_VALIDATIONKIT_BUILD_WIN_HOST_FIRST
)
2195 ifeq ($(KBUILD_TARGET
).
$(KBUILD_TARGET_ARCH
),darwin.x86
)
2196 + $(TIME
) -- $(KMK
) $(VBOX_VALIDATIONKIT_BUILD.x86
) all $(VBOX_VALIDATIONKIT_HOST_BUILD_TWEAK
)
2198 $(call VBOX_BLD_VM_MSG_BEGIN
,Darwin
/x86 Validation Kit
)
2199 $(TIME
) -- $(call VBOX_RSYNC_IN_FN
,darwin
,x86
) .
$(VBOX_BLD_VM_DARWIN_X86_IP
):/Users
/vbox
/tinderbox
/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME
)
2200 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_DARWIN_X86_IP
) 'cd /Users/vbox/tinderbox/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_VALIDATIONKIT_BUILD.x86) all '
2201 $(TIME
) -- $(VBOX_RSYNC
) -am
-v
--delete
$(VBOX_BLD_VM_DARWIN_X86_IP
):/Users
/vbox
/tinderbox
/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME
)/out
/darwin.x86 out
/
2202 $(call VBOX_BLD_VM_MSG_END__
,Darwin
/x86 Validation Kit
)
2205 validationkit-build-darwin.arm64
: $(VBOX_VALIDATIONKIT_BUILD_WIN_HOST_FIRST
)
2206 ifeq ($(KBUILD_TARGET
).
$(KBUILD_TARGET_ARCH
),darwin.arm64
)
2207 + $(TIME
) -- $(KMK
) $(VBOX_VALIDATIONKIT_BUILD.arm64
) all $(VBOX_VALIDATIONKIT_HOST_BUILD_TWEAK
)
2209 $(call VBOX_BLD_VM_MSG_BEGIN
,Darwin
/arm64 Validation Kit
)
2210 $(TIME
) -- $(call VBOX_RSYNC_IN_FN
,darwin
,arm64
) .
$(VBOX_BLD_VM_DARWIN_ARM64_IP
):/Users
/vbox
/tinderbox
/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME
)
2211 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_DARWIN_ARM64_IP
) 'PATH=$$PATH:/opt/local/bin; cd /Users/vbox/tinderbox/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME) && KBUILD_HOST_ARCH=arm64 tools/env.sh --no-wine kmk $(VBOX_VALIDATIONKIT_BUILD.arm64) all '
2212 $(TIME
) -- $(VBOX_RSYNC
) -am
-v
--delete
$(VBOX_BLD_VM_DARWIN_ARM64_IP
):/Users
/vbox
/tinderbox
/$(VBOX_VALIDATIONKIT_BUILD_SUBDIRNAME
)/out
/darwin.arm64 out
/
2213 $(call VBOX_BLD_VM_MSG_END__
,Darwin
/arm64 Validation Kit
)
2217 validationkit-packing
:
2218 + $(KMK
) VBOX_ONLY_VALIDATIONKIT
=1 \
2219 VBOX_WITH_VALIDATIONKIT_PACKING.darwin.amd64
=1 \
2220 VBOX_WITH_VALIDATIONKIT_PACKING.darwin.x86
=2 \
2221 VBOX_WITH_VALIDATIONKIT_PACKING.darwin.arm64
=1 \
2222 VBOX_WITH_VALIDATIONKIT_PACKING.freebsd.amd64
= \
2223 VBOX_WITH_VALIDATIONKIT_PACKING.freebsd.x86
= \
2224 VBOX_WITH_VALIDATIONKIT_PACKING.linux.amd64
=1 \
2225 VBOX_WITH_VALIDATIONKIT_PACKING.linux.x86
=1 \
2226 VBOX_WITH_VALIDATIONKIT_PACKING.linux.arm64
=1 \
2227 VBOX_WITH_VALIDATIONKIT_PACKING.os2.x86
=1 \
2228 VBOX_WITH_VALIDATIONKIT_PACKING.solaris.amd64
=1 \
2229 VBOX_WITH_VALIDATIONKIT_PACKING.solaris.x86
=1 \
2230 VBOX_WITH_VALIDATIONKIT_PACKING.win.amd64
=1 \
2231 VBOX_WITH_VALIDATIONKIT_PACKING.win.x86
=1 \
2232 -C src
/VBox
/ValidationKit \
2233 $(PATH_OUT
)/VBoxValidationKit.zip \
2234 $(PATH_OUT
)/VBoxTestBoxScript.zip
2237 validationkit-build-win.x86 \
2238 validationkit-build-win.amd64 \
2239 validationkit-build-solaris.amd64 \
2240 validationkit-build-solaris.x86 \
2241 validationkit-build-os2.x86 \
2242 validationkit-build-linux \
2243 validationkit-build-linux.amd64 \
2244 validationkit-build-linux.x86 \
2245 validationkit-build-linux.arm64 \
2246 validationkit-build-freebsd.amd64 \
2247 validationkit-build-freebsd.x86 \
2248 validationkit-build-darwin.amd64 \
2249 validationkit-build-darwin.x86 \
2250 validationkit-build-darwin.arm64 \
2251 validationkit-packing
2255 # Build the EFI firmware, all of it.
2258 + $(KMK
) -C tools fetch VBOX_ONLY_EXTPACKS
=1 VBOX_ONLY_EFI
=1
2260 efi-build
: $(VBOX_VERSION_HEADER
)
2261 + $(KMK
) -C src
/VBox
/Devices
/EFI
/Firmware
$(VBOX_EFI_FIRMWARE_SUFFIX
)
2264 + $(KMK
) -C src
/VBox
/Devices
/EFI
/Firmware
$(VBOX_EFI_FIRMWARE_SUFFIX
) $(PATH_STAGE
)/VBoxEfiFirmware.zip
$(if
$(VBOX_WITH_VIRT_ARMV8
),$(PATH_STAGE
)/VBoxEfiFirmware-armv8.zip
,)
2269 # Build the SDK, all of it.
2271 # Hosting the build on windows, with the linux part in a VM.
2274 + $(KMK
) -C tools fetch VBOX_ONLY_SDK
=1 VBOX_ONLY_SDK_ON_HOST
=1
2275 + $(KMK
) -C tools fetch VBOX_ONLY_SDK
=1 VBOX_ONLY_SDK_IN_VM
=1 KBUILD_TARGET
=linux
2276 + $(KMK
) -C tools fetch VBOX_ONLY_SDK
=1 VBOX_ONLY_SDK_IN_VM
=1 KBUILD_TARGET
=win
2279 sdk-build-rsync-into-vms \
2283 sdk-build-rsync-into-vms
: \
2284 sdk-build-linux.rsync-into-vm
2285 $(call MSG_L1
,Rsynced the sources
+ tools into the VM
(s
).
)
2286 .NOTPARALLEL
: sdk-build-rsync-into-vms
2287 .PHONY
: sdk-build-rsync-into-vms
2289 VBOX_SDK_BUILD.amd64
= VBOX_ONLY_SDK
=1 KBUILD_TYPE
=$(KBUILD_TYPE
) KBUILD_TARGET_ARCH
=amd64 VBOX_SVN_REV
=$(VBOX_SVN_REV
)
2291 # Automatically determine the SDL build subdir name. Used for figuring
2292 # out directory names inside the test suite building VMs.
2293 VBOX_SDK_BUILD_SUBDIRNAME
:= $(lastword
$(subst /, ,$(PATH_ROOT
)))
2296 ifeq ($(KBUILD_TARGET
),win
)
2297 + $(TIME
) -- $(KMK
) $(VBOX_SDK_BUILD.amd64
) VBOX_ONLY_SDK_ON_HOST
=1 all $(VBOX_SDK_HOST_BUILD_TWEAK
)
2299 $(call VBOX_BLD_VM_MSG_BEGIN
,Windows
/amd64 SDK
)
2300 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_WIN_X86_IP
) 'cd e:/$(VBOX_SDK_BUILD_SUBDIRNAME) && tools/env.sh kmk $(VBOX_SDK_BUILD.amd64) VBOX_ONLY_SDK_IN_VM=1 all '
2301 $(call VBOX_BLD_VM_MSG_END__
,Windows
/amd64 SDK
)
2304 ifeq ($(KBUILD_TARGET
),linux
)
2306 + $(TIME
) -- $(KMK
) $(VBOX_SDK_BUILD.amd64
) all $(VBOX_SDK_HOST_BUILD_TWEAK
)
2309 sdk-build-linux.rsync-into-vm
: $(VBOX_SDK_BUILD_WIN_HOST_FIRST
)
2310 $(TIME
) -- $(call VBOX_RSYNC_IN_FN
,linux
,*) \
2311 '--exclude=src/VBox/Additions/**' \
2312 '--exclude=src/VBox/Artwork/**' \
2313 '--exclude=src/VBox/Devices**' \
2314 '--exclude=src/VBox/Debugger/**' \
2315 '--exclude=src/VBox/Disassembler/**' \
2316 '--exclude=src/VBox/ExtPacks/**' \
2317 '--include=src/VBox/Frontends/' \
2318 '--include=src/VBox/Frontends/VBoxShell**' \
2319 '--exclude=src/VBox/Frontends/**' \
2320 '--exclude=src/VBox/GuestHost/**' \
2321 '--exclude=src/VBox/HostDrivers/**' \
2322 '--exclude=src/VBox/HostServices/**' \
2323 '--exclude=src/VBox/ImageMounter/**' \
2324 '--exclude=src/VBox/NetworkServices/**' \
2325 '--exclude=src/VBox/Storage/**' \
2326 '--exclude=src/VBox/VMM/**' \
2327 '--include=src/libs/' \
2328 '--include=src/libs/Makefile.kmk' \
2329 '--include=src/libs/xpcom**' \
2330 '--exclude=src/libs/**' \
2331 .
$(VBOX_BLD_VM_LNX_IP
):/mnt
/tinderbox
/$(VBOX_SDK_BUILD_SUBDIRNAME
)
2333 sdk-build-linux.build-it
: sdk-build-linux.rsync-into-vm
2334 $(call VBOX_BLD_VM_MSG_BEGIN
,Linux
/amd64 SDK
)
2335 $(TIME
) -- $(VBOX_SSH
) vbox@
$(VBOX_BLD_VM_LNX_IP
) 'cd /mnt/tinderbox/$(VBOX_SDK_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_SDK_BUILD.amd64) VBOX_ONLY_SDK_IN_VM=1 all '
2336 $(call VBOX_BLD_VM_MSG_END__
,Linux
/amd64 SDK
)
2338 sdk-build-linux.rsync-out-of-vm
: sdk-build-linux.build-it
2339 $(TIME
) -- $(VBOX_RSYNC
) -a
--delete
$(VBOX_BLD_VM_LNX_IP
):/mnt
/tinderbox
/$(VBOX_SDK_BUILD_SUBDIRNAME
)/out
/linux.amd64 out
/
2341 .PHONY
: sdk-build-linux.rsync-out-of-vm sdk-build-linux.rsync-into-vm sdk-build-linux.build-it
2343 sdk-build-linux
: sdk-build-linux.rsync-out-of-vm
2348 + $(KMK
) VBOX_ONLY_SDK
=1 VBOX_ONLY_SDK_ON_HOST
=1 \
2349 VBOX_WITH_SDK_PACKING.linux.amd64
=1 \
2350 VBOX_WITH_SDK_PACKING.win.amd64
=1 \
2351 -C src
/VBox
/Installer packing
2361 # Generate VirtualBox-x.x.x.zip (PUEL) snapshot archive for internal use only
2363 # - must be executed on an PUEL checkout
2366 # the path where to store the zip archive
2367 ZIPPATH ?
= $(abspath
$(PATH_ROOT
)/..
)
2368 # the root directory inside the zip archive
2369 ZIPROOT ?
= VirtualBox-
$(VBOX_VERSION_STRING
)
2370 # the name of the zip archive
2371 ZIPNAME ?
= VirtualBox-
$(VBOX_VERSION_STRING
).zip
2373 @
$(call MSG_L1
,Creating zip
$(ZIPPATH
)/$(ZIPNAME
))
2374 @if
[ ! -r
"$(PATH_ROOT)/src/VBox/RDP/server/server.cpp" ]; then \
2376 echo
"Did not find RDP stuff, is this an OSE branch?"; \
2380 @if
[ -z
"$(PASSWORD)" ]; then \
2382 echo
"Please specify a password with PASSWORD=..."; \
2386 $(QUIET
)$(MKDIR
) -p
$(ZIPPATH
)
2387 $(QUIET
)$(RM
) -f
$(ZIPPATH
)/$(ZIPROOT
)
2388 $(QUIET
)$(RM
) -f
$(ZIPPATH
)/$(ZIPNAME
)
2389 $(QUIET
)$(LN_SYMLINK
) $(PATH_ROOT
) $(ZIPPATH
)/$(ZIPROOT
)
2390 $(QUIET
)(cd
$(ZIPPATH
); 7z a \
2391 -l
-tzip
-mmt
=on
-mx
=7 -p
$(PASSWORD
) \
2393 -i
!$(ZIPROOT
)/Config.kmk \
2394 -i
!$(ZIPROOT
)/Doxyfile.Core \
2395 -i
!$(ZIPROOT
)/Makefile.kmk \
2396 -i
!$(ZIPROOT
)/configure \
2397 -i
!$(ZIPROOT
)/configure.vbs \
2399 -i
!$(ZIPROOT
)/include \
2400 -i
!$(ZIPROOT
)/kBuild \
2402 -i
!$(ZIPROOT
)/tools
/env.sh \
2403 -i
!$(ZIPROOT
)/tools
/linux.x86
/bin
/* \
2404 -i
!$(ZIPROOT
)/tools
/linux.amd64
/bin
/* \
2405 -x
!$(ZIPROOT
)/doc
/Devices \
2406 -x
!$(ZIPROOT
)/doc
/\
*pdf \
2407 -x
!$(ZIPROOT
)/doc
/VMM \
2408 -x
!$(ZIPROOT
)/doc
/licenses_old \
2409 -x
!$(ZIPROOT
)/doc
/manual
/de_DE \
2410 -x
!$(ZIPROOT
)/doc
/manual
/fr_FR \
2411 -x
!$(ZIPROOT
)/src
/tests \
2412 -x
!$(ZIPROOT
)/src
/VBox
/Artwork
/2008-\
* \
2413 -x
!$(ZIPROOT
)/src
/VBox
/Installer
/AMI \
2414 -x
!$(ZIPROOT
)/src
/VBox
/Installer
/Avanquest \
2415 -x
!$(ZIPROOT
)/src
/VBox
/Installer
/Encore \
2416 -x
!$(ZIPROOT
)/src
/VBox
/Installer
/linux
/debian \
2417 -x
!$(ZIPROOT
)/src
/VBox
/Installer
/linux
/rpm \
2418 $(ZIPPATH
)/$(ZIPNAME
))
2419 $(QUIET
)$(RM
) $(ZIPPATH
)/$(ZIPROOT
)
2423 # Generate VirtualBox-x.x.x.tar.bz2 (OSE) snapshot archive
2429 $(QUIET
)$(RM
) -Rf
$(wildcard $(PATH_OUT
)/vbox-ose-snap-
*) $(wildcard $(PATH_OUT
)/VirtualBox-
*.
tar.bz2
)
2430 $(call MSG_L1
,Making OSE snapshot at
$(PATH_OUT
)/vbox-ose-snap-
$(VBOX_VERSION_STRING
))
2431 $(KBUILD_DEVTOOLS
)/bin
/ose-snapshot.sh
$(PATH_OUT
)/vbox-ose-snap-
$(VBOX_VERSION_STRING
)
2432 $(call MSG_L1
,Creating OSE tarball
$(PATH_OUT
)/VirtualBox-
$(VBOX_VERSION_STRING
)-r
$(VBOX_SVN_REV
).
tar.bz2
)
2433 $(REDIRECT
) -C
$(PATH_OUT
)/vbox-ose-snap-
$(VBOX_VERSION_STRING
) -- \
2434 $(KBUILD_DEVTOOLS
)/bin
/ose-tarball.sh
$(PATH_OUT
)/VirtualBox-
$(VBOX_VERSION_STRING
)-r
$(VBOX_SVN_REV
).
tar.bz2
2436 $(QUIET
)$(RM
) $(wildcard $(PATH_OUT
)/VirtualBox-
*.
tar.bz2
)
2437 $(call MSG_L1
,Creating OSE tarball
$(PATH_OUT
)/VirtualBox-
$(VBOX_VERSION_STRING
)-r
$(VBOX_SVN_REV
).
tar.bz2
)
2438 $(REDIRECT
) -C
$(PATH_ROOT
) -- \
2439 $(KBUILD_DEVTOOLS
)/bin
/ose-tarball.sh
$(PATH_OUT
)/VirtualBox-
$(VBOX_VERSION_STRING
)-r
$(VBOX_SVN_REV
).
tar.bz2
2444 # Generate ALL the rules.
2446 include $(FILE_KBUILD_SUB_FOOTER
)
2450 # Generate x86.mac and err.mac.
2453 $(SED
) -f
include/VBox
/err.sed
--output
include/VBox
/err.mac
include/VBox
/err.h
2454 $(APPEND
) include/VBox
/err.mac
'%include "iprt/err.mac"'
2455 $(SED
) -f
include/VBox
/err.sed
--output
include/iprt
/err.mac
include/iprt
/err.h
2456 $(SED
) -f
include/VBox
/various.sed
--output
include/iprt
/x86.mac
include/iprt
/x86.h
2457 $(SED
) -f
include/VBox
/various.sed
--output
include/iprt
/formats
/dwarf.mac
include/iprt
/formats
/dwarf.h
2458 $(APPEND
) include/iprt
/x86.mac
'%include "iprt/x86extra.mac"'
2459 $(SED
) -f
include/VBox
/various.sed
--output
include/VBox
/apic.mac
include/VBox
/apic.h
2460 $(SED
) -f
include/VBox
/various.sed
--output
include/VBox
/bios.mac
include/VBox
/bios.h
2461 $(SED
) -f
include/VBox
/various.sed
--output
include/VBox
/param.mac
include/VBox
/param.h
2462 $(SED
) -f
include/VBox
/various.sed
--output
include/VBox
/VMMDevTesting.mac
include/VBox
/VMMDevTesting.h
2463 $(SED
) -f
include/VBox
/various.sed
--output
include/VBox
/vmm
/cpuidcall.mac
include/VBox
/vmm
/cpuidcall.h
2470 $(ECHO
) This is now done by gen-slickedit-workspace.sh
/cmd.
2475 # Add fetching of the tools to the 'up[date][2]' targets.
2477 up update up2 update2
::
2479 +$(MAKE
) -C tools fetch
2481 $(MAKE
) -C tools
-f Makefile-ose.kmk fetch
2487 # Build the essentials to run a VM. Incomplete. Use with care!
2499 $(if-expr defined
(VBOX_WITH_RAW_MODE
),VMMRC VBoxDDRC VBoxDD2RC
,) \
2500 $(if-expr defined
(VBOX_WITH_MIDL_PROXY_STUB
) && "$(KBUILD_TARGET)" == "win",VBoxProxyStub
,) \
2501 $(if-expr defined
(VBOX_WITH_SDS
),VBoxSDS
,) \
2502 $(if-expr defined
(VBOX_WITH_QTGUI
),VirtualBox
,)
2506 # Runs the analysis with parfait
2508 # @todo A lot of stuff doesn't compile with parfait under
2509 # Windows yet due to insufficient MSVC emulation.
2510 # Thatswhy the build is just ignoring errors and we let
2511 # parfait work on whats there, even if incomplete.
2512 # See @bugref{3409} for updates.
2515 ifdef VBOX_WITH_PARFAIT
2516 ifeq ($(KBUILD_TARGET
),win
)
2517 - $(REDIRECT
) -E
"PARFAIT_DUMP_PATH=$(PATH_OUT)" -- $(TIME
) -- $(KMK
) all -k
2519 + $(REDIRECT
) -E
"PARFAIT_DUMP_PATH=$(PATH_OUT)" -- $(TIME
) -- $(KMK
) all
2521 - $(REDIRECT
) -E
"PARFAIT_DUMP_PATH=$(PATH_OUT)" -- $(TIME
) -- $(VBOX_PARFAIT
) \
2522 $(if-expr defined
(VBOX_PARFAIT_SERVER
),-s
$(VBOX_PARFAIT_SERVER
),) \
2523 $(VBOX_PARFAIT_OPTS
) \
2524 $(if-expr defined
(VBOX_PARFAIT_SERVER_BASELINE
),-b
$(VBOX_PARFAIT_SERVER_BASELINE
),-b
$(PATH_ROOT
)/tools
/parfait-vbox-baseline.conf
) \
2525 -j
$(if-expr
$(KMK_OPTS_JOBS
) > 0, $(KMK_OPTS_JOBS
), 1) \
2526 -o
$(PATH_OUT
)/report.txt \
2527 -g
$(PATH_OUT
)/html \
2528 -c
$(PATH_ROOT
)/tools
/parfait-vbox.conf \
2529 --exclude-from
=$(PATH_ROOT
)/tools
/parfait-vbox-exclude.conf \
2531 -r
$(VBOX_SVN_REV
) \
2534 $(ECHO
) This target requires VBOX_WITH_PARFAIT to be set.