[2478] | 1 | # $Id: Makefile.kmk 101507 2023-10-19 10:49:59Z vboxsync $
|
---|
| 2 | ## @file
|
---|
[1] | 3 | # Makefile for the linux guest additions base directory.
|
---|
| 4 | #
|
---|
| 5 |
|
---|
| 6 | #
|
---|
[98103] | 7 | # Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
---|
[4813] | 8 | #
|
---|
[96407] | 9 | # This file is part of VirtualBox base platform packages, as
|
---|
| 10 | # available from https://www.virtualbox.org.
|
---|
[5999] | 11 | #
|
---|
[96407] | 12 | # This program is free software; you can redistribute it and/or
|
---|
| 13 | # modify it under the terms of the GNU General Public License
|
---|
| 14 | # as published by the Free Software Foundation, in version 3 of the
|
---|
| 15 | # License.
|
---|
| 16 | #
|
---|
| 17 | # This program is distributed in the hope that it will be useful, but
|
---|
| 18 | # WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
| 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
---|
| 20 | # General Public License for more details.
|
---|
| 21 | #
|
---|
| 22 | # You should have received a copy of the GNU General Public License
|
---|
| 23 | # along with this program; if not, see <https://www.gnu.org/licenses>.
|
---|
| 24 | #
|
---|
| 25 | # SPDX-License-Identifier: GPL-3.0-only
|
---|
| 26 | #
|
---|
[1] | 27 |
|
---|
[10129] | 28 | SUB_DEPTH = ../../../..
|
---|
[41477] | 29 | include $(KBUILD_PATH)/subheader.kmk
|
---|
[1] | 30 |
|
---|
[12446] | 31 | #
|
---|
| 32 | # Include sub-makefiles.
|
---|
| 33 | #
|
---|
[9642] | 34 | include $(PATH_SUB_CURRENT)/sharedfolders/Makefile.kmk
|
---|
[17407] | 35 | include $(PATH_SUB_CURRENT)/drm/Makefile.kmk
|
---|
[44062] | 36 | ifdef VBOX_WITH_LIGHTDM_GREETER
|
---|
| 37 | include $(PATH_SUB_CURRENT)/lightdm-greeter/Makefile.kmk
|
---|
| 38 | endif
|
---|
[1] | 39 |
|
---|
[66016] | 40 |
|
---|
| 41 | #
|
---|
[22917] | 42 | # Globals
|
---|
| 43 | #
|
---|
| 44 |
|
---|
[24361] | 45 | # Basic path components
|
---|
| 46 | VBOX_LNX_ADD_PACKAGE_NAME := VBoxGuestAdditions
|
---|
[24440] | 47 | VBOX_LNX_ADD_INST_OUT_DIR := $(PATH_TARGET)/Additions/Installer/linux/
|
---|
| 48 | VBOX_LNX_ADD_INST_DBG_DIR := $(VBOX_LNX_ADD_INST_OUT_DIR)debug/
|
---|
| 49 | VBOX_LNX_ADD_INST_STAGE_DIR := $(VBOX_LNX_ADD_INST_OUT_DIR)install/
|
---|
[22962] | 50 |
|
---|
[24361] | 51 | # Installation paths for binaries and files
|
---|
[24440] | 52 | VBOX_LNX_ADD_INST_BIN_DIR := $(VBOX_LNX_ADD_INST_OUT_DIR)bin/
|
---|
| 53 | VBOX_LNX_ADD_INST_SBIN_DIR := $(VBOX_LNX_ADD_INST_OUT_DIR)sbin/
|
---|
| 54 | VBOX_LNX_ADD_INST_LIB_DIR := $(VBOX_LNX_ADD_INST_OUT_DIR)lib/
|
---|
[63889] | 55 | VBOX_LNX_ADD_INST_OTHER_DIR := $(VBOX_LNX_ADD_INST_OUT_DIR)other/
|
---|
[63891] | 56 | VBOX_LNX_ADD_INST_KMOD_DIR_BASE := $(VBOX_LNX_ADD_INST_OUT_DIR)src/
|
---|
[68044] | 57 | # This is a symbolic link, so no trailing slash.
|
---|
| 58 | VBOX_LNX_ADD_INST_KMOD_PATH := $(VBOX_LNX_ADD_INST_KMOD_DIR_BASE)vboxguest-$(VBOX_VERSION_STRING)
|
---|
[24440] | 59 | VBOX_LNX_ADD_INST_INIT_DIR := $(VBOX_LNX_ADD_INST_OUT_DIR)init/
|
---|
[24361] | 60 |
|
---|
[39665] | 61 | VBOX_LNX_ADD_ARCH_INST_DIRS := \
|
---|
[39663] | 62 | $(VBOX_LNX_ADD_INST_OUT_DIR) \
|
---|
| 63 | $(VBOX_LNX_ADD_INST_BIN_DIR) \
|
---|
| 64 | $(VBOX_LNX_ADD_INST_SBIN_DIR) \
|
---|
| 65 | $(VBOX_LNX_ADD_INST_INIT_DIR)
|
---|
| 66 |
|
---|
[24361] | 67 | # Installation paths for debug symbols
|
---|
[38162] | 68 | VBOX_LNX_ADD_DBG_BIN_DIR := $(VBOX_LNX_ADD_INST_DBG_DIR)bin/
|
---|
| 69 | VBOX_LNX_ADD_DBG_SBIN_DIR := $(VBOX_LNX_ADD_INST_DBG_DIR)sbin/
|
---|
| 70 | VBOX_LNX_ADD_DBG_LIB_DIR := $(VBOX_LNX_ADD_INST_DBG_DIR)lib/
|
---|
[63890] | 71 | VBOX_LNX_ADD_DBG_OTHER_DIR := $(VBOX_LNX_ADD_INST_DBG_DIR)other/
|
---|
[24361] | 72 |
|
---|
[39663] | 73 | VBOX_LNX_ADD_DBG_DIRS := \
|
---|
| 74 | $(VBOX_LNX_ADD_DBG_BIN_DIR) \
|
---|
| 75 | $(VBOX_LNX_ADD_DBG_SBIN_DIR) \
|
---|
[63890] | 76 | $(VBOX_LNX_ADD_DBG_OTHER_DIR)
|
---|
[39663] | 77 |
|
---|
[24361] | 78 | # Script source directories
|
---|
[24440] | 79 | VBOX_PATH_LNX_ADD_INST := $(PATH_SUB_CURRENT)/installer/
|
---|
[24380] | 80 | VBOX_REL_LNX_ADD_INST := $(subst $(PATH_ROOT)/src/VBox, ../..,$(VBOX_PATH_LNX_ADD_INST))
|
---|
[24440] | 81 | VBOX_PATH_X11_ADD_INST := $(PATH_ROOT)/src/VBox/Additions/x11/Installer/
|
---|
[24380] | 82 | VBOX_REL_X11_ADD_INST := $(subst $(PATH_ROOT)/src/VBox, ../..,$(VBOX_PATH_X11_ADD_INST))
|
---|
[24440] | 83 | VBOX_PATH_LNX_INST_SRC := $(PATH_ROOT)/src/VBox/Installer/linux/
|
---|
[24380] | 84 | VBOX_REL_LNX_INST_SRC := $(subst $(PATH_ROOT)/src/VBox, ../..,$(VBOX_PATH_LNX_INST_SRC))
|
---|
[39358] | 85 | VBOX_PATH_LNX_HOST_DRV := $(PATH_ROOT)/src/VBox/HostDrivers/linux/
|
---|
| 86 | VBOX_REL_LNX_HOST_DRV := $(subst $(PATH_ROOT)/src/VBox, ../..,$(VBOX_PATH_LNX_HOST_DRV))
|
---|
[24361] | 87 |
|
---|
| 88 | # Unset this to speed up things during makefile hacking.
|
---|
| 89 | VBOX_LNX_ADD_INST_DEP_ON_MAKEFILE := $(MAKEFILE_CURRENT)
|
---|
| 90 |
|
---|
| 91 |
|
---|
[22917] | 92 | #
|
---|
[12446] | 93 | # Targets
|
---|
| 94 | #
|
---|
[31637] | 95 | VBOX_SELINUX_CMPLD := $(PATH_SUB_CURRENT)/selinux-fedora/vbox_x11.pp
|
---|
[44993] | 96 | VBOX_LNX_ADD_ARCHIVE.x86 := $(PATH_OUT_BASE)/linux.x86/$(KBUILD_TYPE)/bin/additions/VBoxGuestAdditions-x86.tar.bz2
|
---|
| 97 | VBOX_LNX_ADD_ARCHIVE.amd64 := $(PATH_OUT_BASE)/linux.amd64/$(KBUILD_TYPE)/bin/additions/VBoxGuestAdditions-amd64.tar.bz2
|
---|
[100260] | 98 | ifdef VBOX_WITH_LNX_ARM64_ADDITIONS
|
---|
| 99 | VBOX_LNX_ADD_ARCHIVE.arm64 := $(PATH_OUT_BASE)/linux.arm64/$(KBUILD_TYPE)/bin/additions/VBoxGuestAdditions-arm64.tar.bz2
|
---|
| 100 | endif
|
---|
[31637] | 101 | ifndef VBOX_WITH_COMBINED_LINUX_GUEST_PACKAGE
|
---|
[44993] | 102 | VBOX_LNX_ADD_ARCHIVES := $(PATH_STAGE_BIN)/additions/VBoxGuestAdditions-$(KBUILD_TARGET_ARCH).tar.bz2
|
---|
[31637] | 103 | else
|
---|
| 104 | VBOX_LNX_ADD_ARCHIVES := \
|
---|
[98416] | 105 | $(VBOX_LNX_ADD_ARCHIVE.x86) \
|
---|
[100260] | 106 | $(VBOX_LNX_ADD_ARCHIVE.amd64) \
|
---|
[101507] | 107 | $(if-expr defined(VBOX_WITH_LNX_ARM64_ADDITIONS) && defined(VBOX_WITH_COMBINED_LINUX_GUEST_PACKAGE_INCLUDING_ARM64),$(VBOX_LNX_ADD_ARCHIVE.arm64),)
|
---|
[31637] | 108 | endif
|
---|
| 109 | BLDDIRS += \
|
---|
[39665] | 110 | $(VBOX_LNX_ADD_ARCH_INST_DIRS) \
|
---|
[39663] | 111 | $(VBOX_LNX_ADD_DBG_DIRS) \
|
---|
[31637] | 112 | $(VBOX_LNX_ADD_INST_STAGE_DIR)
|
---|
[39665] | 113 |
|
---|
[31637] | 114 | # Use VBOX_WITHOUT_LINUX_GUEST_PACKAGE to skip building the .run installer.
|
---|
| 115 | # This will only take effect if you also use VBOX_WITHOUT_ADDITIONS_ISO.
|
---|
| 116 | PACKING += \
|
---|
[38082] | 117 | $(if-expr !defined(VBOX_WITHOUT_LINUX_GUEST_PACKAGE), $(PATH_STAGE_BIN)/additions/VBoxLinuxAdditions.run,) \
|
---|
[31637] | 118 | $(VBOX_LNX_ADD_ARCHIVES) \
|
---|
[38082] | 119 | $(PATH_STAGE_BIN)/additions/VBoxGuestAdditions-dbg.tar.bz2
|
---|
[31637] | 120 | OTHER_CLEAN += \
|
---|
| 121 | $(PACKING) \
|
---|
[68044] | 122 | $(VBOX_LNX_ADD_INST_KMOD_PATH) \
|
---|
[31637] | 123 | $(foreach file, $(VBOX_LNX_ADD_ARCHIVES), $(VBOX_LNX_ADD_INST_STAGE_DIR)$(subst -r$(VBOX_SVN_REV),,$(notdir $(file))))
|
---|
[1] | 124 |
|
---|
[22962] | 125 |
|
---|
| 126 | #
|
---|
| 127 | # Files to install
|
---|
| 128 | #
|
---|
[63877] | 129 | VBOX_LNX_ADD_STRIP_BIN += \
|
---|
| 130 | VBoxControl \
|
---|
[84561] | 131 | VBoxDRMClient \
|
---|
[24361] | 132 | VBoxClient
|
---|
[89657] | 133 | ifdef VBOX_WITH_ADDITIONS_SHIPPING_AUDIO_TEST
|
---|
[89654] | 134 | VBOX_LNX_ADD_STRIP_BIN += \
|
---|
[98416] | 135 | VBoxAudioTest
|
---|
[89654] | 136 | endif
|
---|
[24361] | 137 |
|
---|
[63877] | 138 | VBOX_LNX_ADD_STRIP_SBIN += \
|
---|
[44080] | 139 | VBoxService \
|
---|
[44265] | 140 | $(if $(VBOX_WITH_LIGHTDM_GREETER),vbox-greeter)
|
---|
[24361] | 141 |
|
---|
[63877] | 142 | VBOX_LNX_ADD_STRIP_MOD = \
|
---|
[41188] | 143 | $(if $(VBOX_WITH_PAM),pam_vbox.so,) \
|
---|
[23360] | 144 | mount.vboxsf
|
---|
[22962] | 145 |
|
---|
[100258] | 146 | ifndef VBOX_NO_LEGACY_XORG_X11
|
---|
| 147 | VBOX_LNX_ADD_STRIP_MOD += \
|
---|
| 148 | vboxmouse_drv_70.so \
|
---|
| 149 | vboxmouse_drv_71.so \
|
---|
| 150 | vboxmouse_drv_13.so \
|
---|
| 151 | vboxmouse_drv_14.so \
|
---|
| 152 | vboxmouse_drv_15.so \
|
---|
| 153 | vboxmouse_drv_16.so \
|
---|
| 154 | $(addsuffix .so,$(filter-out %_32,$(filter vboxvideo_drv_%,$(DLLS))))
|
---|
| 155 | endif
|
---|
| 156 |
|
---|
[63877] | 157 | VBOX_LNX_ADD_MOD = \
|
---|
[25084] | 158 | 98vboxadd-xclient \
|
---|
[33430] | 159 | x11config.sh
|
---|
[25084] | 160 |
|
---|
[100258] | 161 | ifndef VBOX_NO_LEGACY_XORG_X11
|
---|
| 162 | VBOX_LNX_ADD_STRIP_OBJ = \
|
---|
| 163 | vboxmouse_drv.o \
|
---|
| 164 | vboxvideo_drv.o
|
---|
| 165 | endif
|
---|
[22962] | 166 |
|
---|
[63877] | 167 | VBOX_LNX_ADD_INIT = \
|
---|
[24361] | 168 | vboxadd \
|
---|
| 169 | vboxadd-service \
|
---|
| 170 | vboxadd-x11
|
---|
| 171 |
|
---|
[22962] | 172 | #
|
---|
[24361] | 173 | # All the files that go into the archive
|
---|
[22962] | 174 | #
|
---|
[24361] | 175 | VBOX_LNX_ADD_INST_FILES := \
|
---|
[24440] | 176 | $(addprefix $(VBOX_LNX_ADD_INST_BIN_DIR),$(VBOX_LNX_ADD_STRIP_BIN)) \
|
---|
| 177 | $(addprefix $(VBOX_LNX_ADD_INST_BIN_DIR),$(VBOX_LNX_ADD_BIN)) \
|
---|
| 178 | $(addprefix $(VBOX_LNX_ADD_INST_SBIN_DIR),$(VBOX_LNX_ADD_STRIP_SBIN)) \
|
---|
| 179 | $(addprefix $(VBOX_LNX_ADD_INST_LIB_DIR),$(VBOX_LNX_ADD_STRIP_LIB)) \
|
---|
[63890] | 180 | $(addprefix $(VBOX_LNX_ADD_INST_OTHER_DIR),$(VBOX_LNX_ADD_STRIP_MOD)) \
|
---|
[63889] | 181 | $(addprefix $(VBOX_LNX_ADD_INST_OTHER_DIR),$(VBOX_LNX_ADD_MOD)) \
|
---|
[63890] | 182 | $(addprefix $(VBOX_LNX_ADD_INST_OTHER_DIR),$(VBOX_LNX_ADD_STRIP_OBJ)) \
|
---|
[63877] | 183 | $(addprefix $(VBOX_LNX_ADD_INST_INIT_DIR),$(VBOX_LNX_ADD_INIT))
|
---|
[22962] | 184 |
|
---|
[24835] | 185 | VBOX_LNX_ADD_DBG_FILES := \
|
---|
| 186 | $(addprefix $(VBOX_LNX_ADD_DBG_BIN_DIR),$(VBOX_LNX_ADD_STRIP_BIN)) \
|
---|
| 187 | $(addprefix $(VBOX_LNX_ADD_DBG_SBIN_DIR),$(VBOX_LNX_ADD_STRIP_SBIN)) \
|
---|
| 188 | $(addprefix $(VBOX_LNX_ADD_DBG_LIB_DIR),$(VBOX_LNX_ADD_STRIP_LIB)) \
|
---|
[63890] | 189 | $(addprefix $(VBOX_LNX_ADD_DBG_OTHER_DIR),$(VBOX_LNX_ADD_STRIP_MOD))
|
---|
[24835] | 190 |
|
---|
[44121] | 191 | ifdef VBOX_WITH_LIGHTDM_GREETER_PACKING
|
---|
[98416] | 192 | VBOX_LNX_ADD_INST_FILES += \
|
---|
| 193 | $(addprefix $(VBOX_LNX_ADD_INST_SBIN_DIR),vbox-greeter)
|
---|
[44075] | 194 | endif
|
---|
| 195 |
|
---|
[64525] | 196 | # Cleanup of the installer directory files
|
---|
[32231] | 197 | OTHER_CLEAN += $(VBOX_LNX_ADD_INST_FILES) $(VBOX_LNX_ADD_DBG_FILES)
|
---|
[22962] | 198 |
|
---|
[24361] | 199 | # pattern rules for copying the debug info from the VBOX_LNX_ADD_STRIP_* files to the installation directory
|
---|
[24835] | 200 | $(addprefix $(VBOX_LNX_ADD_DBG_BIN_DIR),$(VBOX_LNX_ADD_STRIP_BIN)): \
|
---|
[38082] | 201 | $(VBOX_LNX_ADD_DBG_BIN_DIR)% : $(PATH_STAGE_BIN)/additions/% | $$(dir $$@)
|
---|
[23006] | 202 | $(call MSG_TOOL,copydbg,$<,$@)
|
---|
| 203 | $(QUIET)objcopy --only-keep-debug $< $@
|
---|
| 204 |
|
---|
[24835] | 205 | $(addprefix $(VBOX_LNX_ADD_DBG_SBIN_DIR),$(VBOX_LNX_ADD_STRIP_SBIN)): \
|
---|
[38082] | 206 | $(VBOX_LNX_ADD_DBG_SBIN_DIR)% : $(PATH_STAGE_BIN)/additions/% | $$(dir $$@)
|
---|
[24361] | 207 | $(call MSG_TOOL,copydbg,$<,$@)
|
---|
| 208 | $(QUIET)objcopy --only-keep-debug $< $@
|
---|
| 209 |
|
---|
[24835] | 210 | $(addprefix $(VBOX_LNX_ADD_DBG_LIB_DIR),$(VBOX_LNX_ADD_STRIP_LIB)): \
|
---|
[38082] | 211 | $(VBOX_LNX_ADD_DBG_LIB_DIR)% : $(PATH_STAGE_BIN)/additions/% | $$(dir $$@)
|
---|
[24361] | 212 | $(call MSG_TOOL,copydbg,$<,$@)
|
---|
| 213 | $(QUIET)objcopy --only-keep-debug $< $@
|
---|
| 214 |
|
---|
[63890] | 215 | $(addprefix $(VBOX_LNX_ADD_DBG_OTHER_DIR),$(VBOX_LNX_ADD_STRIP_MOD)): \
|
---|
| 216 | $(VBOX_LNX_ADD_DBG_OTHER_DIR)% : $(PATH_STAGE_BIN)/additions/% | $$(dir $$@)
|
---|
[24361] | 217 | $(call MSG_TOOL,copydbg,$<,$@)
|
---|
| 218 | $(QUIET)objcopy --only-keep-debug $< $@
|
---|
| 219 |
|
---|
[23363] | 220 | # pattern rule for stripping and copying the VBOX_LNX_ADD_STRIP_BIN files to the installation directory
|
---|
[24440] | 221 | $(addprefix $(VBOX_LNX_ADD_INST_BIN_DIR),$(VBOX_LNX_ADD_STRIP_BIN)): \
|
---|
[38082] | 222 | $(VBOX_LNX_ADD_INST_BIN_DIR)% : $(PATH_STAGE_BIN)/additions/% \
|
---|
[24835] | 223 | $(VBOX_LNX_ADD_DBG_BIN_DIR)% \
|
---|
[22962] | 224 | | $$(dir $$@)
|
---|
| 225 | $(call MSG_INST_FILE,$<,$@)
|
---|
| 226 | $(QUIET)$(INSTALL) -m 0755 $(if $(VBOX_DO_STRIP),-s,) $< $@
|
---|
[51191] | 227 | $(QUIET)objcopy --add-gnu-debuglink=$(subst $(VBOX_LNX_ADD_INST_BIN_DIR),$(VBOX_LNX_ADD_DBG_BIN_DIR),$@) $@
|
---|
[22962] | 228 |
|
---|
[24361] | 229 | # pattern rule for stripping and copying the VBOX_LNX_ADD_STRIP_SBIN files to the installation directory
|
---|
[98416] | 230 | $(addprefix $(VBOX_LNX_ADD_INST_SBIN_DIR), \
|
---|
[98438] | 231 | $(filter-out vbox-greeter,$(VBOX_LNX_ADD_STRIP_SBIN))): \
|
---|
[38082] | 232 | $(VBOX_LNX_ADD_INST_SBIN_DIR)% : $(PATH_STAGE_BIN)/additions/% \
|
---|
[24835] | 233 | $(VBOX_LNX_ADD_DBG_SBIN_DIR)% \
|
---|
[24361] | 234 | | $$(dir $$@)
|
---|
| 235 | $(call MSG_INST_FILE,$<,$@)
|
---|
| 236 | $(QUIET)$(INSTALL) -m 0755 $(if $(VBOX_DO_STRIP),-s,) $< $@
|
---|
[51191] | 237 | $(QUIET)objcopy --add-gnu-debuglink=$(subst $(VBOX_LNX_ADD_INST_SBIN_DIR),$(VBOX_LNX_ADD_DBG_SBIN_DIR),$@) $@
|
---|
[24361] | 238 |
|
---|
[44075] | 239 | # pattern rule for stripping and copying vbox-greeter to the installation directory
|
---|
| 240 | $(addprefix $(VBOX_LNX_ADD_INST_SBIN_DIR),vbox-greeter): \
|
---|
[52628] | 241 | $(VBOX_LNX_ADD_INST_SBIN_DIR)% : $(subst linux.amd64/release,linux.amd64/release/greeter,$(subst linux.x86/release,linux.x86/release/greeter,$(PATH_STAGE_BIN)))/additions/% \
|
---|
[44075] | 242 | | $$(dir $$@)
|
---|
| 243 | $(call MSG_INST_FILE,$<,$@)
|
---|
| 244 | $(QUIET)$(INSTALL) -m 0755 $< $@
|
---|
| 245 |
|
---|
[24361] | 246 | # pattern rule for stripping and copying the VBOX_LNX_ADD_STRIP_LIB files to the installation directory
|
---|
[24440] | 247 | $(addprefix $(VBOX_LNX_ADD_INST_LIB_DIR),$(VBOX_LNX_ADD_STRIP_LIB)): \
|
---|
[38082] | 248 | $(VBOX_LNX_ADD_INST_LIB_DIR)% : $(PATH_STAGE_BIN)/additions/% \
|
---|
[24835] | 249 | $(VBOX_LNX_ADD_DBG_LIB_DIR)% \
|
---|
[24361] | 250 | | $$(dir $$@)
|
---|
| 251 | $(call MSG_INST_FILE,$<,$@)
|
---|
| 252 | $(QUIET)$(INSTALL) -m 0755 $(if $(VBOX_DO_STRIP),-s,) $< $@
|
---|
[51191] | 253 | $(QUIET)objcopy --add-gnu-debuglink=$(subst $(VBOX_LNX_ADD_INST_LIB_DIR),$(VBOX_LNX_ADD_DBG_LIB_DIR),$@) $@
|
---|
[24361] | 254 |
|
---|
| 255 | # pattern rule for stripping and copying the VBOX_LNX_ADD_STRIP_MOD files to the installation directory
|
---|
[63890] | 256 | $(addprefix $(VBOX_LNX_ADD_INST_OTHER_DIR),$(VBOX_LNX_ADD_STRIP_MOD)): \
|
---|
| 257 | $(VBOX_LNX_ADD_INST_OTHER_DIR)% : $(PATH_STAGE_BIN)/additions/% \
|
---|
| 258 | $(VBOX_LNX_ADD_DBG_OTHER_DIR)% \
|
---|
[24361] | 259 | | $$(dir $$@)
|
---|
| 260 | $(call MSG_INST_FILE,$<,$@)
|
---|
| 261 | $(QUIET)$(INSTALL) -m 0755 $(if $(VBOX_DO_STRIP),-s,) $< $@
|
---|
[63890] | 262 | $(QUIET)objcopy --add-gnu-debuglink=$(subst $(VBOX_LNX_ADD_INST_OTHER_DIR),$(VBOX_LNX_ADD_DBG_OTHER_DIR),$@) $@
|
---|
[24361] | 263 |
|
---|
[23363] | 264 | # pattern rule for stripping and copying the VBOX_LNX_ADD_STRIP_OBJ files to the installation directory
|
---|
[63890] | 265 | $(addprefix $(VBOX_LNX_ADD_INST_OTHER_DIR),$(VBOX_LNX_ADD_STRIP_OBJ)): \
|
---|
| 266 | $(VBOX_LNX_ADD_INST_OTHER_DIR)% : $(PATH_STAGE_BIN)/additions/% | $$(dir $$@)
|
---|
[22962] | 267 | $(call MSG_INST_FILE,$<,$@)
|
---|
| 268 | ifeq ($(VBOX_DO_STRIP),)
|
---|
| 269 | $(QUIET)$(INSTALL) -m 0644 $< $@
|
---|
| 270 | else # strip to temp file because of umask.
|
---|
| 271 | $(QUIET)objcopy --strip-unneeded -R .comment $< $@.tmp
|
---|
| 272 | $(QUIET)$(INSTALL) -m 0644 $@.tmp $@
|
---|
| 273 | $(QUIET)$(RM) -f -- $@.tmp
|
---|
[7116] | 274 | endif
|
---|
[1] | 275 |
|
---|
[68044] | 276 | include $(PATH_ROOT)/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest
|
---|
[98416] | 277 | VBOX_LNX_ADD_INST_FILES_VBOXGUEST = $(patsubst =>%,$(PATH_STAGE_BIN)/additions/src/vboxguest/%,$(filter =>%,$(subst =>, =>,$(subst $(DQUOTE),,$(FILES_VBOXGUEST_NOBIN)))))
|
---|
[68044] | 278 | include $(PATH_ROOT)/src/VBox/Additions/linux/sharedfolders/files_vboxsf
|
---|
[98416] | 279 | VBOX_LNX_ADD_INST_FILES_VBOXSF = $(patsubst =>%,$(PATH_STAGE_BIN)/additions/src/vboxsf/%,$(filter =>%,$(subst =>, =>,$(subst $(DQUOTE),,$(FILES_VBOXSF_NOBIN)))))
|
---|
[68044] | 280 | include $(PATH_ROOT)/src/VBox/Additions/linux/drm/files_vboxvideo_drv
|
---|
[98416] | 281 | VBOX_LNX_ADD_INST_FILES_VBOXVIDEO = $(patsubst =>%,$(PATH_STAGE_BIN)/additions/src/vboxvideo/%,$(filter =>%,$(subst =>, =>,$(subst $(DQUOTE),,$(FILES_VBOXVIDEO_DRM_NOBIN)))))
|
---|
[22962] | 282 |
|
---|
[68044] | 283 | # special rule for the kernel modules
|
---|
[75892] | 284 | $(VBOX_LNX_ADD_INST_KMOD_DIR_BASE): \
|
---|
| 285 | $(PATH_STAGE_BIN)/additions/src/ \
|
---|
| 286 | $(PATH_ROOT)/Version.kmk \
|
---|
| 287 | | $(dir $@)
|
---|
[68044] | 288 | $(call MSG_INST_SYM,$<,$@)
|
---|
| 289 | $(QUIET)$(RM) -Rf $@
|
---|
| 290 | $(QUIET)$(MKDIR) $@
|
---|
| 291 | $(QUIET)$(LN_SYMLINK) $< $(VBOX_LNX_ADD_INST_KMOD_PATH)
|
---|
[43323] | 292 |
|
---|
[24440] | 293 | INSTALLS += GuestDrivers-src
|
---|
[38178] | 294 | GuestDrivers-src_INST = $(INST_ADDITIONS)src/
|
---|
[24440] | 295 | GuestDrivers-src_MODE = a+r,u+w
|
---|
| 296 | GuestDrivers-src_SOURCES = Makefile
|
---|
| 297 |
|
---|
| 298 |
|
---|
[31637] | 299 | INSTALLS += lnx_add_inst-exec
|
---|
[63889] | 300 | lnx_add_inst-exec_INST = $(VBOX_LNX_ADD_INST_OTHER_DIR)
|
---|
[38178] | 301 | lnx_add_inst-exec_INSTTYPE = stage
|
---|
[38194] | 302 | lnx_add_inst-exec_EXEC_SOURCES = \
|
---|
[24440] | 303 | $(VBOX_REL_X11_ADD_INST)98vboxadd-xclient \
|
---|
[64718] | 304 | $(VBOX_REL_X11_ADD_INST)x11config.sh \
|
---|
| 305 | $(VBOX_REL_LNX_INST_SRC)check_module_dependencies.sh
|
---|
[22962] | 306 |
|
---|
| 307 |
|
---|
[31637] | 308 | INSTALLS += lnx_add_inst-noexec
|
---|
[63889] | 309 | lnx_add_inst-noexec_INST = $(VBOX_LNX_ADD_INST_OTHER_DIR)
|
---|
[38178] | 310 | lnx_add_inst-noexec_INSTTYPE = stage
|
---|
| 311 | lnx_add_inst-noexec_SOURCES = \
|
---|
[24440] | 312 | $(VBOX_REL_X11_ADD_INST)vboxclient.desktop \
|
---|
| 313 | $(VBOX_REL_X11_ADD_INST)vboxvideo.ids \
|
---|
[44263] | 314 | $(if $(VBOX_WITH_LIGHTDM_GREETER_PACKING),lightdm-greeter/vbox-greeter.desktop,) \
|
---|
[37104] | 315 | selinux-fedora/vbox_x11.pp \
|
---|
[44263] | 316 | selinux-fedora/vbox_accel.pp
|
---|
[22962] | 317 |
|
---|
[34706] | 318 | INSTALLS += lnx_add_inst-license
|
---|
[38178] | 319 | lnx_add_inst-license_INST = $(VBOX_LNX_ADD_INST_OUT_DIR)
|
---|
| 320 | lnx_add_inst-license_INSTTYPE = stage
|
---|
| 321 | lnx_add_inst-license_SOURCES = \
|
---|
[34706] | 322 | $(VBOX_BRAND_LICENSE_TXT)=>LICENSE
|
---|
[24361] | 323 |
|
---|
[15816] | 324 |
|
---|
[31637] | 325 | #
|
---|
| 326 | # We need our routines.sh and the uninstallation scripts in the staging
|
---|
| 327 | # directory too
|
---|
| 328 | #
|
---|
| 329 | INSTALLS += LnxAdd-scripts
|
---|
[38178] | 330 | LnxAdd-scripts_INST = $(VBOX_LNX_ADD_INST_STAGE_DIR)
|
---|
| 331 | LnxAdd-scripts_INSTTYPE = stage
|
---|
| 332 | LnxAdd-scripts_SOURCES = \
|
---|
[38194] | 333 | $(VBOX_REL_LNX_ADD_INST)deffiles
|
---|
| 334 | LnxAdd-scripts_EXEC_SOURCES = \
|
---|
[63877] | 335 | $(VBOX_REL_LNX_INST_SRC)routines.sh
|
---|
[22962] | 336 |
|
---|
[44907] | 337 | ifdef VBOX_WITH_LIGHTDM_GREETER_PACKING
|
---|
[44905] | 338 | LnxAdd-scripts_EXEC_SOURCES += \
|
---|
[98416] | 339 | $(VBOX_REL_LNX_ADD_INST)module-autologon.sh=>installer/module-autologon
|
---|
[44905] | 340 | endif
|
---|
[22962] | 341 |
|
---|
[24440] | 342 |
|
---|
[31637] | 343 | #
|
---|
| 344 | # And the init scripts
|
---|
| 345 | #
|
---|
| 346 | INSTALLS += LnxAdd-init-scripts
|
---|
[63900] | 347 | LnxAdd-init-scripts_INST = $(VBOX_LNX_ADD_INST_INIT_DIR)
|
---|
| 348 | LnxAdd-init-scripts_INSTTYPE = stage
|
---|
[38196] | 349 | LnxAdd-init-scripts_EXEC_SOURCES = \
|
---|
[24440] | 350 | $(foreach i,$(VBOX_LNX_ADD_INIT), installer/$(i).sh=>$(i))
|
---|
| 351 |
|
---|
[22962] | 352 | # this file needs editing before it can be included in the generic installer.
|
---|
[24440] | 353 | $(VBOX_LNX_ADD_INST_STAGE_DIR)install.sh: \
|
---|
[62831] | 354 | $(VBOX_PATH_LNX_ADD_INST)install.sh.in \
|
---|
[43323] | 355 | $(VBOX_VERSION_STAMP) | $$(dir $$@)
|
---|
[38194] | 356 | $(RM) -f -- $@
|
---|
[22962] | 357 | $(QUIET)$(SED) \
|
---|
[38194] | 358 | -e "s;_VERSION_;$(VBOX_VERSION_STRING);g" \
|
---|
| 359 | -e "s;_BUILDTYPE_;$(KBUILD_TYPE);g" \
|
---|
[39325] | 360 | -e "s;_USERNAME_;$(USERNAME);g" \
|
---|
[38194] | 361 | --output $@ \
|
---|
| 362 | $<
|
---|
| 363 | $(QUIET)$(CHMOD) 0755 $@
|
---|
[32231] | 364 | OTHER_CLEAN += \
|
---|
[24440] | 365 | $(VBOX_LNX_ADD_INST_OUT_DIR)install.sh \
|
---|
| 366 | $(VBOX_LNX_ADD_INST_STAGE_DIR)install.sh
|
---|
[22962] | 367 |
|
---|
| 368 |
|
---|
[66035] | 369 | #
|
---|
| 370 | # Build test for the Guest Additions kernel modules (kmk check).
|
---|
| 371 | #
|
---|
[76320] | 372 | $(evalcall2 VBOX_LINUX_KMOD_TEST_BUILD_RULE_FN,vboxvideo-src,,)
|
---|
[66035] | 373 |
|
---|
| 374 |
|
---|
[41477] | 375 | include $(FILE_KBUILD_SUB_FOOTER)
|
---|
[12446] | 376 |
|
---|
| 377 |
|
---|
[24361] | 378 | # All the files that go into our archive
|
---|
| 379 | VBOX_LNX_ADD_ARCH_FILES = \
|
---|
[38158] | 380 | $(lnx_add_inst-noexec_2_STAGE_TARGETS) \
|
---|
| 381 | $(lnx_add_inst-exec_2_STAGE_TARGETS) \
|
---|
| 382 | $(lnx_add_inst-license_2_STAGE_TARGETS) \
|
---|
[38162] | 383 | $(VBOX_LNX_ADD_INST_FILES) \
|
---|
[68044] | 384 | $(VBOX_LNX_ADD_INST_KMOD_DIR_BASE)
|
---|
[24361] | 385 |
|
---|
[68044] | 386 | VBOX_LNX_ADD_INST_ARCH_DEPS := \
|
---|
| 387 | $(VBOX_LNX_ADD_ARCH_FILES) \
|
---|
| 388 | $(VBOX_LNX_ADD_INST_DEP_ON_MAKEFILE) \
|
---|
| 389 | $(VBOX_VERSION_STAMP) \
|
---|
| 390 | $(VBOX_LNX_ADD_INST_FILES_VBOXGUEST) \
|
---|
| 391 | $(VBOX_LNX_ADD_INST_FILES_VBOXSF) \
|
---|
| 392 | $(VBOX_LNX_ADD_INST_FILES_VBOXVIDEO)
|
---|
| 393 |
|
---|
[1] | 394 | #
|
---|
[24361] | 395 | # .tar.bz2 for converting into .run
|
---|
| 396 | #
|
---|
[31129] | 397 | $(VBOX_LNX_ADD_ARCHIVE.$(KBUILD_TARGET_ARCH)): \
|
---|
[68044] | 398 | $(VBOX_LNX_ADD_INST_ARCH_DEPS)
|
---|
[24361] | 399 | $(call MSG_L1,Packing $@)
|
---|
[31806] | 400 | $(QUIET)$(RM) -f -- $(wildcard $(dir $@)VBoxGuestAdditions-*r*.tar.bz2)
|
---|
[24361] | 401 | $(QUIET)$(MKDIR) -p $(@D)
|
---|
[39665] | 402 | $(QUIET)$(CHMOD) 0755 $(VBOX_LNX_ADD_ARCH_INST_DIRS)
|
---|
[24361] | 403 | ifdef VBOX_USE_PBZIP2
|
---|
[98433] | 404 | $(QUIET)tar --dereference --owner 0 --group 0 -cRf $(patsubst %.bz2,%,$@) \
|
---|
| 405 | -C $(VBOX_LNX_ADD_INST_OUT_DIR) \
|
---|
| 406 | LICENSE bin init lib other sbin src \
|
---|
| 407 | $(if $(filter $(KBUILD_TYPE),debug),debug)
|
---|
[24361] | 408 | $(QUIET)pbzip2 $(patsubst %.bz2,%,$@)
|
---|
| 409 | else
|
---|
[38466] | 410 | $(QUIET)tar --dereference --owner 0 --group 0 --ignore-failed-read -cjRf $@ \
|
---|
[24361] | 411 | -C $(VBOX_LNX_ADD_INST_OUT_DIR) \
|
---|
[63889] | 412 | LICENSE bin init lib other sbin src \
|
---|
[24952] | 413 | $(if $(filter $(KBUILD_TYPE),debug),debug)
|
---|
[24361] | 414 | endif
|
---|
| 415 | $(QUIET)$(CHMOD) 0644 $@
|
---|
| 416 |
|
---|
| 417 |
|
---|
| 418 | #
|
---|
[24835] | 419 | # .tar.bz2 containing the debug information
|
---|
| 420 | #
|
---|
[38082] | 421 | $(PATH_STAGE_BIN)/additions/VBoxGuestAdditions-dbg.tar.bz2: \
|
---|
[24835] | 422 | $(VBOX_LNX_ADD_DBG_FILES) \
|
---|
| 423 | $(VBOX_LNX_ADD_INST_DEP_ON_MAKEFILE)
|
---|
| 424 | $(call MSG_L1,Packing $@)
|
---|
| 425 | $(QUIET)$(RM) -f -- $@ $(patsubst %.bz2,%,$@)
|
---|
| 426 | $(QUIET)$(MKDIR) -p $(@D)
|
---|
[39663] | 427 | $(QUIET)$(CHMOD) 0755 $(VBOX_LNX_ADD_DBG_DIRS)
|
---|
[24835] | 428 | ifdef VBOX_USE_PBZIP2
|
---|
[98433] | 429 | $(QUIET)tar --dereference --owner 0 --group 0 -cRf $(patsubst %.bz2,%,$@) \
|
---|
| 430 | -C $(VBOX_LNX_ADD_INST_DBG_DIR) \
|
---|
| 431 | bin lib sbin
|
---|
[24835] | 432 | $(QUIET)pbzip2 $(patsubst %.bz2,%,$@)
|
---|
| 433 | else
|
---|
[38466] | 434 | $(QUIET)tar --dereference --owner 0 --group 0 --ignore-failed-read -cjRf $@ \
|
---|
[24835] | 435 | -C $(VBOX_LNX_ADD_INST_DBG_DIR) \
|
---|
| 436 | bin lib sbin
|
---|
| 437 | endif
|
---|
| 438 | $(QUIET)$(CHMOD) 0644 $@
|
---|
| 439 |
|
---|
| 440 |
|
---|
| 441 | #
|
---|
[1] | 442 | # Build the Linux Guest Additions self extracting installer.
|
---|
| 443 | #
|
---|
[7126] | 444 | # Note that $(PATH_SUB_CURRENT) was changed by subfooter.kmk above and
|
---|
[6757] | 445 | # any references should be made via variables assigned a know value via := .
|
---|
| 446 | #
|
---|
[38082] | 447 | $(PATH_STAGE_BIN)/additions/VBoxLinuxAdditions.run: \
|
---|
[31129] | 448 | $(VBOX_LNX_ADD_ARCHIVES) \
|
---|
[24440] | 449 | $(VBOX_LNX_ADD_INST_STAGE_DIR)install.sh \
|
---|
[38158] | 450 | $$(LnxAdd-scripts_2_STAGE_TARGETS) \
|
---|
[1] | 451 | $(VBOX_VERSION_STAMP)
|
---|
[98416] | 452 | # Remove any archives left over from previous builds so that they don't
|
---|
| 453 | # end up in our installer as well.
|
---|
[31143] | 454 | $(QUIET)$(RM) -f $(foreach file, $(wildcard $(VBOX_LNX_ADD_INST_STAGE_DIR)$(VBOX_LNX_ADD_PACKAGE_NAME)-*.tar.bz2), $(file))
|
---|
[31133] | 455 | $(QUIET)$(foreach file, $(VBOX_LNX_ADD_ARCHIVES), \
|
---|
| 456 | $(CP) -f $(file) $(VBOX_LNX_ADD_INST_STAGE_DIR)$(subst -r$(VBOX_SVN_REV),,$(notdir $(file)))$(NLTAB) )
|
---|
[96490] | 457 | $(QUIET)$(VBOX_MAKESELF) --nocomp $(if $(VBOX_OSE),,--tar-no-format) $(VBOX_LNX_ADD_INST_STAGE_DIR) $@ \
|
---|
[24361] | 458 | "VirtualBox $(VBOX_VERSION_STRING) Guest Additions for Linux" \
|
---|
[77306] | 459 | /bin/sh ./install.sh "\$$0"
|
---|