summaryrefslogtreecommitdiff
path: root/Makefile.kmk
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.kmk')
-rw-r--r--Makefile.kmk219
1 files changed, 145 insertions, 74 deletions
diff --git a/Makefile.kmk b/Makefile.kmk
index bbd98560..d571d54e 100644
--- a/Makefile.kmk
+++ b/Makefile.kmk
@@ -4,7 +4,7 @@
#
#
-# Copyright (C) 2006-2012 Oracle Corporation
+# Copyright (C) 2006-2013 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
@@ -26,6 +26,17 @@ if defined(VBOX_WITH_DOCS) && (!defined(VBOX_ONLY_BUILD) || defined(VBOX_ONLY_DO
endif
include $(PATH_SUB_CURRENT)/src/Makefile.kmk
+#
+# Below we might need TOOL_ZIP_UNPACK (for the additions/docs/efifw packages
+# from the build server), and it's not really worth the effort of dragging in
+#q this tool only if absolutely needed.
+#
+## @todo Hack to get at TOOL_ZIP_UNPACK; see if this can be integrated somehow...
+include $(KBUILD_PATH)/tools/ZIP.kmk
+ifndef TOOL_ZIP_PACK
+ TOOL_ZIP_PACK = zip
+endif
+
## @todo split up this file!
@@ -42,7 +53,7 @@ OTHER_CLEAN += \
$(wildcard $(PATH_OUT)/version-stamp-*.*.*) \
$(VBOX_SVN_REV_KMK).ts \
$(VBOX_SVN_REV_KMK) \
- $(PATH_OUT)/GCCConfig.kmk
+ $(PATH_OUT)/DynamicConfig.kmk
if !defined(VBOX_ONLY_ADDITIONS) \
@@ -76,7 +87,7 @@ InstallExternalLibs_INST = $(INST_BIN)
# The SDL DLLs
if1of ($(KBUILD_TARGET), win os2)
- ifneq ($(VBOX_WITH_VBOXSDL)$(VBOX_WITH_VBOXBFE),)
+ ifdef VBOX_WITH_VBOXSDL
include $(KBUILD_PATH)/sdks/LIBSDL.kmk
InstallExternalLibs_SOURCES += \
$(DLL_SDK_LIBSDL_SDL)
@@ -179,27 +190,36 @@ ifdef VBOX_WITH_ADDITIONS_FROM_BUILD_SERVER
buildserver-additions_INST = $(INST_ADDITIONS_ISO)
buildserver-additions_MODE = 0644
buildserver-additions_SOURCES = $(PATH_TARGET)/VBoxGuestAdditions.iso
-buildserver-additions_CLEANS = $(PATH_TARGET)/VBoxGuestAdditions.iso $(PATH_TARGET)/VBoxGuestAdditions.iso.tmp
+buildserver-additions_CLEANS = \
+ $(buildserver-additions_0_OUTDIR)/unpacked.ts \
+ $(buildserver-additions_0_OUTDIR)/VBoxGuestAdditions.zip \
+ $(buildserver-additions_0_OUTDIR)/VBoxGuestAdditions.zip.tmp \
+ $(PATH_TARGET)/VBoxGuestAdditions.iso
+
+$$(buildserver-additions_0_OUTDIR)/unpacked.ts +| $(PATH_TARGET)/VBoxGuestAdditions.iso: \
+ $$(buildserver-additions_0_OUTDIR)/VBoxGuestAdditions.zip
+ $(call MSG_L1,Unpacking additions archive)
+ $(QUIET)$(TOOL_ZIP_UNPACK) $(TOOL_ZIP_UNPACKFLAGS) -o $< -d $(PATH_TARGET)
+ $(APPEND) -t $@ "done"
-$(PATH_TARGET)/VBoxGuestAdditions.iso: $(VBOX_SVN_REV_KMK) $(PATH_DEVTOOLS)/bin/additions.sh | $$(dir $$@)
- $(RM) -f $(PATH_TARGET)/VBoxGuestAdditions.iso $(PATH_TARGET)/VBoxGuestAdditions.iso.tmp
+$$(buildserver-additions_0_OUTDIR)/VBoxGuestAdditions.zip: $(VBOX_SVN_REV_KMK) $(PATH_DEVTOOLS)/bin/additions.sh | $$(dir $$@)
+ $(RM) -f $@ $@.tmp
ifneq ($(KBUILD_HOST),win)
- $(SHELL) $(PATH_DEVTOOLS)/bin/additions.sh --cmd fetch --filename $(PATH_TARGET)/VBoxGuestAdditions.iso.tmp
+ $(SHELL) $(PATH_DEVTOOLS)/bin/additions.sh --cmd fetch --filename $@.tmp
else
$(KMK) --affinity 1 -f $(MAKEFILE) buildserver-additions-affinity-hack
endif
- $(CP) -f $(PATH_TARGET)/VBoxGuestAdditions.iso.tmp $(PATH_TARGET)/VBoxGuestAdditions.iso
- $(RM) -f $(PATH_TARGET)/VBoxGuestAdditions.iso.tmp
+ $(CP) -f $@.tmp $@
+ $(RM) -f $@.tmp
ifeq ($(KBUILD_HOST),win)
buildserver-additions-affinity-hack:
- $(SHELL) $(PATH_DEVTOOLS)/bin/additions.sh --cmd fetch --filename $(PATH_TARGET)/VBoxGuestAdditions.iso.tmp
+ $(SHELL) $(PATH_DEVTOOLS)/bin/additions.sh --cmd fetch --filename $(buildserver-additions_0_OUTDIR)/VBoxGuestAdditions.zip.tmp
endif
-endif
+endif # VBOX_WITH_ADDITIONS_FROM_BUILD_SERVER
#
-#
# Install documentation files (at the moment the .chm) from the build server.
#
ifdef VBOX_WITH_DOCS_FROM_BUILD_SERVER
@@ -219,9 +239,6 @@ buildserver-docs_CLEANS = \
VirtualBox.chm UserManual.pdf \
$(foreach f,$(VBOX_MANUAL_ADD_LANGUAGES),VirtualBox_$(f).chm UserManual_$(f).pdf))
-## @todo Hack to get at TOOL_ZIP_UNPACK; see if this can be integrated somehow...
-include $(KBUILD_PATH)/tools/ZIP.kmk
-
$$(buildserver-docs_0_OUTDIR)/unpacked.ts +| $(PATH_TARGET)/VirtualBox.chm $(PATH_TARGET)/UserManual.pdf \
$(foreach f,$(VBOX_MANUAL_ADD_LANGUAGES),$(PATH_TARGET)/VirtualBox_$(f).chm $(PATH_TARGET)/UserManual_$(f).pdf): \
$$(buildserver-docs_0_OUTDIR)/VBoxDocumentation.zip
@@ -259,25 +276,25 @@ endif # VBOX_WITH_DOCS_FROM_BUILD_SERVER
buildserver-efifw_INST = $(INST_BIN)
buildserver-efifw_MODE = 0644
buildserver-efifw_SOURCES = \
- $(buildserver-efifw_0_OUTDIR)/FV/VBOX.fd=>VBoxEFI32.fd \
- $(buildserver-efifw_0_OUTDIR)/FV/VBOX64.fd=>VBoxEFI64.fd
+ $(buildserver-efifw_0_OUTDIR)/VBoxEFI32.fd \
+ $(buildserver-efifw_0_OUTDIR)/VBoxEFI64.fd
buildserver-efifw_CLEANS = \
$(buildserver-efifw_0_OUTDIR)/unpacked.ts \
+ $(buildserver-efifw_0_OUTDIR)/VBoxEFI32.fd \
+ $(buildserver-efifw_0_OUTDIR)/VBoxEFI64.fd \
$(buildserver-efifw_0_OUTDIR)/FV/VBOX.fd \
- $(buildserver-efifw_0_OUTDIR)/FV/VBOX64.fd \
+ $(buildserver-efifw_0_OUTDIR)/FV/VBOX64.fd \
$(buildserver-efifw_0_OUTDIR)/VBoxEfiFirmware.zip \
$(buildserver-efifw_0_OUTDIR)/VBoxEfiFirmware.zip.tmp
- ## @todo rainy day: cleanup the output directory (zip contains lots more)
-
- ## @todo Hack to get at TOOL_ZIP_UNPACK; see if this can be integrated somehow...
- include $(KBUILD_PATH)/tools/ZIP.kmk
$$(buildserver-efifw_0_OUTDIR)/unpacked.ts \
- +| $$(buildserver-efifw_0_OUTDIR)/FV/VBOX.fd \
- $$(buildserver-efifw_0_OUTDIR)/FV/VBOX64.fd: \
+ +| $$(buildserver-efifw_0_OUTDIR)/VBoxEFI32.fd \
+ $$(buildserver-efifw_0_OUTDIR)/VBoxEFI64.fd: \
$$(buildserver-efifw_0_OUTDIR)/VBoxEfiFirmware.zip
$(call MSG_L1,Unpacking EFI firmware)
$(QUIET)$(TOOL_ZIP_UNPACK) $(TOOL_ZIP_UNPACKFLAGS) -o $< -d $(buildserver-efifw_0_OUTDIR)
+ $(TEST_EXT) -f "$(buildserver-efifw_0_OUTDIR)/FV/VBOX.fd" -- $(MV_EXT) -f -- "$(buildserver-efifw_0_OUTDIR)/FV/VBOX.fd" "$(buildserver-efifw_0_OUTDIR)/VBoxEFI32.fd"
+ $(TEST_EXT) -f "$(buildserver-efifw_0_OUTDIR)/FV/VBOX64.fd" -- $(MV_EXT) -f -- "$(buildserver-efifw_0_OUTDIR)/FV/VBOX64.fd" "$(buildserver-efifw_0_OUTDIR)/VBoxEFI64.fd"
$(APPEND) -t $@ "done"
$$(buildserver-efifw_0_OUTDIR)/VBoxEfiFirmware.zip: \
@@ -310,11 +327,36 @@ endif # VBOX_WITH_DOCS_FROM_BUILD_SERVER
endif # VBOX_WITH_EFI
+ifdef VBOX_WITH_EXTPACKS_FROM_BUILD_SERVER
+#
+# Get the extension pack from from the build server to facility the automatic
+# testing (everything in one tarball (VBoxAll-*)).
+#
+# Note! Using the plural here as we might be downloading more packages eventually.
+#
+INSTALLS += buildserver-extpacks
+buildserver-extpacks_INST = $(INST_DIST)
+buildserver-extpacks_MODE = 0644
+buildserver-extpacks_SOURCES = \
+ $(buildserver-extpacks_0_OUTDIR)/Oracle_VM_VirtualBox_Extension_Pack.vbox-extpack
+buildserver-extpacks_CLEANS = \
+ $(buildserver-extpacks_0_OUTDIR)/Oracle_VM_VirtualBox_Extension_Pack.vbox-extpack \
+ $(buildserver-extpacks_0_OUTDIR)/Oracle_VM_VirtualBox_Extension_Pack.vbox-extpack.tmp
+
+$$(buildserver-extpacks_0_OUTDIR)/Oracle_VM_VirtualBox_Extension_Pack.vbox-extpack: \
+ $(VBOX_SVN_REV_KMK) $(PATH_DEVTOOLS)/bin/extpacks.sh | $$(dir $$@)
+ $(RM) -f -- "$@.tmp" "$@"
+ $(SHELL) $(PATH_DEVTOOLS)/bin/extpacks.sh --cmd fetch --filename "$@.tmp" --vbox-version "$(VBOX_VERSION_STRING)"
+ $(MV) -f -- "$@.tmp" "$@"
+
+endif
+
+
#
# Install staged binaries on platforms where we can't cross
# compile things.
#
-ifn1of ($(KBUILD_TARGET), l4 linux win)
+ifn1of ($(KBUILD_TARGET), linux win)
VBOX_PATH_STAGED ?= .
# Additions.
@@ -446,7 +488,6 @@ VBOX_CORE_DOXYFILE_INPUT_DIRS = \
src/VBox/HostDrivers/Support \
src/VBox/HostDrivers/Support/darwin \
src/VBox/HostDrivers/Support/freebsd \
- src/VBox/HostDrivers/Support/l4 \
src/VBox/HostDrivers/Support/linux \
src/VBox/HostDrivers/Support/os2 \
src/VBox/HostDrivers/Support/solaris \
@@ -612,15 +653,15 @@ VBOX_CORE_DOXYFILE_INPUT_FIRST =\
$(PATH_ROOT)/include/VBox/vmm/tm.h \
$(PATH_ROOT)/include/VBox/vmm/csam.h \
$(PATH_ROOT)/include/VBox/vmm/ssm.h \
- $(PATH_ROOT)/include/VBox/vmm/hwaccm.h \
- $(PATH_ROOT)/include/VBox/vmm/hwacc_svm.h \
- $(PATH_ROOT)/include/VBox/vmm/hwacc_vmx.h \
+ $(PATH_ROOT)/include/VBox/vmm/hm.h \
+ $(PATH_ROOT)/include/VBox/vmm/hm_svm.h \
+ $(PATH_ROOT)/include/VBox/vmm/hm_vmx.h \
\
$(PATH_ROOT)/src/VBox/VMM/include/CFGMInternal.h \
$(PATH_ROOT)/src/VBox/VMM/include/CPUMInternal.h \
$(PATH_ROOT)/src/VBox/VMM/include/DBGFInternal.h \
$(PATH_ROOT)/src/VBox/VMM/include/EMInternal.h \
- $(PATH_ROOT)/src/VBox/VMM/include/HWACCMInternal.h \
+ $(PATH_ROOT)/src/VBox/VMM/include/HMInternal.h \
$(PATH_ROOT)/src/VBox/VMM/include/IOMInternal.h \
$(PATH_ROOT)/src/VBox/VMM/include/MMInternal.h \
$(PATH_ROOT)/src/VBox/VMM/include/PDMInternal.h \
@@ -729,7 +770,6 @@ VBOX_RSYNC_IN_FN = rsync -a -v --delete --delete-excluded --prune-empty-dirs \
--exclude=doc/Devices/ \
--exclude=doc/tg/ \
--exclude=doc/vp/ \
- --exclude=doc/L4VM/ \
--exclude=tinderclient.log \
--exclude=tools/FetchDir/ \
--exclude=webtools/ \
@@ -809,7 +849,7 @@ additions-build-rsync-into-vms: \
additions-build-solaris.rsync-into-vm \
additions-build-os2.rsync-into-vm
$(call MSG_L1,Rsynced the sources + tools into the VMs.)
-.NOTPARALLEL: additions-build-rsync-into-vms
+#.NOTPARALLEL: additions-build-rsync-into-vms
VBOX_ADDITIONS_BUILD.amd64 = VBOX_ONLY_ADDITIONS=1 VBOX_WITHOUT_ADDITIONS_ISO=1 \
@@ -829,7 +869,7 @@ VBOX_ADDITIONS_BUILD_SUBDIRNAME := $(lastword $(subst /, ,$(PATH_ROOT)))
# When building in parallel on a Windows host, make sure we finish the host
# bit before kicking off any UNIX guest or we'll run into file sharing issues.
ifeq ($(KBUILD_TARGET),win)
-VBOX_ADDITIONS_BUILD_WIN_HOST_FIRST = additions-build-win.x86 additions-build-win.amd64
+VBOX_ADDITIONS_BUILD_WIN_HOST_FIRST = #additions-build-win.x86 additions-build-win.amd64
else
VBOX_ADDITIONS_BUILD_WIN_HOST_FIRST =
endif
@@ -886,7 +926,7 @@ additions-build-solaris.rsync-out-of-vm: additions-build-solaris.build-it
$(VBOX_KMK_TIME) rsync -a --delete $(VBOX_BLD_VM_SOLARIS_IP):/mnt/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME)/out/solaris.x86 out/
$(VBOX_KMK_TIME) rsync -a --delete $(VBOX_BLD_VM_SOLARIS_IP):/mnt/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME)/out/solaris.amd64 out/
-.NOTPARALLEL: additions-build-solaris.rsync-into-vm # additions-build-solaris.rsync-out-of-vm
+#.NOTPARALLEL: additions-build-solaris.rsync-into-vm
.PHONY: additions-build-solaris.rsync-into-vm additions-build-solaris.rsync-out-of-vm additions-build-solaris.build-it
additions-build-solaris.amd64: additions-build-solaris.rsync-out-of-vm
@@ -917,7 +957,7 @@ additions-build-os2.build-it: additions-build-os2.rsync-into-vm
additions-build-os2.rsync-out-of-vm: additions-build-os2.build-it
$(VBOX_KMK_TIME) rsync -v -a --delete rsync://vbox@$(VBOX_BLD_VM_OS2_IP)/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME)/out/os2.x86 ./out
-.NOTPARALLEL: additions-build-os2.rsync-into-vm #additions-build-os2.rsync-out-of-vm
+#.NOTPARALLEL: additions-build-os2.rsync-into-vm
.PHONY: additions-build-os2.rsync-into-vm additions-build-os2.rsync-out-of-vm additions-build-os2.build-it
additions-build-os2.x86: additions-build-os2.rsync-out-of-vm
@@ -933,8 +973,13 @@ ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),linux.amd64)
+ $(VBOX_KMK_TIME) $(KMK) $(VBOX_ADDITIONS_BUILD.amd64) all $(VBOX_ADD_HOST_BUILD_TWEAK)
+ $(VBOX_KMK_TIME) $(KMK) $(VBOX_ADDITIONS_BUILD.amd64) packing VBOX_WITHOUT_LINUX_GUEST_PACKAGE=1
else
+ ifdef VBOX_WITH_LIGHTDM_GREETER_PACKING
+ $(call VBOX_BLD_VM_MSG_BEGIN,Linux/amd64 additions/greeter)
+ $(VBOX_KMK_TIME) ssh 'vbox@$(VBOX_BLD_VM_LNX_AMD64_IP) "echo $@ && 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/linux2.amd64/$(KBUILD_TYPE) VBOX_WITH_LIGHTDM_GREETER=1 vbox-greeter\""'
+ $(call VBOX_BLD_VM_MSG_END__,Linux/amd64 additions/greeter)
+ endif
$(call VBOX_BLD_VM_MSG_BEGIN,Linux/amd64 additions)
- $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_LNX_AMD64_IP) " echo $@ && 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_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_LNX_AMD64_IP) " echo $@ && 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)"
$(call VBOX_BLD_VM_MSG_END__,Linux/amd64 additions)
endif
@@ -943,8 +988,13 @@ ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),linux.x86)
+ $(VBOX_KMK_TIME) $(KMK) $(VBOX_ADDITIONS_BUILD.x86) all $(VBOX_ADD_HOST_BUILD_TWEAK)
+ $(VBOX_KMK_TIME) $(KMK) $(VBOX_ADDITIONS_BUILD.x86) packing VBOX_WITHOUT_LINUX_GUEST_PACKAGE=1
else
+ ifdef VBOX_WITH_LIGHTDM_GREETER_PACKING
+ $(call VBOX_BLD_VM_MSG_BEGIN,Linux/x86 additions/greeter)
+ $(VBOX_KMK_TIME) ssh 'vbox@$(VBOX_BLD_VM_LNX_AMD64_IP) "echo $@ && dchroot -c ubuntu-11.10-i386 \"cd /mnt/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME) && BUILD_PLATFORM_ARCH=x86 tools/env.sh --no-wine kmk $(VBOX_ADDITIONS_BUILD.x86) PATH_OUT=/mnt/tinderbox/$(VBOX_ADDITIONS_BUILD_SUBDIRNAME)/out/linux2.x86/$(KBUILD_TYPE) VBOX_WITH_LIGHTDM_GREETER=1 vbox-greeter\""'
+ $(call VBOX_BLD_VM_MSG_END__,Linux/x86 additions/greeter)
+ endif
$(call VBOX_BLD_VM_MSG_BEGIN,Linux/x86 additions)
- $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_LNX_X86_IP) " echo $@ && 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_KMK_TIME) ssh 'vbox@$(VBOX_BLD_VM_LNX_NEW_X86_IP) "echo $@ && 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)\""'
$(call VBOX_BLD_VM_MSG_END__,Linux/x86 additions)
endif
@@ -956,7 +1006,7 @@ ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),linux.x86)
+ $(VBOX_KMK_TIME) $(KMK) $(VBOX_ADDITIONS_BUILD.x86) packing VBOX_WITH_COMBINED_LINUX_GUEST_PACKAGE=1
else
$(call VBOX_BLD_VM_MSG_BEGIN,Linux/x86 additions)
- $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_LNX_X86_IP) " echo $@ && 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"
+ $(VBOX_KMK_TIME) ssh 'vbox@$(VBOX_BLD_VM_LNX_NEW_X86_IP) "echo $@ && 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\""'
$(call VBOX_BLD_VM_MSG_END__,Linux/x86 additions)
endif
@@ -975,7 +1025,7 @@ additions-packing:
VBOX_WITH_ADDITIONS_ISO.win.amd64=1 \
VBOX_WITH_ADDITIONS_ISO.win.x86=1 \
-C src/VBox/Additions \
- $(VBOX_PATH_ADDITIONS)/VBoxGuestAdditions.iso
+ $(VBOX_PATH_ADDITIONS)/VBoxGuestAdditions.zip
.PHONY: \
additions-build-win.x86 \
@@ -1007,7 +1057,6 @@ extpacks-fetch:
+ $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=linux BUILD_TARGET_ARCH=x86 BUILD_TARGET=linux VBOX_ONLY_EXTPACKS=1
# + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=os2 BUILD_TARGET_ARCH=x86 BUILD_TARGET=os2 VBOX_ONLY_EXTPACKS=1
+ $(KMK) -C tools fetch KBUILD_TARGET_ARCH=amd64 KBUILD_TARGET=solaris BUILD_TARGET_ARCH=amd64 BUILD_TARGET=solaris VBOX_ONLY_EXTPACKS=1
- + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=solaris BUILD_TARGET_ARCH=x86 BUILD_TARGET=solaris VBOX_ONLY_EXTPACKS=1
+ $(KMK) -C tools fetch KBUILD_TARGET_ARCH=amd64 KBUILD_TARGET=win BUILD_TARGET_ARCH=amd64 BUILD_TARGET=win VBOX_ONLY_EXTPACKS=1
+ $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=win BUILD_TARGET_ARCH=x86 BUILD_TARGET=win VBOX_ONLY_EXTPACKS=1
@@ -1016,7 +1065,6 @@ extpacks-build: \
extpacks-build-win.amd64 \
extpacks-build-win.x86 \
extpacks-build-solaris.amd64 \
- extpacks-build-solaris.x86 \
extpacks-build-os2.x86 \
extpacks-build-linux.amd64 \
extpacks-build-linux.x86 \
@@ -1069,9 +1117,6 @@ ifeq ($(KBUILD_TARGET),solaris)
extpacks-build-solaris.amd64:
+ $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.amd64) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
-extpacks-build-solaris.x86: extpacks-build-solaris.amd64
- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.x86) VBOX_WITH_COMBINED_SOLARIS_GUEST_PACKAGE=1 all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
-
else
# Serialize 32-bit and 64-bit ASSUMING the same VM builds both.
extpacks-build-solaris.rsync-into-vm: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
@@ -1081,19 +1126,14 @@ extpacks-build-solaris.build-it: extpacks-build-solaris.rsync-into-vm
$(call VBOX_BLD_VM_MSG_BEGIN,Solaris/amd64 extension packs)
$(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_SOLARIS_IP) " echo $@/amd64 && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
$(call VBOX_BLD_VM_MSG_END__,Solaris/amd64 extension packs)
- $(call VBOX_BLD_VM_MSG_BEGIN,Solaris/x86 extension packs)
- $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_SOLARIS_IP) " echo $@/x86 && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all"
- $(call VBOX_BLD_VM_MSG_END__,Solaris/x86 extension packs)
extpacks-build-solaris.rsync-out-of-vm: extpacks-build-solaris.build-it
- $(VBOX_KMK_TIME) rsync -a --delete $(VBOX_BLD_VM_SOLARIS_IP):/mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/solaris.x86 out/
$(VBOX_KMK_TIME) rsync -a --delete $(VBOX_BLD_VM_SOLARIS_IP):/mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/solaris.amd64 out/
-.NOTPARALLEL: extpacks-build-solaris.rsync-out-of-vm extpacks-build-solaris.rsync-into-vm
+#.NOTPARALLEL: extpacks-build-solaris.rsync-into-vm
.PHONY: extpacks-build-solaris.rsync-out-of-vm extpacks-build-solaris.rsync-into-vm extpacks-build-solaris.build-it
extpacks-build-solaris.amd64: extpacks-build-solaris.rsync-out-of-vm
-extpacks-build-solaris.x86: extpacks-build-solaris.rsync-out-of-vm
endif
extpacks-build-os2.x86:
@@ -1164,7 +1204,7 @@ endif
extpacks-packing:
+ $(KMK) VBOX_ONLY_EXTPACKS=1 \
- VBOX_WITH_EXTPACK_OS_ARCHS="darwin.amd64 darwin.x86 linux.amd64 linux.x86 solaris.amd64 solaris.x86 win.amd64 win.x86" \
+ VBOX_WITH_EXTPACK_OS_ARCHS="darwin.amd64 darwin.x86 linux.amd64 linux.x86 solaris.amd64 win.amd64 win.x86" \
packing
# +++ freebsd.amd64 freebsd.x86 os2.x86 ^^^
@@ -1172,7 +1212,6 @@ extpacks-packing:
extpacks-build-win.x86 \
extpacks-build-win.amd64 \
extpacks-build-solaris.amd64 \
- extpacks-build-solaris.x86 \
extpacks-build-os2.x86 \
extpacks-build-linux.amd64 \
extpacks-build-linux.x86 \
@@ -1197,7 +1236,7 @@ testsuite-fetch:
# + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=freebsd BUILD_TARGET_ARCH=x86 BUILD_TARGET=freebsd VBOX_ONLY_TESTSUITE=1
+ $(KMK) -C tools fetch KBUILD_TARGET_ARCH=amd64 KBUILD_TARGET=linux BUILD_TARGET_ARCH=amd64 BUILD_TARGET=linux VBOX_ONLY_TESTSUITE=1
+ $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=linux BUILD_TARGET_ARCH=x86 BUILD_TARGET=linux VBOX_ONLY_TESTSUITE=1
-# + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=os2 BUILD_TARGET_ARCH=x86 BUILD_TARGET=os2 VBOX_ONLY_TESTSUITE=1
+ + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=os2 BUILD_TARGET_ARCH=x86 BUILD_TARGET=os2 VBOX_ONLY_TESTSUITE=1
+ $(KMK) -C tools fetch KBUILD_TARGET_ARCH=amd64 KBUILD_TARGET=solaris BUILD_TARGET_ARCH=amd64 BUILD_TARGET=solaris VBOX_ONLY_TESTSUITE=1
+ $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=solaris BUILD_TARGET_ARCH=x86 BUILD_TARGET=solaris VBOX_ONLY_TESTSUITE=1
+ $(KMK) -C tools fetch KBUILD_TARGET_ARCH=amd64 KBUILD_TARGET=win BUILD_TARGET_ARCH=amd64 BUILD_TARGET=win VBOX_ONLY_TESTSUITE=1
@@ -1205,6 +1244,7 @@ testsuite-fetch:
testsuite-build: \
+ testsuite-build-rsync-into-vms \
testsuite-build-solaris.amd64 \
testsuite-build-solaris.x86 \
testsuite-build-win.x86 \
@@ -1217,6 +1257,13 @@ testsuite-build: \
testsuite-build-darwin.amd64 \
testsuite-build-darwin.x86
+testsuite-build-rsync-into-vms: \
+ testsuite-build-solaris.rsync-into-vm \
+ testsuite-build-os2.rsync-into-vm
+ $(call MSG_L1,Rsynced the sources + tools into the VMs.)
+.NOTPARALLEL: testsuite-build-rsync-into-vms
+
+
VBOX_TESTSUITE_BUILD.amd64 = VBOX_ONLY_TESTSUITE=1 \
KBUILD_TYPE=$(KBUILD_TYPE) BUILD_TYPE=$(KBUILD_TYPE) \
KBUILD_TARGET_ARCH=amd64 BUILD_TARGET_ARCH=amd64 \
@@ -1281,19 +1328,39 @@ testsuite-build-solaris.rsync-out-of-vm: testsuite-build-solaris.build-it
$(VBOX_KMK_TIME) rsync -a --delete $(VBOX_BLD_VM_SOLARIS_IP):/mnt/tinderbox/$(VBOX_TESTSUITE_BUILD_SUBDIRNAME)/out/solaris.x86 out/
$(VBOX_KMK_TIME) rsync -a --delete $(VBOX_BLD_VM_SOLARIS_IP):/mnt/tinderbox/$(VBOX_TESTSUITE_BUILD_SUBDIRNAME)/out/solaris.amd64 out/
-.NOTPARALLEL: testsuite-build-solaris.rsync-out-of-vm testsuite-build-solaris.rsync-into-vm
+.NOTPARALLEL: testsuite-build-solaris.rsync-into-vm
.PHONY: testsuite-build-solaris.rsync-out-of-vm testsuite-build-solaris.rsync-into-vm testsuite-build-solaris.build-it
testsuite-build-solaris.amd64: testsuite-build-solaris.rsync-out-of-vm
testsuite-build-solaris.x86: testsuite-build-solaris.rsync-out-of-vm
endif
+ifeq ($(KBUILD_TARGET),os2)
testsuite-build-os2.x86:
-#ifeq ($(KBUILD_TARGET),os2)
-# + $(VBOX_KMK_TIME) $(KMK) $(VBOX_TESTSUITE_BUILD.x86) all $(VBOX_TESTSUITE_HOST_BUILD_TWEAK)
-#else
-# $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_OS2_IP) " cd /mnt/tinderbox/$(VBOX_TESTSUITE_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_TESTSUITE_BUILD.x86) "
-#endif
+ + $(VBOX_KMK_TIME) $(KMK) $(VBOX_TESTSUITE_BUILD.x86) all $(VBOX_TESTSUITE_HOST_BUILD_TWEAK)
+testsuite-build-os2.rsync-into-vm:
+else # !OS/2
+testsuite-build-os2.rsync-into-vm:
+ $(VBOX_KMK_TIME) $(call VBOX_RSYNC_IN_FN,os2,*) \
+ '--exclude=src/VBox/Additions/x11/**' \
+ '--exclude=src/VBox/Additions/WINNT/**' \
+ '--exclude=src/VBox/Frontends/**' \
+ '--exclude=src/VBox/VMM/**' \
+ . rsync://vbox@$(VBOX_BLD_VM_OS2_IP)/tinderbox/$(VBOX_TESTSUITE_BUILD_SUBDIRNAME)
+
+testsuite-build-os2.build-it: testsuite-build-os2.rsync-into-vm
+ $(call VBOX_BLD_VM_MSG_BEGIN,OS/2 TestSuite)
+ $(VBOX_KMK_TIME) rsh -l vbox $(VBOX_BLD_VM_OS2_IP) "cd e:\\tinderbox\\$(VBOX_TESTSUITE_BUILD_SUBDIRNAME) && e: && kbuild\\bin\\os2.x86\\kmk_ash tools\\env.sh --no-wine kmk $(VBOX_TESTSUITE_BUILD.x86) all packing"
+ $(call VBOX_BLD_VM_MSG_END__,OS/2 TestSuite)
+
+testsuite-build-os2.rsync-out-of-vm: testsuite-build-os2.build-it
+ $(VBOX_KMK_TIME) rsync -v -a --delete rsync://vbox@$(VBOX_BLD_VM_OS2_IP)/tinderbox/$(VBOX_TESTSUITE_BUILD_SUBDIRNAME)/out/os2.x86 ./out
+
+.NOTPARALLEL: testsuite-build-os2.rsync-into-vm
+.PHONY: testsuite-build-os2.rsync-into-vm testsuite-build-os2.rsync-out-of-vm testsuite-build-os2.build-it
+
+testsuite-build-os2.x86: testsuite-build-os2.rsync-out-of-vm
+endif # !OS/2
testsuite-build-linux.amd64: $(VBOX_TESTSUITE_BUILD_WIN_HOST_FIRST)
ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),linux.amd64)
@@ -1309,7 +1376,7 @@ ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),linux.x86)
+ $(VBOX_KMK_TIME) $(KMK) $(VBOX_TESTSUITE_BUILD.x86) all $(VBOX_TESTSUITE_HOST_BUILD_TWEAK)
else
$(call VBOX_BLD_VM_MSG_BEGIN,Linux/x86 testsuite)
- $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_LNX_X86_IP) " echo $@ && cd /mnt/tinderbox/$(VBOX_TESTSUITE_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_TESTSUITE_BUILD.x86) all"
+ $(VBOX_KMK_TIME) ssh 'vbox@$(VBOX_BLD_VM_LNX_NEW_X86_IP) "echo $@ && dchroot -c rhel3-i386 \"cd /mnt/tinderbox/$(VBOX_TESTSUITE_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_TESTSUITE_BUILD.x86) all\""'
$(call VBOX_BLD_VM_MSG_END__,Linux/x86 testsuite)
endif
@@ -1317,40 +1384,40 @@ testsuite-build-freebsd.amd64: $(VBOX_TESTSUITE_BUILD_WIN_HOST_FIRST)
#ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),freebsd.amd64)
# + $(VBOX_KMK_TIME) $(KMK) $(VBOX_TESTSUITE_BUILD.amd64) all $(VBOX_TESTSUITE_HOST_BUILD_TWEAK)
#else
-# $(call VBOX_BLD_VM_MSG_BEGIN,freebsd/amd64 testsuite)
+# $(call VBOX_BLD_VM_MSG_BEGIN,Freebsd/amd64 testsuite)
# $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_FBSD_AMD64_IP) " echo $@ && cd /mnt/tinderbox/$(VBOX_TESTSUITE_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_TESTSUITE_BUILD.amd64) all"
-# $(call VBOX_BLD_VM_MSG_END__,freebsd/amd64 testsuite)
+# $(call VBOX_BLD_VM_MSG_END__,Freebsd/amd64 testsuite)
#endif
testsuite-build-freebsd.x86: $(VBOX_TESTSUITE_BUILD_WIN_HOST_FIRST)
#ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),freebsd.x86)
# + $(VBOX_KMK_TIME) $(KMK) $(VBOX_TESTSUITE_BUILD.x86) all $(VBOX_TESTSUITE_HOST_BUILD_TWEAK)
#else
-# $(call VBOX_BLD_VM_MSG_BEGIN,freebsd/x86 testsuite)
+# $(call VBOX_BLD_VM_MSG_BEGIN,Freebsd/x86 testsuite)
# $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_FBSD_X86_IP) " echo $@ && cd /mnt/tinderbox/$(VBOX_TESTSUITE_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_TESTSUITE_BUILD.x86) all"
-# $(call VBOX_BLD_VM_MSG_END__,freebsd/x86 testsuite)
+# $(call VBOX_BLD_VM_MSG_END__,Freebsd/x86 testsuite)
#endif
testsuite-build-darwin.amd64: $(VBOX_TESTSUITE_BUILD_WIN_HOST_FIRST)
ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),darwin.amd64)
+ $(VBOX_KMK_TIME) $(KMK) $(VBOX_TESTSUITE_BUILD.amd64) all $(VBOX_TESTSUITE_HOST_BUILD_TWEAK)
else
- $(call VBOX_BLD_VM_MSG_BEGIN,darwin/amd64 testsuite)
+ $(call VBOX_BLD_VM_MSG_BEGIN,Darwin/amd64 testsuite)
$(VBOX_KMK_TIME) $(call VBOX_RSYNC_IN_FN,darwin,amd64) . $(VBOX_BLD_VM_DARWIN_AMD64_IP):/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)
$(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_DARWIN_AMD64_IP) " echo $@ && cd /Users/vbox/tinderbox/$(VBOX_TESTSUITE_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_TESTSUITE_BUILD.amd64) all"
$(VBOX_KMK_TIME) rsync -am -v --delete $(VBOX_BLD_VM_DARWIN_AMD64_IP):/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/darwin.amd64 out/
- $(call VBOX_BLD_VM_MSG_END__,darwin/amd64 testsuite)
+ $(call VBOX_BLD_VM_MSG_END__,Darwin/amd64 testsuite)
endif
testsuite-build-darwin.x86: $(VBOX_TESTSUITE_BUILD_WIN_HOST_FIRST)
ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),darwin.x86)
+ $(VBOX_KMK_TIME) $(KMK) $(VBOX_TESTSUITE_BUILD.x86) all $(VBOX_TESTSUITE_HOST_BUILD_TWEAK)
else
- $(call VBOX_BLD_VM_MSG_BEGIN,darwin/x86 testsuite)
+ $(call VBOX_BLD_VM_MSG_BEGIN,Darwin/x86 testsuite)
$(VBOX_KMK_TIME) $(call VBOX_RSYNC_IN_FN,darwin,x86) . $(VBOX_BLD_VM_DARWIN_X86_IP):/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)
$(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_DARWIN_X86_IP) " echo $@ && cd /Users/vbox/tinderbox/$(VBOX_TESTSUITE_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_TESTSUITE_BUILD.x86) all"
$(VBOX_KMK_TIME) rsync -am -v --delete $(VBOX_BLD_VM_DARWIN_X86_IP):/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/darwin.x86 out/
- $(call VBOX_BLD_VM_MSG_END__,darwin/x86 testsuite)
+ $(call VBOX_BLD_VM_MSG_END__,Darwin/x86 testsuite)
endif
@@ -1362,13 +1429,14 @@ testsuite-packing:
VBOX_WITH_TESTSUITE_PACKING.freebsd.x86= \
VBOX_WITH_TESTSUITE_PACKING.linux.amd64=1 \
VBOX_WITH_TESTSUITE_PACKING.linux.x86=1 \
- VBOX_WITH_TESTSUITE_PACKING.os2.x86= \
+ VBOX_WITH_TESTSUITE_PACKING.os2.x86=1 \
VBOX_WITH_TESTSUITE_PACKING.solaris.amd64=1 \
VBOX_WITH_TESTSUITE_PACKING.solaris.x86=1 \
VBOX_WITH_TESTSUITE_PACKING.win.amd64=1 \
VBOX_WITH_TESTSUITE_PACKING.win.x86=1 \
-C src/VBox/Testsuite \
- $(PATH_OUT)/VBoxTestSuite.zip
+ $(PATH_OUT)/VBoxTestSuite.zip \
+ $(PATH_OUT)/VBoxTestBoxScript.zip
.PHONY: \
testsuite-build-win.x86 \
@@ -1388,14 +1456,18 @@ testsuite-packing:
#
# Build the EFI firmware, all of it.
#
-# Mainly hooks right now, maybe we need them later.
-#
efi-fetch:
+ + $(KMK) -C tools fetch VBOX_ONLY_EXTPACKS=1
efi-build: $(VBOX_VERSION_HEADER)
- $(PATH_ROOT)/webtools/tinderbox/client/efi-build.sh
+ + $(KMK) -C src/VBox/Devices/EFI/Firmware
efi-packing:
+ $(REDIRECT) -C "$(PATH_STAGE_BIN)" -- $(TOOL_ZIP_PACK) $(TOOL_ZIP_PACKFLAGS) -9X \
+ ../VBoxEfiFirmware.zip \
+ VBoxEFI32.fd \
+ VBoxEFI64.fd
+## @todo zip up debug info as well!
#
# Generate VirtualBox-x.x.x.tar.bz2 (OSE) tarballs for distribution
@@ -1488,7 +1560,6 @@ snapshot-puel:
-i!$(ZIPROOT)/tools/linux.amd64/bin/* \
-x!$(ZIPROOT)/doc/Devices \
-x!$(ZIPROOT)/doc/\*pdf \
- -x!$(ZIPROOT)/doc/L4VM \
-x!$(ZIPROOT)/doc/VMM \
-x!$(ZIPROOT)/doc/licenses_old \
-x!$(ZIPROOT)/doc/manual/de_DE \