| 1 |
# $Id$ |
|---|
| 2 |
## @file |
|---|
| 3 |
# Top level makefile. |
|---|
| 4 |
# |
|---|
| 5 |
|
|---|
| 6 |
# |
|---|
| 7 |
# Copyright (C) 2006-2007 Sun Microsystems, Inc. |
|---|
| 8 |
# |
|---|
| 9 |
# This file is part of VirtualBox Open Source Edition (OSE), as |
|---|
| 10 |
# available from http://www.virtualbox.org. This file is free software; |
|---|
| 11 |
# you can redistribute it and/or modify it under the terms of the GNU |
|---|
| 12 |
# General Public License (GPL) as published by the Free Software |
|---|
| 13 |
# Foundation, in version 2 as it comes in the "COPYING" file of the |
|---|
| 14 |
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the |
|---|
| 15 |
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. |
|---|
| 16 |
# |
|---|
| 17 |
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa |
|---|
| 18 |
# Clara, CA 95054 USA or visit http://www.sun.com if you need |
|---|
| 19 |
# additional information or have any questions. |
|---|
| 20 |
# |
|---|
| 21 |
|
|---|
| 22 |
SUB_DEPTH = . |
|---|
| 23 |
include $(KBUILD_PATH)/subheader.kmk |
|---|
| 24 |
|
|---|
| 25 |
ifdef VBOX_WITH_DOCS |
|---|
| 26 |
ifndef VBOX_ONLY_ADDITIONS |
|---|
| 27 |
ifdef VBOX_SINGLE_MAKEFILE |
|---|
| 28 |
include $(PATH_SUB_CURRENT)/doc/manual/Makefile.kmk |
|---|
| 29 |
else |
|---|
| 30 |
SUBDIRS = doc/manual |
|---|
| 31 |
endif |
|---|
| 32 |
endif |
|---|
| 33 |
endif |
|---|
| 34 |
ifdef VBOX_SINGLE_MAKEFILE |
|---|
| 35 |
include $(PATH_SUB_CURRENT)/src/Makefile.kmk |
|---|
| 36 |
else |
|---|
| 37 |
SUBDIRS += src |
|---|
| 38 |
endif |
|---|
| 39 |
|
|---|
| 40 |
ifndef VBOX_ONLY_DOCS |
|---|
| 41 |
ifndef VBOX_ONLY_ADDITIONS |
|---|
| 42 |
# |
|---|
| 43 |
# Install external binaries (mostly redistributable parts of tools we use). |
|---|
| 44 |
# This must be done *before* we build the manual. |
|---|
| 45 |
# |
|---|
| 46 |
# To avoid dragging in unnecessary tools and sdks here, we don't use the .win |
|---|
| 47 |
# and .linux property suffixes. |
|---|
| 48 |
# |
|---|
| 49 |
INSTALLS += bin |
|---|
| 50 |
|
|---|
| 51 |
bin_INST = $(INST_BIN) |
|---|
| 52 |
|
|---|
| 53 |
# The SDL DLLs |
|---|
| 54 |
if1of ($(KBUILD_TARGET), win os2) |
|---|
| 55 |
ifneq ($(VBOX_WITH_VBOXSDL)$(VBOX_WITH_VBOXBFE),) |
|---|
| 56 |
include $(KBUILD_PATH)/sdks/LIBSDL.kmk |
|---|
| 57 |
bin_SOURCES += \ |
|---|
| 58 |
$(DLL_SDK_LIBSDL_SDL) |
|---|
| 59 |
ifdef VBOX_WITH_SECURELABEL |
|---|
| 60 |
bin_SOURCES += \ |
|---|
| 61 |
$(DLL_SDK_LIBSDL_SDLTTF) |
|---|
| 62 |
endif |
|---|
| 63 |
ifeq ($(KBUILD_TARGET),os2) |
|---|
| 64 |
bin_SOURCES += \ |
|---|
| 65 |
$(DLL_SDK_LIBSDL_FSLIB) |
|---|
| 66 |
endif |
|---|
| 67 |
endif |
|---|
| 68 |
endif |
|---|
| 69 |
|
|---|
| 70 |
|
|---|
| 71 |
# The Qt DLLs. |
|---|
| 72 |
ifneq ($(VBOX_WITH_QTGUI),) |
|---|
| 73 |
if1of ($(KBUILD_TARGET), win os2) |
|---|
| 74 |
#include $(KBUILD_PATH)/sdks/QT3.kmk |
|---|
| 75 |
#bin_SOURCES += \ |
|---|
| 76 |
# $(DLL_SDK_QT3_QT) |
|---|
| 77 |
ifneq ($(strip $(VBOX_DLL_QT)),) |
|---|
| 78 |
bin_SOURCES += \ |
|---|
| 79 |
$(VBOX_DLL_QT)=>$(not-dir $(VBOX_DLL_QT)) |
|---|
| 80 |
endif |
|---|
| 81 |
ifdef VBOX_QT_BINARIES |
|---|
| 82 |
bin_SOURCES += $(VBOX_QT_BINARIES) |
|---|
| 83 |
endif |
|---|
| 84 |
else ifeq ($(VBOX_MUST_INSTALL_LIB_QT),1) |
|---|
| 85 |
bin_SOURCES += \ |
|---|
| 86 |
$(LIB_QT) |
|---|
| 87 |
endif |
|---|
| 88 |
endif |
|---|
| 89 |
|
|---|
| 90 |
|
|---|
| 91 |
# The compiler runtime DLLs. |
|---|
| 92 |
ifeq ($(KBUILD_TARGET).$(VBOX_WITHOUT_COMPILER_REDIST),win.) |
|---|
| 93 |
ifdef VBOX_USE_VCC80 |
|---|
| 94 |
include $(KBUILD_PATH)/tools/VCC80X86.kmk |
|---|
| 95 |
include $(KBUILD_PATH)/tools/VCC80AMD64.kmk |
|---|
| 96 |
bin_SOURCES.x86 += \ |
|---|
| 97 |
$(PATH_TOOL_VCC80X86)/redist/x86/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest=>Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest \ |
|---|
| 98 |
$(PATH_TOOL_VCC80X86)/redist/x86/Microsoft.VC80.CRT/msvcr80.dll=>Microsoft.VC80.CRT/msvcr80.dll \ |
|---|
| 99 |
$(PATH_TOOL_VCC80X86)/redist/x86/Microsoft.VC80.CRT/msvcp80.dll=>Microsoft.VC80.CRT/msvcp80.dll \ |
|---|
| 100 |
$(PATH_TOOL_VCC80X86)/redist/x86/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest=>testcase/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest \ |
|---|
| 101 |
$(PATH_TOOL_VCC80X86)/redist/x86/Microsoft.VC80.CRT/msvcr80.dll=>testcase/Microsoft.VC80.CRT/msvcr80.dll \ |
|---|
| 102 |
$(PATH_TOOL_VCC80X86)/redist/x86/Microsoft.VC80.CRT/msvcp80.dll=>testcase/Microsoft.VC80.CRT/msvcp80.dll |
|---|
| 103 |
bin_SOURCES.amd64 += \ |
|---|
| 104 |
$(PATH_TOOL_VCC80AMD64)/redist/amd64/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest=>Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest \ |
|---|
| 105 |
$(PATH_TOOL_VCC80AMD64)/redist/amd64/Microsoft.VC80.CRT/msvcr80.dll=>Microsoft.VC80.CRT/msvcr80.dll \ |
|---|
| 106 |
$(PATH_TOOL_VCC80AMD64)/redist/amd64/Microsoft.VC80.CRT/msvcp80.dll=>Microsoft.VC80.CRT/msvcp80.dll \ |
|---|
| 107 |
$(PATH_TOOL_VCC80AMD64)/redist/amd64/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest=>testcase/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest \ |
|---|
| 108 |
$(PATH_TOOL_VCC80AMD64)/redist/amd64/Microsoft.VC80.CRT/msvcr80.dll=>testcase/Microsoft.VC80.CRT/msvcr80.dll \ |
|---|
| 109 |
$(PATH_TOOL_VCC80AMD64)/redist/amd64/Microsoft.VC80.CRT/msvcp80.dll=>testcase/Microsoft.VC80.CRT/msvcp80.dll |
|---|
| 110 |
endif |
|---|
| 111 |
ifndef VBOX_USE_VCC80 |
|---|
| 112 |
VBOX_INSTALL_VCC70_RT = 1 |
|---|
| 113 |
endif |
|---|
| 114 |
ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),win.x86) |
|---|
| 115 |
VBOX_INSTALL_VCC70_RT = 1 |
|---|
| 116 |
endif |
|---|
| 117 |
ifdef VBOX_INSTALL_VCC70_RT |
|---|
| 118 |
include $(KBUILD_PATH)/tools/VCC70.kmk |
|---|
| 119 |
## @todo Move these defines to VCC70. |
|---|
| 120 |
DLL_TOOL_VCC70_MSVCR71 ?= $(PATH_TOOL_VCC70)/bin/msvcr71.dll |
|---|
| 121 |
ifneq ($(wildcard $(DLL_TOOL_VCC70_MSVCR71)),) |
|---|
| 122 |
bin_SOURCES += \ |
|---|
| 123 |
$(DLL_TOOL_VCC70_MSVCR71)=>msvcr71.dll \ |
|---|
| 124 |
$(DLL_TOOL_VCC70_MSVCR71)=>testcase/msvcr71.dll |
|---|
| 125 |
endif |
|---|
| 126 |
DLL_TOOL_VCC70_MSVCP71 ?= $(PATH_TOOL_VCC70)/bin/msvcp71.dll |
|---|
| 127 |
ifneq ($(wildcard $(DLL_TOOL_VCC70_MSVCP71)),) |
|---|
| 128 |
bin_SOURCES += \ |
|---|
| 129 |
$(DLL_TOOL_VCC70_MSVCP71)=>msvcp71.dll \ |
|---|
| 130 |
$(DLL_TOOL_VCC70_MSVCP71)=>testcase/msvcp71.dll |
|---|
| 131 |
endif |
|---|
| 132 |
DLL_TOOL_VCC70_MSVCRT ?= $(PATH_TOOL_VCC70)/bin/msvcrt.dll |
|---|
| 133 |
ifneq ($(wildcard $(DLL_TOOL_VCC70_MSVCRT)),) |
|---|
| 134 |
bin_SOURCES += \ |
|---|
| 135 |
$(DLL_TOOL_VCC70_MSVCRT)=>msvcrt.dll \ |
|---|
| 136 |
$(DLL_TOOL_VCC70_MSVCRT)=>testcase/msvcrt.dll |
|---|
| 137 |
endif |
|---|
| 138 |
endif |
|---|
| 139 |
endif |
|---|
| 140 |
|
|---|
| 141 |
|
|---|
| 142 |
# |
|---|
| 143 |
# Install additions iso from the build server. |
|---|
| 144 |
# The $(CP)/$(RM) stuff can be replaced by a simple $(TOUCH) once that has |
|---|
| 145 |
# been added to kBuild. |
|---|
| 146 |
# |
|---|
| 147 |
## @todo need kmk_builtin_touch! |
|---|
| 148 |
ifdef VBOX_WITH_ADDITIONS_FROM_BUILD_SERVER |
|---|
| 149 |
INSTALLS += buildserver-additions |
|---|
| 150 |
buildserver-additions_INST = $(INST_ADDITIONS) |
|---|
| 151 |
buildserver-additions_MODE = 0644 |
|---|
| 152 |
buildserver-additions_SOURCES = $(PATH_TARGET)/VBoxGuestAdditions.iso |
|---|
| 153 |
buildserver-additions_CLEANS = $(PATH_TARGET)/VBoxGuestAdditions.iso $(PATH_TARGET)/VBoxGuestAdditions.iso.tmp |
|---|
| 154 |
|
|---|
| 155 |
$(PATH_TARGET)/VBoxGuestAdditions.iso: $(VBOX_SVN_REV_KMK) $(PATH_DEVTOOLS)/bin/additions.sh | $(call DIRDEP, $(PATH_TARGET)) |
|---|
| 156 |
$(RM) -f $(PATH_TARGET)/VBoxGuestAdditions.iso $(PATH_TARGET)/VBoxGuestAdditions.iso.tmp |
|---|
| 157 |
# $(PATH_DEVTOOLS)/bin/additions.sh --cmd fetch --filename $(PATH_TARGET)/VBoxGuestAdditions.iso.tmp |
|---|
| 158 |
$(KMK) --affinity 1 -f $(MAKEFILE) buildserver-additions-affinity-hack |
|---|
| 159 |
$(CP) -f $(PATH_TARGET)/VBoxGuestAdditions.iso.tmp $(PATH_TARGET)/VBoxGuestAdditions.iso |
|---|
| 160 |
$(RM) -f $(PATH_TARGET)/VBoxGuestAdditions.iso.tmp |
|---|
| 161 |
|
|---|
| 162 |
buildserver-additions-affinity-hack: |
|---|
| 163 |
$(SHELL) $(PATH_DEVTOOLS)/bin/additions.sh --cmd fetch --filename $(PATH_TARGET)/VBoxGuestAdditions.iso.tmp |
|---|
| 164 |
endif |
|---|
| 165 |
|
|---|
| 166 |
|
|---|
| 167 |
# |
|---|
| 168 |
# |
|---|
| 169 |
# Install documentation files (at the moment the .chm) from the build server. |
|---|
| 170 |
# The $(CP)/$(RM) stuff can be replaced by a simple $(TOUCH) once that has |
|---|
| 171 |
# been added to kBuild. |
|---|
| 172 |
# |
|---|
| 173 |
## @todo need kmk_builtin_touch! |
|---|
| 174 |
ifdef VBOX_WITH_DOCS_FROM_BUILD_SERVER |
|---|
| 175 |
INSTALLS += buildserver-docs |
|---|
| 176 |
buildserver-docs_INST = $(INST_BIN) |
|---|
| 177 |
buildserver-docs_MODE = 0644 |
|---|
| 178 |
buildserver-docs_SOURCES = $(PATH_TARGET)/VirtualBox.chm $(PATH_TARGET)/UserManual.pdf |
|---|
| 179 |
buildserver-docs_CLEANS = $(PATH_TARGET)/VBoxDocumentation.zip $(PATH_TARGET)/VBoxDocumentation.zip.tmp $(PATH_TARGET)/VirtualBox.chm $(PATH_TARGET)/UserManual.pdf |
|---|
| 180 |
|
|---|
| 181 |
## @todo including this directly is a hack, but using the tool variables |
|---|
| 182 |
# is simply too tempting. Could all go away once we have plain unzip targets. |
|---|
| 183 |
include $(KBUILD_PATH)/tools/ZIP.kmk |
|---|
| 184 |
|
|---|
| 185 |
# Make this a pattern rule to handle multiple targets correctly. |
|---|
| 186 |
$(PATH_TARGET)/VirtualBox.chm $(PATH_TARGET)/UserManua%.pdf: $(PATH_TARGET)/VBoxDocumentation.zip |
|---|
| 187 |
$(call MSG_L1,Unpacking documentation) |
|---|
| 188 |
$(QUIET)$(TOOL_ZIP_UNPACK) $(TOOL_ZIP_UNPACKFLAGS) -o $< -d $(PATH_TARGET) |
|---|
| 189 |
|
|---|
| 190 |
$(PATH_TARGET)/VBoxDocumentation.zip: $(VBOX_SVN_REV_KMK) $(PATH_DEVTOOLS)/bin/documentation.sh | $(call DIRDEP, $(PATH_TARGET)) |
|---|
| 191 |
$(RM) -f $(PATH_TARGET)/VBoxDocumentation.zip $(PATH_TARGET)/VBoxDocumentation.zip.tmp |
|---|
| 192 |
# $(PATH_DEVTOOLS)/bin/documentation.sh --cmd fetch --filename $(PATH_TARGET)/VBoxDocumentation.zip.tmp |
|---|
| 193 |
$(KMK) --affinity 1 -f $(MAKEFILE) buildserver-documentation-affinity-hack |
|---|
| 194 |
$(CP) -f $(PATH_TARGET)/VBoxDocumentation.zip.tmp $(PATH_TARGET)/VBoxDocumentation.zip |
|---|
| 195 |
$(RM) -f $(PATH_TARGET)/VBoxDocumentation.zip.tmp |
|---|
| 196 |
|
|---|
| 197 |
buildserver-documentation-affinity-hack: |
|---|
| 198 |
$(SHELL) $(PATH_DEVTOOLS)/bin/documentation.sh --cmd fetch --filename $(PATH_TARGET)/VBoxDocumentation.zip.tmp |
|---|
| 199 |
endif |
|---|
| 200 |
|
|---|
| 201 |
|
|---|
| 202 |
# |
|---|
| 203 |
# Install staged binaries on platforms where we can't cross |
|---|
| 204 |
# compile things. |
|---|
| 205 |
# |
|---|
| 206 |
ifn1of ($(KBUILD_TARGET), l4 linux win) |
|---|
| 207 |
VBOX_PATH_STAGED ?= . |
|---|
| 208 |
|
|---|
| 209 |
# Additions. |
|---|
| 210 |
ifndef VBOX_WITH_LINUX_ADDITIONS |
|---|
| 211 |
ifndef VBOX_WITH_WIN32_ADDITIONS |
|---|
| 212 |
ifneq ($(wildcard $(VBOX_PATH_STAGED)/VBoxGuestAdditions.iso),) |
|---|
| 213 |
INSTALLS += staged-additions |
|---|
| 214 |
staged-additions_INST = $(INST_ADDITIONS) |
|---|
| 215 |
staged-additions_MODE = 0644 |
|---|
| 216 |
staged-additions_SOURCES = $(VBOX_PATH_STAGED)/VBoxGuestAdditions.iso |
|---|
| 217 |
endif |
|---|
| 218 |
endif |
|---|
| 219 |
endif |
|---|
| 220 |
|
|---|
| 221 |
# guesttool.exe |
|---|
| 222 |
ifndef VBOX_WITH_WIN32_ADDITIONS |
|---|
| 223 |
ifneq ($(wildcard $(VBOX_PATH_STAGED)/guesttool.exe),) |
|---|
| 224 |
INSTALLS += staged-guesttool |
|---|
| 225 |
staged-guesttool_INST = $(INST_BIN) |
|---|
| 226 |
staged-guesttool_SOURCES = $(VBOX_PATH_STAGED)/guesttool.exe |
|---|
| 227 |
endif |
|---|
| 228 |
endif |
|---|
| 229 |
|
|---|
| 230 |
endif |
|---|
| 231 |
|
|---|
| 232 |
endif # !VBOX_ONLY_ADDITIONS |
|---|
| 233 |
endif # !VBOX_ONLY_DOCS |
|---|
| 234 |
|
|---|
| 235 |
|
|---|
| 236 |
include $(KBUILD_PATH)/subfooter.kmk |
|---|
| 237 |
|
|---|
| 238 |
|
|---|
| 239 |
# |
|---|
| 240 |
# Generate documentation. |
|---|
| 241 |
# (This should be converted into a separate pass or merged with an existing one later.) |
|---|
| 242 |
# |
|---|
| 243 |
ifdef VBOX_ONLY_DOCS |
|---|
| 244 |
# It may sound a bit odd, but for preparing the documentation package the |
|---|
| 245 |
# doxygen documentation isn't needed and increases the build time a lot. |
|---|
| 246 |
docs: |
|---|
| 247 |
else # !VBOX_ONLY_DOCS |
|---|
| 248 |
docs: $(if $(VBOX_WITH_ALL_DOXYGEN_TARGETS),docs.Core) |
|---|
| 249 |
$(KMK) -C src/VBox/Main docs |
|---|
| 250 |
ifdef VBOX_WITH_ALL_DOXYGEN_TARGETS |
|---|
| 251 |
$(KMK) -C src/VBox/Runtime docs |
|---|
| 252 |
endif |
|---|
| 253 |
endif # !VBOX_ONLY_DOCS |
|---|
| 254 |
|
|---|
| 255 |
docs.Core: $(PATH_TARGET)/docs.Core |
|---|
| 256 |
|
|---|
| 257 |
|
|---|
| 258 |
|
|---|
| 259 |
# |
|---|
| 260 |
# The core (VMM+REM+Devices+Main) documentation. |
|---|
| 261 |
# |
|---|
| 262 |
# This includes so much because we wish to have the complete CFGM |
|---|
| 263 |
# and GCFGM lists. |
|---|
| 264 |
# |
|---|
| 265 |
OTHER_CLEAN += \ |
|---|
| 266 |
$(PATH_TARGET)/Doxyfile.Core \ |
|---|
| 267 |
$(PATH_TARGET)/Doxyfile.Core.dep |
|---|
| 268 |
|
|---|
| 269 |
VBOX_CORE_DOXYFILE_INPUT_DIRS = \ |
|---|
| 270 |
include/iprt \ |
|---|
| 271 |
include/VBox \ |
|---|
| 272 |
include/VBox/com \ |
|---|
| 273 |
include/VBox/HostServices \ |
|---|
| 274 |
src/VBox/VMM \ |
|---|
| 275 |
src/VBox/VMM/VMMR0 \ |
|---|
| 276 |
src/VBox/VMM/VMMGC \ |
|---|
| 277 |
src/VBox/VMM/VMMAll \ |
|---|
| 278 |
src/VBox/VMM/PATM \ |
|---|
| 279 |
src/VBox/VMM/PATM/VMMR0 \ |
|---|
| 280 |
src/VBox/VMM/PATM/VMMGC \ |
|---|
| 281 |
src/VBox/VMM/PATM/VMMAll \ |
|---|
| 282 |
src/VBox/VMM/VMMSwitcher \ |
|---|
| 283 |
src/VBox/Debugger \ |
|---|
| 284 |
src/VBox/Devices \ |
|---|
| 285 |
src/VBox/Devices/Audio \ |
|---|
| 286 |
src/VBox/Devices/Bus \ |
|---|
| 287 |
src/VBox/Devices/Graphics \ |
|---|
| 288 |
src/VBox/Devices/Graphics/BIOS \ |
|---|
| 289 |
src/VBox/Devices/Input \ |
|---|
| 290 |
src/VBox/Devices/Networking \ |
|---|
| 291 |
src/VBox/Devices/PC \ |
|---|
| 292 |
src/VBox/Devices/PC/BIOS \ |
|---|
| 293 |
src/VBox/Devices/Parallel \ |
|---|
| 294 |
src/VBox/Devices/Serial \ |
|---|
| 295 |
src/VBox/Devices/Storage \ |
|---|
| 296 |
src/VBox/Devices/VBoxHDDFormats \ |
|---|
| 297 |
src/VBox/Devices/VBoxHDDFormats/StorageCraft \ |
|---|
| 298 |
src/VBox/Devices/USB \ |
|---|
| 299 |
src/VBox/Devices/USB/darwin \ |
|---|
| 300 |
src/VBox/Devices/USB/linux \ |
|---|
| 301 |
src/VBox/Devices/USB/os2 \ |
|---|
| 302 |
src/VBox/Devices/USB/solaris \ |
|---|
| 303 |
src/VBox/Devices/USB/vrdp \ |
|---|
| 304 |
src/VBox/Devices/USB/win32 \ |
|---|
| 305 |
src/VBox/Devices/VMMDev \ |
|---|
| 306 |
src/VBox/Main/include \ |
|---|
| 307 |
src/VBox/Main/include/hgcm \ |
|---|
| 308 |
src/VBox/Main \ |
|---|
| 309 |
src/VBox/Main/glue \ |
|---|
| 310 |
src/VBox/Main/hgcm \ |
|---|
| 311 |
src/VBox/Main/webservice \ |
|---|
| 312 |
src/VBox/Main/xml \ |
|---|
| 313 |
src/VBox/Main/darwin \ |
|---|
| 314 |
src/VBox/Main/linux \ |
|---|
| 315 |
src/VBox/Main/os2 \ |
|---|
| 316 |
src/VBox/Main/solaris \ |
|---|
| 317 |
src/VBox/Main/win \ |
|---|
| 318 |
src/VBox/Main/xpcom \ |
|---|
| 319 |
src/VBox/HostServices \ |
|---|
| 320 |
src/VBox/HostServices/SharedClipboard \ |
|---|
| 321 |
src/VBox/HostServices/SharedFolders \ |
|---|
| 322 |
src/VBox/HostServices/SharedInfoServices \ |
|---|
| 323 |
src/VBox/HostServices/SharedOpenGL \ |
|---|
| 324 |
src/VBox/HostDrivers/Support \ |
|---|
| 325 |
src/VBox/HostDrivers/Support/darwin \ |
|---|
| 326 |
src/VBox/HostDrivers/Support/freebsd \ |
|---|
| 327 |
src/VBox/HostDrivers/Support/l4 \ |
|---|
| 328 |
src/VBox/HostDrivers/Support/linux \ |
|---|
| 329 |
src/VBox/HostDrivers/Support/os2 \ |
|---|
| 330 |
src/VBox/HostDrivers/Support/solaris \ |
|---|
| 331 |
src/VBox/HostDrivers/Support/win \ |
|---|
| 332 |
src/VBox/HostDrivers/VBoxNetFlt \ |
|---|
| 333 |
src/VBox/HostDrivers/VBoxNetFlt/darwin \ |
|---|
| 334 |
src/VBox/HostDrivers/VBoxNetFlt/linux \ |
|---|
| 335 |
src/VBox/HostDrivers/VBoxNetFlt/solaris \ |
|---|
| 336 |
src/VBox/HostDrivers/VBoxNetFlt/win \ |
|---|
| 337 |
src/VBox/HostDrivers/VBoxNetNat \ |
|---|
| 338 |
src/VBox/HostDrivers/VBoxNetNat/darwin \ |
|---|
| 339 |
src/VBox/HostDrivers/VBoxNetNat/linux \ |
|---|
| 340 |
src/VBox/HostDrivers/VBoxNetNat/solaris \ |
|---|
| 341 |
src/VBox/HostDrivers/VBoxNetNat/win \ |
|---|
| 342 |
src/VBox/HostDrivers/VBoxNetTap \ |
|---|
| 343 |
src/VBox/HostDrivers/VBoxNetTap/darwin \ |
|---|
| 344 |
src/VBox/HostDrivers/VBoxNetTap/linux \ |
|---|
| 345 |
src/VBox/HostDrivers/VBoxNetTap/solaris \ |
|---|
| 346 |
src/VBox/HostDrivers/VBoxNetTap/win \ |
|---|
| 347 |
src/VBox/HostDrivers/VBoxTAP \ |
|---|
| 348 |
src/VBox/HostDrivers/VBoxTAP/win \ |
|---|
| 349 |
src/VBox/HostDrivers/VBoxUSB \ |
|---|
| 350 |
src/VBox/HostDrivers/VBoxUSB/darwin \ |
|---|
| 351 |
src/VBox/HostDrivers/VBoxUSB/os2 \ |
|---|
| 352 |
src/VBox/HostDrivers/VBoxUSB/solaris \ |
|---|
| 353 |
src/VBox/HostDrivers/VBoxUSB/win \ |
|---|
| 354 |
src/VBox/HostDrivers/VBoxUSB/win/Device \ |
|---|
| 355 |
src/VBox/HostDrivers/VBoxUSB/win/Device/amd64 \ |
|---|
| 356 |
src/VBox/HostDrivers/VBoxUSB/win/Device/x86 \ |
|---|
| 357 |
src/VBox/HostDrivers/VBoxUSB/win/Filter \ |
|---|
| 358 |
src/VBox/HostDrivers/VBoxUSB/win/Install \ |
|---|
| 359 |
src/VBox/HostDrivers/VBoxUSB/win/Monitor \ |
|---|
| 360 |
src/VBox/HostDrivers/VBoxUSB/win/Monitor/win32 \ |
|---|
| 361 |
src/VBox/HostDrivers/VBoxUSB/win/Monitor/win64 \ |
|---|
| 362 |
src/VBox/HostDrivers/VBoxUSB/win/usbd \ |
|---|
| 363 |
|
|---|
| 364 |
# These must come first in order to make things look nice. |
|---|
| 365 |
VBOX_CORE_DOXYFILE_INPUT_FIRST =\ |
|---|
| 366 |
$(PATH_ROOT)/doc/VBox-doc.c \ |
|---|
| 367 |
$(PATH_ROOT)/doc/VBox-CodingGuidelines.cpp \ |
|---|
| 368 |
$(PATH_ROOT)/src/VBox/VMM/VMMCodingGuidelines.cpp \ |
|---|
| 369 |
$(PATH_ROOT)/src/VBox/VMM/VMMDocsRawMode.cpp \ |
|---|
| 370 |
$(PATH_ROOT)/include/VBox/cdefs.h \ |
|---|
| 371 |
$(PATH_ROOT)/include/VBox/vmapi.h \ |
|---|
| 372 |
$(PATH_ROOT)/include/VBox/vmm.h \ |
|---|
| 373 |
$(PATH_ROOT)/include/VBox/cpum.h \ |
|---|
| 374 |
$(PATH_ROOT)/include/VBox/mm.h \ |
|---|
| 375 |
$(PATH_ROOT)/include/VBox/pgm.h \ |
|---|
| 376 |
$(PATH_ROOT)/include/VBox/selm.h \ |
|---|
| 377 |
$(PATH_ROOT)/include/VBox/trpm.h \ |
|---|
| 378 |
$(PATH_ROOT)/include/VBox/patm.h \ |
|---|
| 379 |
$(PATH_ROOT)/include/VBox/dbgf.h \ |
|---|
| 380 |
$(PATH_ROOT)/include/VBox/stam.h \ |
|---|
| 381 |
$(PATH_ROOT)/include/VBox/em.h \ |
|---|
| 382 |
$(PATH_ROOT)/include/VBox/pdm.h \ |
|---|
| 383 |
$(PATH_ROOT)/include/VBox/rem.h \ |
|---|
| 384 |
$(PATH_ROOT)/include/VBox/iom.h \ |
|---|
| 385 |
$(PATH_ROOT)/include/VBox/cfgm.h \ |
|---|
| 386 |
$(PATH_ROOT)/include/VBox/tm.h \ |
|---|
| 387 |
$(PATH_ROOT)/include/VBox/csam.h \ |
|---|
| 388 |
$(PATH_ROOT)/include/VBox/ssm.h \ |
|---|
| 389 |
$(PATH_ROOT)/include/VBox/hwaccm.h \ |
|---|
| 390 |
$(PATH_ROOT)/include/VBox/hwacc_svm.h \ |
|---|
| 391 |
$(PATH_ROOT)/include/VBox/hwacc_vmx.h \ |
|---|
| 392 |
\ |
|---|
| 393 |
$(PATH_ROOT)/src/VBox/VMM/CFGMInternal.h \ |
|---|
| 394 |
$(PATH_ROOT)/src/VBox/VMM/CPUMInternal.h \ |
|---|
| 395 |
$(PATH_ROOT)/src/VBox/VMM/DBGFInternal.h \ |
|---|
| 396 |
$(PATH_ROOT)/src/VBox/VMM/EMInternal.h \ |
|---|
| 397 |
$(PATH_ROOT)/src/VBox/VMM/HWACCMInternal.h \ |
|---|
| 398 |
$(PATH_ROOT)/src/VBox/VMM/IOMInternal.h \ |
|---|
| 399 |
$(PATH_ROOT)/src/VBox/VMM/MMInternal.h \ |
|---|
| 400 |
$(PATH_ROOT)/src/VBox/VMM/PDMInternal.h \ |
|---|
| 401 |
$(PATH_ROOT)/src/VBox/VMM/PGMInternal.h \ |
|---|
| 402 |
$(PATH_ROOT)/src/VBox/VMM/PATM/CSAMInternal.h \ |
|---|
| 403 |
$(PATH_ROOT)/src/VBox/VMM/PATM/PATMInternal.h \ |
|---|
| 404 |
$(PATH_ROOT)/src/VBox/VMM/REMInternal.h \ |
|---|
| 405 |
$(PATH_ROOT)/src/VBox/VMM/SELMInternal.h \ |
|---|
| 406 |
$(PATH_ROOT)/src/VBox/VMM/SSMInternal.h \ |
|---|
| 407 |
$(PATH_ROOT)/src/VBox/VMM/STAMInternal.h \ |
|---|
| 408 |
$(PATH_ROOT)/src/VBox/VMM/TMInternal.h \ |
|---|
| 409 |
$(PATH_ROOT)/src/VBox/VMM/TRPMInternal.h \ |
|---|
| 410 |
$(PATH_ROOT)/src/VBox/VMM/VMInternal.h \ |
|---|
| 411 |
$(PATH_ROOT)/src/VBox/VMM/VMMInternal.h \ |
|---|
| 412 |
\ |
|---|
| 413 |
$(PATH_ROOT)/include/VBox/vm.h \ |
|---|
| 414 |
\ |
|---|
| 415 |
$(PATH_ROOT)/include/VBox/sup.h \ |
|---|
| 416 |
$(PATH_ROOT)/include/VBox/VBoxHDD.h \ |
|---|
| 417 |
$(PATH_ROOT)/include/VBox/types.h \ |
|---|
| 418 |
$(PATH_ROOT)/include/VBox/err.h \ |
|---|
| 419 |
$(PATH_ROOT)/include/VBox/x86.h \ |
|---|
| 420 |
$(PATH_ROOT)/include/VBox/cpumdis.h \ |
|---|
| 421 |
$(PATH_ROOT)/include/VBox/dbggui.h \ |
|---|
| 422 |
$(PATH_ROOT)/include/VBox/dis.h \ |
|---|
| 423 |
$(PATH_ROOT)/include/VBox/disopcode.h \ |
|---|
| 424 |
$(PATH_ROOT)/include/VBox/intnet.h \ |
|---|
| 425 |
$(PATH_ROOT)/include/VBox/settings.h \ |
|---|
| 426 |
$(PATH_ROOT)/include/VBox/pci.h \ |
|---|
| 427 |
$(PATH_ROOT)/include/VBox/scsi.h \ |
|---|
| 428 |
$(PATH_ROOT)/include/VBox/shflsvc.h \ |
|---|
| 429 |
$(PATH_ROOT)/include/VBox/hgcmsvc.h \ |
|---|
| 430 |
$(PATH_ROOT)/include/VBox/usb.h \ |
|---|
| 431 |
$(PATH_ROOT)/include/VBox/vusb.h \ |
|---|
| 432 |
\ |
|---|
| 433 |
$(PATH_ROOT)/include/VBox/log.h \ |
|---|
| 434 |
$(PATH_ROOT)/include/VBox/param.h \ |
|---|
| 435 |
$(PATH_ROOT)/include/VBox/version.h |
|---|
| 436 |
|
|---|
| 437 |
VBOX_CORE_DOXYFILE_INPUT := \ |
|---|
| 438 |
$(filter-out %.cpp.h, $(sort $(wildcard $(addsuffix /*.h, $(VBOX_CORE_DOXYFILE_INPUT_DIRS)))) ) \ |
|---|
| 439 |
$(foreach dir, $(VBOX_CORE_DOXYFILE_INPUT_DIRS), $(wildcard $(dir)/*.cpp $(dir)/*.c $(dir)/.asm)) |
|---|
| 440 |
VBOX_CORE_DOXYFILE_INPUT := \ |
|---|
| 441 |
$(VBOX_CORE_DOXYFILE_INPUT_FIRST) \ |
|---|
| 442 |
$(filter-out $(VBOX_CORE_DOXYFILE_INPUT_FIRST), $(VBOX_CORE_DOXYFILE_INPUT)) |
|---|
| 443 |
|
|---|
| 444 |
# And some some additional stuff. |
|---|
| 445 |
VBOX_CORE_DOXYFILE_INPUT += \ |
|---|
| 446 |
$(PATH_ROOT)/src/recompiler/VBoxRecompiler.c \ |
|---|
| 447 |
$(PATH_ROOT)/src/recompiler/VBoxREMWrapper.cpp |
|---|
| 448 |
|
|---|
| 449 |
|
|---|
| 450 |
VBOX_CORE_DOXYFILE_OUTPUT = $(PATH_OUT)/docs/Core |
|---|
| 451 |
|
|---|
| 452 |
-include $(PATH_TARGET)/Doxyfile.Core.dep |
|---|
| 453 |
|
|---|
| 454 |
# Generate the Doxyfile |
|---|
| 455 |
$(PATH_TARGET)/Doxyfile.Core: Doxyfile.Core \ |
|---|
| 456 |
$(comp-vars VBOX_CORE_DOXYFILE_INPUT,DOXYGEN_INPUT_PREV,FORCE) \ |
|---|
| 457 |
$(comp-vars VBOX_CORE_DOXYFILE_OUTPUT,DOXYGEN_OUTPUT_PREV,FORCE) \ |
|---|
| 458 |
| $(call DIRDEP, $(PATH_TARGET)) |
|---|
| 459 |
$(RM) -f $@ $@.tmp $(PATH_TARGET)/Doxyfile.Core.dep |
|---|
| 460 |
$(CP) -f Doxyfile.Core $@.tmp |
|---|
| 461 |
$(APPEND) $@.tmp |
|---|
| 462 |
$(APPEND) $@.tmp "OUTPUT_DIRECTORY = $(VBOX_CORE_DOXYFILE_OUTPUT)" |
|---|
| 463 |
$(APPEND) $@.tmp "WARN_LOGFILE = $(VBOX_CORE_DOXYFILE_OUTPUT)/errors" |
|---|
| 464 |
$(APPEND) $@.tmp "INCLUDE_PATH = $(PATH_ROOT)/include $(PATH_ROOT)/src/VBox/VMM $(PATH_ROOT)/src/VBox/Main/include " |
|---|
| 465 |
$(APPEND) $@.tmp "INCLUDE_FILE_PATTERNS = *.cpp.h" |
|---|
| 466 |
$(APPEND) $@.tmp |
|---|
| 467 |
$(APPEND) $@.tmp "INPUT = $(VBOX_CORE_DOXYFILE_INPUT)" |
|---|
| 468 |
$(APPEND) $@.tmp |
|---|
| 469 |
$(APPEND) $@.tmp "PREDEFINED += $(DEFS) $(DEFS.$(KBUILD_TARGET)) $(DEFS.$(KBUILD_TARGET_ARCH)) $(ARCH_BITS_DEFS)" |
|---|
| 470 |
$(APPEND) $@.tmp "PREDEFINED += ARCH_BITS=HC_ARCH_BITS R3_ARCH_BITS=HC_ARCH_BITS R0_ARCH_BITS=HC_ARCH_BITS " |
|---|
| 471 |
$(APPEND) $@.tmp |
|---|
| 472 |
$(MV) -f $@.tmp $@ |
|---|
| 473 |
@$(APPEND) $(PATH_TARGET)/Doxyfile.Core.dep "DOXYGEN_OUTPUT_PREV = $(VBOX_CORE_DOXYFILE_OUTPUT)" |
|---|
| 474 |
@$(APPEND) $(PATH_TARGET)/Doxyfile.Core.dep "DOXYGEN_INPUT_PREV = $(VBOX_CORE_DOXYFILE_INPUT)" |
|---|
| 475 |
|
|---|
| 476 |
# Create the output directory. |
|---|
| 477 |
$(call DIRDEP, $(VBOX_CORE_DOXYFILE_OUTPUT)): |
|---|
| 478 |
$(MKDIR) -p $@ |
|---|
| 479 |
|
|---|
| 480 |
# Do the actual job. |
|---|
| 481 |
$(PATH_TARGET)/docs.Core: $(PATH_TARGET)/Doxyfile.Core $(VBOX_CORE_DOXYFILE_INPUT) | $(call DIRDEP, $(VBOX_CORE_DOXYFILE_OUTPUT)) |
|---|
| 482 |
$(RM) -f $(PATH_TARGET)/docs.Core |
|---|
| 483 |
$(RM) -Rf $(VBOX_CORE_DOXYFILE_OUTPUT)/html/ |
|---|
| 484 |
doxygen $(PATH_TARGET)/Doxyfile.Core |
|---|
| 485 |
$(APPEND) $(PATH_TARGET)/docs.Core |
|---|
| 486 |
|
|---|
| 487 |
|
|---|
| 488 |
# |
|---|
| 489 |
# Generate x86.mac and err.mac. |
|---|
| 490 |
# |
|---|
| 491 |
incs: |
|---|
| 492 |
$(SED) -f include/VBox/err.sed --output include/VBox/err.mac include/VBox/err.h |
|---|
| 493 |
$(APPEND) include/VBox/err.mac '%include "iprt/err.mac"' |
|---|
| 494 |
$(SED) -f include/VBox/err.sed --output include/iprt/err.mac include/iprt/err.h |
|---|
| 495 |
$(SED) \ |
|---|
| 496 |
-e '/__VBox_x86_h__/d' \ |
|---|
| 497 |
-e '/#define/!d' \ |
|---|
| 498 |
-e '/\\$$/d' \ |
|---|
| 499 |
-e 's/#define/%define/' \ |
|---|
| 500 |
--output include/VBox/x86.mac \ |
|---|
| 501 |
include/VBox/x86.h |
|---|
| 502 |
|
|---|
| 503 |
|
|---|
| 504 |
# |
|---|
| 505 |
# Generate Visual SlickEdit tagging #defines. |
|---|
| 506 |
# |
|---|
| 507 |
vslick.h: include/VBox/cdefs.h include/iprt/cdefs.h $(MAKEFILE) |
|---|
| 508 |
$(RM) -f -- $@ $@.tmp $@.tmp2 $@.tmp3 |
|---|
| 509 |
$(APPEND) $@.tmp '// autogenerated' |
|---|
| 510 |
#@$(APPEND) $@.tmp '#define __BEGIN_DECLS ' |
|---|
| 511 |
#@$(APPEND) $@.tmp '#define __END_DECLS ' |
|---|
| 512 |
|
|---|
| 513 |
@$(APPEND) $@.tmp '#define ATL_NO_VTABLE ' |
|---|
| 514 |
@$(APPEND) $@.tmp '#define BEGIN_COM_MAP(a) ' |
|---|
| 515 |
@$(APPEND) $@.tmp '#define END_COM_MAP(a) ' |
|---|
| 516 |
|
|---|
| 517 |
@$(APPEND) $@.tmp '#define CHECKREADY if(!isReady()) return E_UNEXPECTED; ' |
|---|
| 518 |
@$(APPEND) $@.tmp '#define COM_DECL_READONLY_ENUM_AND_COLLECTION(a) ' |
|---|
| 519 |
@$(APPEND) $@.tmp '#define COM_INTERFACE_ENTRY(a) ' |
|---|
| 520 |
@$(APPEND) $@.tmp '#define COMGETTER(n) Get##n ' |
|---|
| 521 |
@$(APPEND) $@.tmp '#define COMSETTER(n) Set##n ' |
|---|
| 522 |
@$(APPEND) $@.tmp '#define ComSafeArrayIn(t,a) t a[] ' |
|---|
| 523 |
@$(APPEND) $@.tmp '#define ComSafeArrayOut(t,a) t * a[] ' |
|---|
| 524 |
@$(APPEND) $@.tmp '#define DECLARE_NOT_AGGREGATABLE(a) ' |
|---|
| 525 |
@$(APPEND) $@.tmp '#define DECLARE_PROTECT_FINAL_CONSTRUCT(a) ' |
|---|
| 526 |
@$(APPEND) $@.tmp '#define NS_DECL_ISUPPORTS ' |
|---|
| 527 |
@$(APPEND) $@.tmp '#define NS_IMETHOD NS_IMETHOD_(nsresult) ' |
|---|
| 528 |
@$(APPEND) $@.tmp '#define NS_IMETHOD_(type) type ' |
|---|
| 529 |
@$(APPEND) $@.tmp '#define PARSERS_EXPORT ' |
|---|
| 530 |
@$(APPEND) $@.tmp '#define STDMETHOD(a) NS_IMETHOD a ' |
|---|
| 531 |
|
|---|
| 532 |
@$(APPEND) $@.tmp '#define CTX_SUFF(var) var##R3 ' |
|---|
| 533 |
@$(APPEND) $@.tmp '#define CTXAllSUFF(var) var##R3 ' |
|---|
| 534 |
@$(APPEND) $@.tmp '#define CTXSUFF(var) var##HC ' |
|---|
| 535 |
@$(APPEND) $@.tmp '#define OTHERCTXSUFF(var) var##GC ' |
|---|
| 536 |
@$(APPEND) $@.tmp '#define CTXALLMID(first, last) first##R3##last ' |
|---|
| 537 |
@$(APPEND) $@.tmp '#define CTXMID(first, last) first##HC##last ' |
|---|
| 538 |
@$(APPEND) $@.tmp '#define OTHERCTXMID(first, last) first##GC##last ' |
|---|
| 539 |
@$(APPEND) $@.tmp '#define CTXTYPE(GCType, R3Type, R0Type) R3Type ' |
|---|
| 540 |
@$(APPEND) $@.tmp '#define RCTYPE(RCType, HCType) RCType ' |
|---|
| 541 |
@$(APPEND) $@.tmp '#define GCTYPE(GCType, HCType) GCType ' |
|---|
| 542 |
@$(APPEND) $@.tmp '#define RCPTRTYPE(RCType) RCType ' |
|---|
| 543 |
@$(APPEND) $@.tmp '#define GCPTRTYPE(GCType) GCType ' |
|---|
| 544 |
@$(APPEND) $@.tmp '#define HCPTRTYPE(HCType) HCType ' |
|---|
| 545 |
@$(APPEND) $@.tmp '#define R3R0PTRTYPE(HCType) HCType ' |
|---|
| 546 |
@$(APPEND) $@.tmp '#define R0PTRTYPE(R3Type) R3Type ' |
|---|
| 547 |
@$(APPEND) $@.tmp '#define R3PTRTYPE(R0Type) R0Type ' |
|---|
| 548 |
@$(APPEND) $@.tmp '#define RT_SRC_POS __FILE__, __LINE__, __PRETTY_FUNCTION__ ' |
|---|
| 549 |
@$(APPEND) $@.tmp '#define RT_SRC_POS_DECL const char *pszFile, unsigned iLine, const char *pszFunction ' |
|---|
| 550 |
@$(APPEND) $@.tmp '#define RT_SRC_POS_ARGS pszFile, iLine, pszFunction ' |
|---|
| 551 |
@$(APPEND) $@.tmp '#define RTCALL' |
|---|
| 552 |
@$(APPEND) $@.tmp '#define DECLINLINE(type) inline type ' |
|---|
| 553 |
|
|---|
| 554 |
@$(APPEND) $@.tmp '#define PDMDEVINSINT_DECLARED 1' |
|---|
| 555 |
@$(APPEND) $@.tmp '#define VBOXCALL' |
|---|
| 556 |
|
|---|
| 557 |
$(SED) -e '/__cdecl/d' \ |
|---|
| 558 |
-e '/^ *# *define.*DECL/!d' \ |
|---|
| 559 |
-e '/DECLS/d' \ |
|---|
| 560 |
-e '/DECLARE_CLS_/d' \ |
|---|
| 561 |
-e '/_SRC_POS_DECL/d' \ |
|---|
| 562 |
-e '/declspec/d' \ |
|---|
| 563 |
-e '/__attribute__/d' \ |
|---|
| 564 |
-e 's/# */#/g' \ |
|---|
| 565 |
-e 's/ */ /g' \ |
|---|
| 566 |
-e '/(type) DECLEXPORT/d' \ |
|---|
| 567 |
-e '/ DECLEXPORT_CLASS/d' \ |
|---|
| 568 |
-e 's/ *VBOXCALL//' \ |
|---|
| 569 |
-e 's/ *RTCALL//' \ |
|---|
| 570 |
-e 's/(type) DECLIMPORT(type)/(type) type/' \ |
|---|
| 571 |
-e '/ DECLASM(type) type/d' \ |
|---|
| 572 |
-e '/define *DECL..CALLBACKMEMBER(type[^)]*) *RT/d' \ |
|---|
| 573 |
-e '/define *DECLINLINE(type)/d' \ |
|---|
| 574 |
-e '/define RT[DATGRC03]*DECL(type) *DECLHIDDEN(type)/d' \ |
|---|
| 575 |
\ |
|---|
| 576 |
--append $@.tmp \ |
|---|
| 577 |
$(filter-out include/VBox/err.h, $(wildcard include/VBox/*.h)) \ |
|---|
| 578 |
include/iprt/cdefs.h |
|---|
| 579 |
$(CAT_EXT) $@.tmp | sort | $(SED_EXT) -e 's/$$/\n/' --output $@.tmp2 |
|---|
| 580 |
$(MV) -f $@.tmp2 $@ |
|---|
| 581 |
$(RM) -f $@.tmp $@.tmp2 $@.tmp3 |
|---|
| 582 |
ifeq ($(KBUILD_HOST),win) |
|---|
| 583 |
@$(ECHO) 'TODO: Merge vslick.h with your "$(HOMEDRIVE)$(HOMEPATH)\Documents\My SlickEdit Config\x.y.z\usercpp.h" file.' |
|---|
| 584 |
else |
|---|
| 585 |
@$(ECHO) "TODO: Merge ./vslick.h with your ~/.slickedit/x.y.z/unxcpp.h file." |
|---|
| 586 |
endif |
|---|
| 587 |
|
|---|
| 588 |
|
|---|
| 589 |
# |
|---|
| 590 |
# Add fetching of the tools to the 'up[date][2]' targets. |
|---|
| 591 |
# |
|---|
| 592 |
up update up2 update2:: |
|---|
| 593 |
ifndef VBOX_OSE |
|---|
| 594 |
$(MAKE) -C tools fetch |
|---|
| 595 |
else |
|---|
| 596 |
$(MAKE) -C tools -f Makefile-ose.kmk fetch |
|---|
| 597 |
endif |
|---|
| 598 |
|
|---|
| 599 |
|
|---|
| 600 |
# |
|---|
| 601 |
# Build the additions, all of them. |
|---|
| 602 |
# |
|---|
| 603 |
# This is currently tailored (hardcoded) for the additions |
|---|
| 604 |
# build box. Can make it pretty and configurable later. |
|---|
| 605 |
# |
|---|
| 606 |
# The fetching must be done in serial fashion, while the building |
|---|
| 607 |
# should be more flexible wrt to -jN. |
|---|
| 608 |
# |
|---|
| 609 |
additions-fetch: |
|---|
| 610 |
+ $(KMK) -C tools fetch |
|---|
| 611 |
+ $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=linux BUILD_TARGET_ARCH=x86 BUILD_TARGET=linux |
|---|
| 612 |
# + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=os2 BUILD_TARGET_ARCH=x86 BUILD_TARGET=os2 |
|---|
| 613 |
+ $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=solaris BUILD_TARGET_ARCH=x86 BUILD_TARGET=solaris |
|---|
| 614 |
+ $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=win BUILD_TARGET_ARCH=x86 BUILD_TARGET=win |
|---|
| 615 |
|
|---|
| 616 |
|
|---|
| 617 |
additions-build: \ |
|---|
| 618 |
additions-build-win.x86 \ |
|---|
| 619 |
additions-build-solaris.x86 \ |
|---|
| 620 |
additions-build-os2.x86 \ |
|---|
| 621 |
additions-build-linux.x86 |
|---|
| 622 |
|
|---|
| 623 |
VBOX_ADDITIONS_BUILD.amd64 = VBOX_ONLY_ADDITIONS=1 VBOX_WITHOUT_ADDITIONS_ISO=1 \ |
|---|
| 624 |
KBUILD_TYPE=$(KBUILD_TYPE) BUILD_TYPE=$(KBUILD_TYPE) \ |
|---|
| 625 |
KBUILD_TARGET_ARCH=amd64 BUILD_TARGET_ARCH=amd64 \ |
|---|
| 626 |
VBOX_SVN_REV=$(VBOX_SVN_REV) \ |
|---|
| 627 |
all packing |
|---|
| 628 |
|
|---|
| 629 |
VBOX_ADDITIONS_BUILD.x86 = VBOX_ONLY_ADDITIONS=1 VBOX_WITHOUT_ADDITIONS_ISO=1 \ |
|---|
| 630 |
KBUILD_TYPE=$(KBUILD_TYPE) BUILD_TYPE=$(KBUILD_TYPE) \ |
|---|
| 631 |
KBUILD_TARGET_ARCH=x86 BUILD_TARGET_ARCH=x86 \ |
|---|
| 632 |
VBOX_SVN_REV=$(VBOX_SVN_REV) \ |
|---|
| 633 |
all packing |
|---|
| 634 |
|
|---|
| 635 |
additions-build-win.amd64: |
|---|
| 636 |
ifeq ($(KBUILD_TARGET),win) |
|---|
| 637 |
+ $(KMK) $(VBOX_ADDITIONS_BUILD.amd64) |
|---|
| 638 |
else |
|---|
| 639 |
false |
|---|
| 640 |
rsync -av --delete --delete-excluded --exclude .svn/ --exclude out/ --exclude tinderclient.log . 192.168.27.5:/cygdrive/c/vbox |
|---|
| 641 |
ssh vbox@192.168.27.15 " cd /cygdrive/c/vbox && PATH_OUT_BASE=Z:/add/out tools/env.sh kmk $(VBOX_ADDITIONS_BUILD.amd64)" |
|---|
| 642 |
# ssh vbox@192.168.27.15 "cmd.exe /c cd /d z:\\add && set PATH_DEVTOOLS=c:\\vbox\\tools && c:\\vbox\\tools\\env.cmd -KBUILD c:\\vbox\\kBuild && set KMK_DONT_USE_NT_QUERY_INFORMATION_FILE=1 && set USER=vbox && kmk $(VBOX_ADDITIONS_BUILD.amd64)" |
|---|
| 643 |
endif |
|---|
| 644 |
|
|---|
| 645 |
additions-build-win.x86: |
|---|
| 646 |
ifeq ($(KBUILD_TARGET),win) |
|---|
| 647 |
+ $(KMK) $(VBOX_ADDITIONS_BUILD.x86) |
|---|
| 648 |
else |
|---|
| 649 |
rsync -av --delete --delete-excluded --exclude .svn/ --exclude out/ --exclude tinderclient.log . 192.168.27.5:/cygdrive/c/vbox |
|---|
| 650 |
ssh vbox@192.168.27.5 " cd /cygdrive/c/vbox && PATH_OUT_BASE=Z:/add/out tools/env.sh kmk $(VBOX_ADDITIONS_BUILD.x86)" |
|---|
| 651 |
# ssh vbox@192.168.27.5 "cmd.exe /c cd /d z:\\add && set PATH_DEVTOOLS=c:\\vbox\\tools && c:\\vbox\\tools\\env.cmd -KBUILD c:\\vbox\\kBuild && set KMK_DONT_USE_NT_QUERY_INFORMATION_FILE=1 && set USER=vbox && kmk $(VBOX_ADDITIONS_BUILD.x86)" |
|---|
| 652 |
endif |
|---|
| 653 |
|
|---|
| 654 |
additions-build-solaris.amd64: |
|---|
| 655 |
ifeq ($(KBUILD_TARGET),solaris) |
|---|
| 656 |
+ $(KMK) $(VBOX_ADDITIONS_BUILD.amd64) |
|---|
| 657 |
else |
|---|
| 658 |
ssh vbox@192.168.27.14 " cd /mnt/vbox/add && ./tools/env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.amd64) " |
|---|
| 659 |
endif |
|---|
| 660 |
|
|---|
| 661 |
additions-build-solaris.x86: |
|---|
| 662 |
ifeq ($(KBUILD_TARGET),solaris) |
|---|
| 663 |
+ $(KMK) $(VBOX_ADDITIONS_BUILD.x86) |
|---|
| 664 |
else |
|---|
| 665 |
ssh vbox@192.168.27.4 " cd /mnt/vbox/add && ./tools/env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.x86) " |
|---|
| 666 |
endif |
|---|
| 667 |
|
|---|
| 668 |
additions-build-os2.x86: |
|---|
| 669 |
#ifeq ($(KBUILD_TARGET),os2) |
|---|
| 670 |
# + $(KMK) $(VBOX_ADDITIONS_BUILD.x86) |
|---|
| 671 |
#else |
|---|
| 672 |
# ssh vbox@192.168.27.3 " cd /mnt/vbox/add && ./tools/env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.x86) " |
|---|
| 673 |
#endif |
|---|
| 674 |
|
|---|
| 675 |
additions-build-linux.amd64: |
|---|
| 676 |
ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),linux.amd64) |
|---|
| 677 |
+ $(KMK) $(VBOX_ADDITIONS_BUILD.amd64) |
|---|
| 678 |
else |
|---|
| 679 |
ssh vbox@192.168.27.12 " cd /mnt/vbox/add && ./tools/env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.amd64) " |
|---|
| 680 |
endif |
|---|
| 681 |
|
|---|
| 682 |
additions-build-linux.x86: |
|---|
| 683 |
ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),linux.x86) |
|---|
| 684 |
+ $(KMK) $(VBOX_ADDITIONS_BUILD.x86) |
|---|
| 685 |
else |
|---|
| 686 |
ssh vbox@192.168.27.2 " cd /mnt/vbox/add && ./tools/env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.x86) " |
|---|
| 687 |
endif |
|---|
| 688 |
|
|---|
| 689 |
|
|---|
| 690 |
additions-packing: |
|---|
| 691 |
+ $(KMK) VBOX_ONLY_ADDITIONS=1 \ |
|---|
| 692 |
VBOX_WITH_ADDITIONS_ISO.freebsd.amd64= \ |
|---|
| 693 |
VBOX_WITH_ADDITIONS_ISO.freebsd.x86= \ |
|---|
| 694 |
VBOX_WITH_ADDITIONS_ISO.linux.amd64= \ |
|---|
| 695 |
VBOX_WITH_ADDITIONS_ISO.linux.x86=1 \ |
|---|
| 696 |
VBOX_WITH_ADDITIONS_ISO.solaris.amd64= \ |
|---|
| 697 |
VBOX_WITH_ADDITIONS_ISO.solaris.x86=1 \ |
|---|
| 698 |
VBOX_WITH_ADDITIONS_ISO.win.amd64= \ |
|---|
| 699 |
VBOX_WITH_ADDITIONS_ISO.win.x86=1 \ |
|---|
| 700 |
-C src/VBox/Additions \ |
|---|
| 701 |
$(VBOX_PATH_ADDITIONS)/VBoxGuestAdditions.iso |
|---|
| 702 |
|
|---|
| 703 |
sdk: |
|---|
| 704 |
+ $(KMK) VBOX_ONLY_SDK=1 VBOX_WITH_PYTHON=1 \ |
|---|
| 705 |
pass_bldprogs pass_others pass_installs pass_packing |
|---|
| 706 |
|
|---|
| 707 |
|
|---|
| 708 |
# |
|---|
| 709 |
# Generate VirtualBox-OSE-x.x.x.tar.bz2 tarballs for distribution |
|---|
| 710 |
# |
|---|
| 711 |
# - includes kBuild |
|---|
| 712 |
# - must be executed on an OSE checkout |
|---|
| 713 |
# |
|---|
| 714 |
|
|---|
| 715 |
# the path where to store the tarball |
|---|
| 716 |
TARBALLPATH ?= $(shell cd $(PATH_ROOT)/..; pwd) |
|---|
| 717 |
#TARBALLPATH ?= $(abspath $(PATH_ROOT)/..) - this should also do the trick without spawning a shell. |
|---|
| 718 |
# the root directory inside the tarball |
|---|
| 719 |
TARBALLROOT ?= VirtualBox-$(VBOX_VERSION_STRING) |
|---|
| 720 |
# the name of the tarball file |
|---|
| 721 |
TARBALLNAME ?= VirtualBox-$(VBOX_VERSION_STRING).tar.bz2 |
|---|
| 722 |
snapshot: |
|---|
| 723 |
@$(call MSG_L1,Creating tarball $(TARBALLPATH)/$(TARBALLNAME)) |
|---|
| 724 |
@if [ -d "$(PATH_ROOT)/src/VBox/Devices/USB" ]; then echo; echo "Found USB stuff, refused to build OSE tarball!"; echo; exit 1; fi |
|---|
| 725 |
$(QUIET)$(MKDIR) -p $(TARBALLPATH) |
|---|
| 726 |
$(QUIET)$(RM) -f $(wildcard $(TARBALLPATH)/VirtualBox*) |
|---|
| 727 |
$(QUIET)$(LN_SYMLINK) $(PATH_ROOT) $(TARBALLPATH)/$(TARBALLROOT) |
|---|
| 728 |
$(QUIET)tar -cjh --owner 0 --group 0 --totals \ |
|---|
| 729 |
--exclude=.svn \ |
|---|
| 730 |
--exclude=$(TARBALLROOT)/out \ |
|---|
| 731 |
--exclude=$(TARBALLROOT)/env.sh \ |
|---|
| 732 |
--exclude=$(TARBALLROOT)/configure.log \ |
|---|
| 733 |
--exclude=$(TARBALLROOT)/AutoConfig.kmk \ |
|---|
| 734 |
--exclude=$(TARBALLROOT)/LocalConfig.kmk \ |
|---|
| 735 |
-C $(TARBALLPATH) \ |
|---|
| 736 |
-f $(TARBALLPATH)/$(TARBALLNAME) \ |
|---|
| 737 |
$(TARBALLROOT) |
|---|
| 738 |
$(QUIET)$(RM) $(TARBALLPATH)/$(TARBALLROOT) |
|---|
| 739 |
|
|---|