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