Makefile.kmk revision ca84fd364e44feb482be5634d03691f7a6012834
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync# $Id$
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync## @file
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync# Top-level makefile for the VirtualBox Guest Additions.
9b5a120b694c2603a7a3dccbd6cc519164943b17vboxsync#
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync#
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync# Copyright (C) 2006-2010 Oracle Corporation
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync#
e64031e20c39650a7bc902a3e1aba613b9415deevboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync# available from http://www.virtualbox.org. This file is free software;
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync# you can redistribute it and/or modify it under the terms of the GNU
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync# General Public License (GPL) as published by the Free Software
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync#
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncSUB_DEPTH = ../../..
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync#
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync# Globals
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync#
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncVBOX_PATH_ADDITIONS_SRC := $(PATH_SUB_CURRENT)
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync
866306ba031a2f258907507dd4abb3b84b6983e7vboxsync#
866306ba031a2f258907507dd4abb3b84b6983e7vboxsync# Cross building of the additions is generally done by remote building
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync# by means of smbfs, cifs, VBOX_ONLY_ADDITIONS=1 and setting KBUILD_TARGET
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync# and KBUILD_TARGET_ARCH to the desired target and architecture.
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync#
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync# Limited support for cross building the windows additions using wine
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync# is provided. There are a couple of issues with the approach (lack of
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync# signing, no VC++ 8 support, ++) that makes it unsuitable for releases.
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync#
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync#
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync# Note! VBOX_WITH_ADDITIONS is checked for by our parent makefile.
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync#
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync# Note! VBOX_WITH_X11_ADDITIONS is set in Config.kmk
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync#
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync# Note! The additions build box will set the VBOX_WITH_ADDITIONS_ISO.win.x86
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync# variables before invoking us from the root makefile.
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync#
3238841f4d74fd0e37778c270ae81b177a98e21bvboxsync# ==> All we have to worry about is what to do on the target we're on.
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync#
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncVBOX_WITH_ADDITIONS_ISO.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH) = 1
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync# Include sub-makefiles.
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsyncinclude $(PATH_SUB_CURRENT)/common/Makefile.kmk
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsyncifndef VBOX_ONLY_TESTSUITE
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync ifdef VBOX_WITH_X11_ADDITIONS
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync include $(PATH_SUB_CURRENT)/x11/Makefile.kmk
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync endif
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync
0d9f0399d4356c471af5e68c30b51c73f7909487vboxsync ifeq ($(KBUILD_TARGET),freebsd)
0d9f0399d4356c471af5e68c30b51c73f7909487vboxsync include $(PATH_SUB_CURRENT)/freebsd/Makefile.kmk
0d9f0399d4356c471af5e68c30b51c73f7909487vboxsync endif
0d9f0399d4356c471af5e68c30b51c73f7909487vboxsync ifeq ($(KBUILD_TARGET),linux)
0d9f0399d4356c471af5e68c30b51c73f7909487vboxsync include $(PATH_SUB_CURRENT)/linux/Makefile.kmk
0d9f0399d4356c471af5e68c30b51c73f7909487vboxsync endif
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync #ifeq ($(KBUILD_TARGET),os2)
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync # include $(PATH_SUB_CURRENT)/os2/Makefile.kmk
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync #endif
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync ifeq ($(KBUILD_TARGET),solaris)
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync include $(PATH_SUB_CURRENT)/solaris/Makefile.kmk
9d58ed91e29fc16c33e0e8f0530a1b8c58b98462vboxsync endif
9d58ed91e29fc16c33e0e8f0530a1b8c58b98462vboxsync ifeq ($(KBUILD_TARGET),win)
9d58ed91e29fc16c33e0e8f0530a1b8c58b98462vboxsync include $(PATH_SUB_CURRENT)/WINNT/Makefile.kmk
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync endif
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync ifeq ($(KBUILD_TARGET),darwin)
890b5e4f0265eb78919f6a41d1ccaa89eba51768vboxsync include $(PATH_SUB_CURRENT)/darwin/Makefile.kmk
d3b1e232c566c55799a7bfc83f66b045c4d82657vboxsync endif
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync ifeq ($(KBUILD_TARGET),linux)
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync INSTALLS += LnxAddIso-scripts
d645696bf70e804f18f661a9b1b8b79c32a1b331vboxsync LnxAddIso-scripts_INST = $(INST_ADDITIONS)
dccbbd8ec5b45b567312112e7edd5c7130d56262vboxsync LnxAddIso-scripts_MODE = a+rx,u+w
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync LnxAddIso-scripts_SOURCES = \
d645696bf70e804f18f661a9b1b8b79c32a1b331vboxsync $(LnxAddIso-scripts_0_OUTDIR)/runasroot.sh \
3f72ab7ee9d1539bfa4ed19972430194627b9273vboxsync $(LnxAddIso-scripts_0_OUTDIR)/autorun.sh
3f72ab7ee9d1539bfa4ed19972430194627b9273vboxsync LnxAddIso-scripts_CLEAN = \
3f72ab7ee9d1539bfa4ed19972430194627b9273vboxsync $(LnxAddIso-scripts_0_OUTDIR)/runasroot.sh \
3f72ab7ee9d1539bfa4ed19972430194627b9273vboxsync $(LnxAddIso-scripts_0_OUTDIR)/autorun.sh
a99c525910b735565952ae4e13e8bed173255d40vboxsync
a99c525910b735565952ae4e13e8bed173255d40vboxsync $$(LnxAddIso-scripts_0_OUTDIR)/runasroot.sh: \
a99c525910b735565952ae4e13e8bed173255d40vboxsync $(PATH_SUB_CURRENT)/../Installer/linux/runasroot.sh \
a99c525910b735565952ae4e13e8bed173255d40vboxsync $(PATH_SUB_CURRENT)/../Installer/linux/sh-utils.sh \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync | $$(dir $$@)
342d1c2e846281e0bcbde2e97218273216b3fb32vboxsync $(QUIET)$(SED) \
342d1c2e846281e0bcbde2e97218273216b3fb32vboxsync -e '/#include sh-utils.sh/ {' \
342d1c2e846281e0bcbde2e97218273216b3fb32vboxsync -e "r $(PATH_ROOT)/src/VBox/Installer/linux/sh-utils.sh" \
342d1c2e846281e0bcbde2e97218273216b3fb32vboxsync -e 'd' \
342d1c2e846281e0bcbde2e97218273216b3fb32vboxsync -e '}' \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync --output $@ \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $<
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(QUIET)$(CHMOD) a+rx,u+w $@
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $$(LnxAddIso-scripts_0_OUTDIR)/autorun.sh: \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(PATH_SUB_CURRENT)/linux/installer/autorun.sh \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(PATH_SUB_CURRENT)/../Installer/linux/sh-utils.sh \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync | $$(dir $$@)
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(QUIET)$(SED) \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync -e '/#include sh-utils.sh/ {' \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync -e "r $(PATH_ROOT)/src/VBox/Installer/linux/sh-utils.sh" \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync -e 'd' \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync -e '}' \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync --output $@ \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $<
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(QUIET)$(CHMOD) a+rx,u+w $@
df3a016ea59e69ab2758221fd91e62a9782b144evboxsync endif # KBUILD_TARGET == linux
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync ifeq ($(KBUILD_TARGET),win)
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync #
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync # Inf2Cat requires all the files referenced in the .inf file
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync # to be present in the directory, so we have to do this from here,
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync # since VBoxGuest.sys is being built from the common sources.
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync #
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync INSTALLS += VBoxGuest-inf
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBoxGuest-inf_INST = $(INST_ADDITIONS)
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBoxGuest-inf_MODE = a+r,u+w
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBoxGuest-inf_SOURCES = \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(PATH_TARGET)/VBoxGuestCat.dir/VBoxGuest.inf
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync ifdef VBOX_SIGN_ADDITIONS
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBoxGuest-inf_SOURCES += \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(PATH_TARGET)/VBoxGuestCat.dir/VBoxGuest.cat \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(PATH_TARGET)/VBoxGuestCat.dir/VBoxGuest.sys \
df3a016ea59e69ab2758221fd91e62a9782b144evboxsync $(PATH_TARGET)/VBoxGuestCat.dir/VBoxControl.exe \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(PATH_TARGET)/VBoxGuestCat.dir/VBoxTray.exe
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync endif # signing
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBoxGuest-inf_CLEAN = $(VBoxGuest-inf_SOURCES)
df3a016ea59e69ab2758221fd91e62a9782b144evboxsync VBoxGuest-inf_BLDDIRS = \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(PATH_TARGET)/VBoxGuestCat.dir
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(PATH_TARGET)/VBoxGuestCat.dir/VBoxGuest.inf: $(PATH_SUB_CURRENT)/common/VBoxGuest/win/VBoxGuest.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(call MSG_GENERATE,VBoxGuest-inf,$@,$<)
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(call VBOX_EDIT_INF_FN,$<,$@)
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(PATH_TARGET)/VBoxGuestCat.dir/VBoxGuest.sys: $$(VBoxGuest_1_TARGET) | $$(dir $$@)
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(INSTALL) -m 644 $< $(@D)
060664c5bfb70021bf92e01127d02b178b8c20acvboxsync
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(PATH_TARGET)/VBoxGuestCat.dir/VBoxControl.exe: $$(VBoxControl_1_TARGET) | $$(dir $$@)
df3a016ea59e69ab2758221fd91e62a9782b144evboxsync $(INSTALL) -m 755 $< $(@D)
060664c5bfb70021bf92e01127d02b178b8c20acvboxsync
060664c5bfb70021bf92e01127d02b178b8c20acvboxsync $(PATH_TARGET)/VBoxGuestCat.dir/VBoxTray.exe: $$(VBoxTray_1_TARGET) | $$(dir $$@)
060664c5bfb70021bf92e01127d02b178b8c20acvboxsync $(INSTALL) -m 755 $< $(@D)
060664c5bfb70021bf92e01127d02b178b8c20acvboxsync
73a750ff6ce8ed53244049d291856a1eea296654vboxsync $(PATH_TARGET)/VBoxGuestCat.dir/VBoxGuest.cat: \
73a750ff6ce8ed53244049d291856a1eea296654vboxsync $(PATH_TARGET)/VBoxGuestCat.dir/VBoxGuest.inf \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(PATH_TARGET)/VBoxGuestCat.dir/VBoxGuest.sys \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(PATH_TARGET)/VBoxGuestCat.dir/VBoxControl.exe \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(PATH_TARGET)/VBoxGuestCat.dir/VBoxTray.exe
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(call MSG_TOOL,Inf2Cat,VBoxGuest-inf,$@,$<)
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(call VBOX_MAKE_CAT_FN, $(@D),$@)
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync endif # KBUILD_TARGET == win
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync # The packing target rule, but only if we're on the local build box.
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync # (VBOX_WITHOUT_ADDITIONS_ISO is used by the additions build box, see the root makefile.)
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync ifndef VBOX_WITHOUT_ADDITIONS_ISO
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync PACKING += $(PATH_STAGE_BIN)/additions/VBoxGuestAdditions.iso
df3a016ea59e69ab2758221fd91e62a9782b144evboxsync endif
060664c5bfb70021bf92e01127d02b178b8c20acvboxsyncendif # !VBOX_ONLY_TESTSUITE
060664c5bfb70021bf92e01127d02b178b8c20acvboxsync
060664c5bfb70021bf92e01127d02b178b8c20acvboxsyncinclude $(KBUILD_PATH)/subfooter.kmk
060664c5bfb70021bf92e01127d02b178b8c20acvboxsync
060664c5bfb70021bf92e01127d02b178b8c20acvboxsync#
060664c5bfb70021bf92e01127d02b178b8c20acvboxsync# File per-OS/arch file specs for the additions iso (alphabetical order).
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync#
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync# We test for the VBOX_WITH_ADDITIONS_ISO.os.arch so that we don't have to
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync# do the $(if )'ing down where the GUESTADDITIONS_FILESPEC.os.arch down
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync# in the dependency list and mkisofs command.
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync#
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncifdef VBOX_WITH_ADDITIONS_ISO.freebsd.amd64
060664c5bfb70021bf92e01127d02b178b8c20acvboxsync VBOX_PATH_ADDITIONS.freebsd.amd64 = $(PATH_OUT_BASE)/freebsd.amd64/$(KBUILD_TYPE)/bin/additions
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync GUESTADDITIONS_FILESPEC.freebsd.amd64 = \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBoxFreeBSDAdditions-amd64.tbz=$(VBOX_PATH_ADDITIONS.freebsd.amd64)/VBoxFreeBSDAdditions.tbz
83204c5c9e83c7825a8e0537821a199459b783c8vboxsyncendif
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncifdef VBOX_WITH_ADDITIONS_ISO.freebsd.x86
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBOX_PATH_ADDITIONS.freebsd.x86 = $(PATH_OUT_BASE)/freebsd.x86/$(KBUILD_TYPE)/bin/additions
df3a016ea59e69ab2758221fd91e62a9782b144evboxsync GUESTADDITIONS_FILESPEC.freebsd.x86 = \
060664c5bfb70021bf92e01127d02b178b8c20acvboxsync VBoxFreeBSDAdditions-x86.tbz=$(VBOX_PATH_ADDITIONS.freebsd.x86)/VBoxFreeBSDAdditions.tbz
060664c5bfb70021bf92e01127d02b178b8c20acvboxsyncendif
060664c5bfb70021bf92e01127d02b178b8c20acvboxsync
060664c5bfb70021bf92e01127d02b178b8c20acvboxsync
060664c5bfb70021bf92e01127d02b178b8c20acvboxsyncifdef VBOX_WITH_ADDITIONS_ISO.os2.x86
df3a016ea59e69ab2758221fd91e62a9782b144evboxsync VBOX_PATH_ADDITIONS.os2.x86 = $(PATH_OUT_BASE)/os2.x86/$(KBUILD_TYPE)/bin/additions
060664c5bfb70021bf92e01127d02b178b8c20acvboxsync GUESTADDITIONS_FILESPEC.os2.x86 = \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync 32Bit/OS2/VBoxGuest.sys=$(VBOX_PATH_ADDITIONS.os2.x86)/VBoxGuest.sys \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync 32Bit/OS2/VBoxService.exe=$(VBOX_PATH_ADDITIONS.os2.x86)/VBoxService.exe \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync 32Bit/OS2/gengradd.dll=$(VBOX_PATH_ADDITIONS.os2.x86)/gengradd.dll \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync 32Bit/OS2/libc063.dll=$(VBOX_PATH_ADDITIONS_SRC)/os2/Bin/libc063.dll \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync 32Bit/OS2/readme.txt=$(VBOX_PATH_ADDITIONS_SRC)/os2/Bin/readme.txt \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync 32Bit/OS2/vboxmouse.sys=$(VBOX_PATH_ADDITIONS.os2.x86)/vboxmouse.sys
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncelse ifdef VBOX_WITH_OS2_ADDITIONS_BIN
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync GUESTADDITIONS_FILESPEC.os2.x86 = \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync 32Bit/OS2/VBoxGuest.sys=$(VBOX_PATH_ADDITIONS_SRC)/os2/Bin/VBoxGuest.sys \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync 32Bit/OS2/VBoxService.exe=$(VBOX_PATH_ADDITIONS_SRC)/os2/Bin/VBoxService.exe \
83204c5c9e83c7825a8e0537821a199459b783c8vboxsync 32Bit/OS2/gengradd.dll=$(VBOX_PATH_ADDITIONS_SRC)/os2/Bin/gengradd.dll \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync 32Bit/OS2/libc063.dll=$(VBOX_PATH_ADDITIONS_SRC)/os2/Bin/libc063.dll \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync 32Bit/OS2/readme.txt=$(VBOX_PATH_ADDITIONS_SRC)/os2/Bin/readme.txt \
df3a016ea59e69ab2758221fd91e62a9782b144evboxsync 32Bit/OS2/vboxmouse.sys=$(VBOX_PATH_ADDITIONS_SRC)/os2/Bin/vboxmouse.sys
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncendif
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncifdef VBOX_WITH_ADDITIONS_ISO.linux.amd64
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBOX_PATH_ADDITIONS.linux.amd64 = $(PATH_OUT_BASE)/linux.amd64/$(KBUILD_TYPE)/bin/additions
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync ifdef VBOX_WITH_COMBINED_LINUX_GUEST_PACKAGE
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBOX_LNX_ADD_AMD64_RUN_PKG=VBoxLinuxAdditions.run
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync else
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBOX_LNX_ADD_AMD64_RUN_PKG=VBoxLinuxAdditions-amd64.run
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync endif
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync GUESTADDITIONS_FILESPEC.linux.amd64 = \
83204c5c9e83c7825a8e0537821a199459b783c8vboxsync $(VBOX_LNX_ADD_AMD64_RUN_PKG)=$(VBOX_PATH_ADDITIONS.linux.amd64)/VBoxLinuxAdditions.run
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncendif
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncifdef VBOX_WITH_ADDITIONS_ISO.linux.x86
df3a016ea59e69ab2758221fd91e62a9782b144evboxsync VBOX_PATH_ADDITIONS.linux.x86 = $(PATH_OUT_BASE)/linux.x86/$(KBUILD_TYPE)/bin/additions
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync## @todo 64-bit additions: rename this package, update docs (?) and tests (?). create wrapper? create gnome/kde autorun app (xplatform) ?
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync ifdef VBOX_WITH_COMBINED_LINUX_GUEST_PACKAGE
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBOX_LNX_ADD_X86_RUN_PKG=VBoxLinuxAdditions.run
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync else
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBOX_LNX_ADD_X86_RUN_PKG=VBoxLinuxAdditions-x86.run
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync endif
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync GUESTADDITIONS_FILESPEC.linux.x86 = \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(VBOX_LNX_ADD_X86_RUN_PKG)=$(VBOX_PATH_ADDITIONS.linux.x86)/VBoxLinuxAdditions.run \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync runasroot.sh=$(VBOX_PATH_ADDITIONS.linux.x86)/runasroot.sh \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync autorun.sh=$(VBOX_PATH_ADDITIONS.linux.x86)/autorun.sh
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncendif
df3a016ea59e69ab2758221fd91e62a9782b144evboxsync
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncifdef VBOX_WITH_ADDITIONS_ISO.solaris.amd64
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBOX_PATH_ADDITIONS.solaris.amd64 = $(PATH_OUT_BASE)/solaris.amd64/$(KBUILD_TYPE)/bin/additions
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync GUESTADDITIONS_FILESPEC.solaris.amd64 = \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBoxSolarisAdditions-amd64.pkg=$(VBOX_PATH_ADDITIONS.solaris.amd64)/VBoxSolarisAdditions.pkg
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncendif
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncifdef VBOX_WITH_ADDITIONS_ISO.solaris.x86
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBOX_PATH_ADDITIONS.solaris.x86 = $(PATH_OUT_BASE)/solaris.x86/$(KBUILD_TYPE)/bin/additions
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync GUESTADDITIONS_FILESPEC.solaris.x86 = \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBoxSolarisAdditions-x86.pkg=$(VBOX_PATH_ADDITIONS.solaris.x86)/VBoxSolarisAdditions.pkg
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncendif
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncifdef VBOX_WITH_COMBINED_SOLARIS_GUEST_PACKAGE
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync # Build combined 32bit and 64bit solaris additions, not just a single arch.
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync # This assumes that the 32bit build directory contains the combined additions
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync # for 32bit and 64bit solaris. This just modifies variables set above.
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync GUESTADDITIONS_FILESPEC.solaris.x86 = \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBoxSolarisAdditions.pkg=$(VBOX_PATH_ADDITIONS.solaris.x86)/VBoxSolarisAdditions.pkg
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync GUESTADDITIONS_FILESPEC.solaris.amd64 =
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncendif
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncifdef VBOX_WITH_ADDITIONS_ISO.win.amd64
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync VBOX_PATH_ADDITIONS.win.amd64 = $(PATH_OUT_BASE)/win.amd64/$(KBUILD_TYPE)/bin/additions
6a762861f4545ff60f0cb6e4d0a947793adc2f74vboxsync GUESTADDITIONS_FILESPEC.win.amd64 = \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBoxWindowsAdditions-amd64.exe=$(VBOX_PATH_ADDITIONS.win.amd64)/VBoxWindowsAdditions-amd64.exe
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync ifndef VBOX_WITH_ADDITIONS_ISO.win.x86
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync GUESTADDITIONS_FILESPEC.win.amd64 += \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync cert/oracle-vbox.cer=$(VBOX_PATH_ADDITIONS_SRC)/WINNT/tools/oracle-vbox.cer \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync cert/VBoxCertUtil.exe=$(VBOX_PATH_ADDITIONS.win.amd64)/VBoxCertUtil.exe
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync endif
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsyncendif
7a6ba152515c963d275e7c1371ba39155ec6cf58vboxsync
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsyncifdef VBOX_WITH_ADDITIONS_ISO.win.x86
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync VBOX_PATH_ADDITIONS.win.x86 = $(PATH_OUT_BASE)/win.x86/$(KBUILD_TYPE)/bin/additions
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync GUESTADDITIONS_FILESPEC.win.x86 = \
337640774b62333151a0c5cc6407afcb25d93a37vboxsync VBoxWindowsAdditions-x86.exe=$(VBOX_PATH_ADDITIONS.win.x86)/VBoxWindowsAdditions-x86.exe \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync VBoxWindowsAdditions.exe=$(VBOX_PATH_ADDITIONS.win.x86)/VBoxWindowsAdditions.exe \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync AUTORUN.INF=$(VBOX_PATH_ADDITIONS_SRC)/WINNT/Installer/ISO/AUTORUN.INF \
dccbbd8ec5b45b567312112e7edd5c7130d56262vboxsync 32Bit/Readme.txt=$(VBOX_PATH_ADDITIONS_SRC)/WINNT/Installer/ISO/ReadmeDrivers.txt \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync 64Bit/Readme.txt=$(VBOX_PATH_ADDITIONS_SRC)/WINNT/Installer/ISO/ReadmeDrivers.txt \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync cert/oracle-vbox.cer=$(VBOX_PATH_ADDITIONS_SRC)/WINNT/tools/oracle-vbox.cer \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync cert/VBoxCertUtil.exe=$(VBOX_PATH_ADDITIONS.win.x86)/VBoxCertUtil.exe
41738f3838049e665b571d59d971cc5c74efb6dcvboxsyncendif # win.x86
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsyncifdef VBOX_WITH_ADDITIONS_ISO.darwin.x86
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync VBOX_PATH_ADDITIONS.darwin.x86 = $(PATH_OUT_BASE)/darwin.x86/$(KBUILD_TYPE)/bin/additions
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync # or dmg?
625f0ce802a913c7685bc8ae837583bea69ebf8avboxsync GUESTADDITIONS_FILESPEC.darwin.x86 = \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync VBoxDarwinAdditions-x86.run=$(VBOX_PATH_ADDITIONS.darwin.x86)/VBoxDarwinAdditions-x86.run
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsyncendif
ae9f3922b0becc4f4b4fca43422314700a4ed8a7vboxsync
625f0ce802a913c7685bc8ae837583bea69ebf8avboxsyncifdef VBOX_WITH_ADDITIONS_ISO.darwin.amd64
625f0ce802a913c7685bc8ae837583bea69ebf8avboxsync VBOX_PATH_ADDITIONS.darwin.amd64 = $(PATH_OUT_BASE)/darwin.amd64/$(KBUILD_TYPE)/bin/additions
625f0ce802a913c7685bc8ae837583bea69ebf8avboxsync GUESTADDITIONS_FILESPEC.darwin.amd64 = \
625f0ce802a913c7685bc8ae837583bea69ebf8avboxsync VBoxDarwinAdditions-amd64.run=$(VBOX_PATH_ADDITIONS.darwin.amd64)/VBoxDarwinAdditions-amd64.run
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsyncendif
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync
9d58ed91e29fc16c33e0e8f0530a1b8c58b98462vboxsync#
dfff275f489de72e78be4fb4fbc3a2780f0ee2aavboxsync# Build the Guest Additions ISO image.
9d58ed91e29fc16c33e0e8f0530a1b8c58b98462vboxsync#
dfff275f489de72e78be4fb4fbc3a2780f0ee2aavboxsyncifndef VBOX_WITHOUT_ADDITIONS_ISO
9d58ed91e29fc16c33e0e8f0530a1b8c58b98462vboxsync$(VBOX_PATH_ADDITIONS_ISO)/VBoxGuestAdditions.iso: \
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(filter-out %=deleteme=,\
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync $(subst =,=deleteme= ,\
587f936a5f1c792ede2dcb60a7769780a3487c6fvboxsync $(GUESTADDITIONS_FILESPEC.win.x86) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.win.amd64) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.solaris.x86) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.solaris.amd64) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.os2.x86) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.linux.x86) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.linux.amd64) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.freebsd.x86) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.freebsd.amd64) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.darwin.x86) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.darwin.amd64) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync )\
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync ) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(VBOX_SVN_REV_KMK) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(VBOX_PATH_ADDITIONS_SRC)/Makefile.kmk
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(call MSG_TOOL,mkisofs,,$@)
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(QUIET)$(MKDIR) -p $(@D)
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync @# use iso-level 3 which is the most ISO conforming level with least restrictions; iso-level 4 maps to iso-level 2
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync @# with some extra restrictions removal (not conforming to ISO9660) which some platforms like Solaris 10 does not like.
ae9f3922b0becc4f4b4fca43422314700a4ed8a7vboxsync $(VBOX_MKISOFS) -rational-rock -joliet -iso-level 3 \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync -volid "VBOXADDITIONS_$(VBOX_VERSION_STRING_RAW)_$(VBOX_SVN_REV)" -l -graft-points -o $@ \
ae9f3922b0becc4f4b4fca43422314700a4ed8a7vboxsync $(GUESTADDITIONS_FILESPEC.win) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.win.x86) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.win.amd64) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.solaris.x86) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.solaris.amd64) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.os2.x86) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.linux.x86) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.linux.amd64) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.freebsd.x86) \
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync $(GUESTADDITIONS_FILESPEC.freebsd.amd64) \
3238841f4d74fd0e37778c270ae81b177a98e21bvboxsync $(GUESTADDITIONS_FILESPEC.darwin.x86) \
3238841f4d74fd0e37778c270ae81b177a98e21bvboxsync $(GUESTADDITIONS_FILESPEC.darwin.amd64)
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync
342d1c2e846281e0bcbde2e97218273216b3fb32vboxsync
804f38dc60de88705f57b964b11e0bf17768e47cvboxsync# Alias for creating the iso.
342d1c2e846281e0bcbde2e97218273216b3fb32vboxsync.PHONY: additions-iso
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncadditions-iso: $(VBOX_PATH_ADDITIONS_ISO)/VBoxGuestAdditions.iso
9b5a120b694c2603a7a3dccbd6cc519164943b17vboxsync
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncendif
9b5a120b694c2603a7a3dccbd6cc519164943b17vboxsync
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync