Makefile.kmk revision 3b3bc8a9383a065307e540b83fc3a3d6c548a082
# $Id$
## @file
# Makefile for the Solaris guest additions base directory.
#
#
# Copyright (C) 2008-2010 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
# General Public License (GPL) as published by the Free Software
# Foundation, in version 2 as it comes in the "COPYING" file of the
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
#
# The contents of this file may alternatively be used under the terms
# of the Common Development and Distribution License Version 1.0
# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
# VirtualBox OSE distribution, in which case the provisions of the
# CDDL are applicable instead of those of the GPL.
#
# You may elect to license modified versions of this file under the
# terms and conditions of either the GPL or the CDDL or both.
#
SUB_DEPTH = ../../../..
include $(KBUILD_PATH)/subheader.kmk
ifneq ($(KBUILD_HOST),solaris)
$(error "The Solaris guest additions installer can only be built on Solaris!")
endif
ifeq ($(KBUILD_HOST),solaris)
include $(PATH_SUB_CURRENT)/SharedFolders/Makefile.kmk
include $(PATH_SUB_CURRENT)/DRM/Makefile.kmk
endif
ifdef VBOX_WITH_COMBINED_SOLARIS_PACKAGE ## @todo remove this when tinderclient.pl is updated.
VBOX_WITH_COMBINED_GUEST_PACKAGE := 1
endif
PKGFILENAME := VBoxSolarisAdditions.pkg
PKGINFO_ARCH = $(shell uname -p)
PKGINFO_REVSTAMP = $(date %Y.%m.%d.%H.%M)
VBOX_PATH_SOLARIS_ADDITION_INSTALLER := $(PATH_SUB_CURRENT)/Installer
VBOX_PATH_X11_ADDITION_INSTALLER := $(PATH_ROOT)/src/VBox/Additions/x11/Installer
SOLARIS_ADDDIR_NAME_64 := amd64
SOLARIS_ADDDIR_NAME_32 := i386
SOLARIS_ADDINST_OUT_DIR := $(PATH_TARGET)/AdditionsInstaller
SOLARIS_VBOXADDINST_SUBDIR := /opt/VirtualBoxAdditions
SOLARIS_VBOXADDINST_DIR := $(SOLARIS_ADDINST_OUT_DIR)$(SOLARIS_VBOXADDINST_SUBDIR)
SOLARIS_VBOXADDINST_DIR_32 := $(SOLARIS_VBOXADDINST_DIR)/$(SOLARIS_ADDDIR_NAME_32)
SOLARIS_VBOXADDINST_DIR_64 := $(SOLARIS_VBOXADDINST_DIR)/$(SOLARIS_ADDDIR_NAME_64)
SOLARIS_ADD_OUT_BIN_64 := $(PATH_OUT_BASE)/solaris.amd64/$(KBUILD_TYPE)/bin/additions
SOLARIS_ADD_OUT_BIN_32 := $(PATH_OUT_BASE)/solaris.x86/$(KBUILD_TYPE)/bin/additions
SOLARIS_ADD_OUT_BIN_ISA := $(PATH_OUT_BASE)/solaris.$(KBUILD_TARGET_ARCH)/$(KBUILD_TYPE)/bin/additions
SOLARIS_ADD_DRIVERINST_DIR := $(SOLARIS_ADDINST_OUT_DIR)/usr/kernel/drv
SOLARIS_ADD_DRIVERINST_DIR_32 := $(SOLARIS_ADD_DRIVERINST_DIR)
SOLARIS_ADD_DRIVERINST_DIR_64 := $(SOLARIS_ADD_DRIVERINST_DIR)/amd64
SOLARIS_ADD_SYSLIBINST_DIR_32 := $(SOLARIS_ADDINST_OUT_DIR)/usr/lib
SOLARIS_ADD_SYSLIBINST_DIR_64 := $(SOLARIS_ADDINST_OUT_DIR)/usr/lib/amd64
SOLARIS_ADD_USRBIN_DIR := $(SOLARIS_ADDINST_OUT_DIR)/usr/bin
SOLARIS_ADD_ETCFS_DIR := $(SOLARIS_ADDINST_OUT_DIR)/etc/fs/vboxfs
SOLARIS_ADD_SERVICESINST_DIR := $(SOLARIS_ADDINST_OUT_DIR)/var/svc/manifest/system/virtualbox
ifeq ($(KBUILD_TARGET_ARCH),x86)
SOLARIS_ADDDIR_NAME_ISA := $(SOLARIS_ADDDIR_NAME_32)
SOLARIS_VBOXADDINST_DIR_ISA := $(SOLARIS_VBOXADDINST_DIR_32)
SOLARIS_ADD_DRIVERINST_DIR_ISA := $(SOLARIS_ADD_DRIVERINST_DIR_32)
SOLARIS_ADD_SYSLIBINST_DIR_ISA := $(SOLARIS_ADD_SYSLIBINST_DIR_32)
else
SOLARIS_ADDDIR_NAME_ISA := $(SOLARIS_ADDDIR_NAME_64)
SOLARIS_VBOXADDINST_DIR_ISA := $(SOLARIS_VBOXADDINST_DIR_64)
SOLARIS_ADD_DRIVERINST_DIR_ISA := $(SOLARIS_ADD_DRIVERINST_DIR_64)
SOLARIS_ADD_SYSLIBINST_DIR_ISA := $(SOLARIS_ADD_SYSLIBINST_DIR_64)
endif
ifeq ($(KBUILD_TYPE),debug)
BIN_COPY := $(CP) -f
BIN_COPY_SYMBOLS := $(CP) -f
else
BIN_COPY := /usr/sfw/bin/gobjcopy -S -R .comment
BIN_COPY_SYMBOLS := /usr/sfw/bin/gobjcopy -g -R .comment
VBOX_COMPRESS := compress -f
endif
INSTALLS += solaris-addcommon solaris-addcommonbins
PROGRAMS += VBoxAddISAExec
PACKING += $(PATH_STAGE_BIN)/additions/$(PKGFILENAME)
OTHER_CLEAN += $(PACKING) $(SOLARIS_ADDINST_OUT_DIR)/$(PKGFILENAME)
#
# VBoxAddISAExec
#
VBoxAddISAExec_TEMPLATE = VBOXR3EXE
VBoxAddISAExec_NAME = VBoxISAExec
VBoxAddISAExec_INST = $(INST_ADDITIONS)
VBoxAddISAExec_DEPS = $(VBOX_SVN_REV_KMK)
VBoxAddISAExec_SOURCES = $(PATH_ROOT)/src/VBox/Installer/solaris/VBoxISAExec.c
#
# Install to $(PATH_STAGE_BIN)/additions/ files from various source paths (to pack them using rules)
#
solaris-addcommonbins_INST = bin/additions/
solaris-addcommonbins_MODE = a+rx,u+w
solaris-addcommonbins_SOURCES = \
$(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxguest.sh \
$(VBOX_PATH_X11_ADDITION_INSTALLER)/x11config.pl \
$(VBOX_PATH_X11_ADDITION_INSTALLER)/x11config15sol.pl \
$(VBOX_PATH_X11_ADDITION_INSTALLER)/x11restore.pl \
$(VBOX_PATH_X11_ADDITION_INSTALLER)/98vboxadd-xclient=>1099.vboxclient \
$(VBOX_PATH_X11_ADDITION_INSTALLER)/solaris_xorg.conf \
$(VBOX_PATH_X11_ADDITION_INSTALLER)/solaris_xorg_modeless.conf \
$(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/VBox.sh
solaris-addcommon_INST = bin/additions/
solaris-addcommon_MODE = a+r,u+w
solaris-addcommon_SOURCES = \
$(PATH_ROOT)/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.conf=>vboxguest.conf \
$(VBOX_PATH_X11_ADDITION_INSTALLER)/vboxclient.desktop \
$(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxservice.xml \
$(VBOX_BRAND_LICENSE_TXT)=>LICENSE
#
# Create full directory tree
#
BLDDIRS += \
$(SOLARIS_ADDINST_OUT_DIR) \
$(addprefix $(SOLARIS_ADDINST_OUT_DIR)/,\
opt \
opt/VirtualBoxAdditions \
opt/VirtualBoxAdditions/$(SOLARIS_ADDDIR_NAME_32) \
opt/VirtualBoxAdditions/$(SOLARIS_ADDDIR_NAME_64) \
usr \
usr/bin \
usr/lib \
usr/lib/amd64 \
usr/kernel \
usr/kernel/drv \
usr/kernel/drv/amd64 \
var \
var/svc \
var/svc/manifest \
var/svc/manifest/system \
var/svc/manifest/system/virtualbox \
)
SOLARIS_ADD_STRIP_BINS = \
VBoxClient \
VBoxService \
VBoxControl \
vboxfsmount \
vboxfs \
$(if ($VBOX_WITH_PAM),pam_vbox.so,) \
$(if $(VBOX_OSE),,vboxfs_s10)
SOLARIS_ADD_SYSLIBS = \
VBoxOGL.so \
VBoxOGLcrutil.so \
VBoxOGLfeedbackspu.so \
VBoxOGLpassthroughspu.so \
VBoxOGLarrayspu.so \
VBoxOGLerrorspu.so \
VBoxOGLpackspu.so
SOLARIS_ADD_DRIVERS = \
vboxguest
SOLARIS_ADD_DRIVERS_CONF = \
vboxguest.conf
SOLARIS_ADD_XORG_DRIVERS = \
vboxmouse_drv_13.so \
vboxmouse_drv_14.so \
vboxmouse_drv_15.so \
vboxmouse_drv_16.so \
vboxmouse_drv_17.so \
vboxmouse_drv_18.so \
vboxmouse_drv_19.so \
vboxmouse_drv_110.so \
vboxmouse_drv_70.so \
vboxmouse_drv_71.so \
vboxvideo_drv_13.so \
vboxvideo_drv_14.so \
vboxvideo_drv_15.so \
vboxvideo_drv_16.so \
vboxvideo_drv_17.so \
vboxvideo_drv_18.so \
vboxvideo_drv_19.so \
vboxvideo_drv_110.so \
vboxvideo_drv_70.so \
vboxvideo_drv_71.so
SOLARIS_ADD_COMMON_BINS = \
vboxguest.sh \
x11config.pl \
x11config15sol.pl \
x11restore.pl \
VBox.sh \
1099.vboxclient \
VBoxISAExec
SOLARIS_ADD_USRBIN_LINKS = \
VBoxService \
VBoxClient \
VBoxControl
SOLARIS_ADD_COMMON = \
vboxclient.desktop \
solaris_xorg.conf \
solaris_xorg_modeless.conf \
LICENSE
SOLARIS_ADD_SERVICES = \
vboxservice.xml
ifdef VBOX_COMPRESS
SOLARIS_ADD_COMPRESS_FILES = \
$(SOLARIS_ADD_XORG_DRIVERS) \
VBoxService \
VBoxClient \
VBoxControl
endif
ifdef VBOX_WITH_COMBINED_SOLARIS_GUEST_PACKAGE
SOLARIS_ARCH_ADD_DEPFILES = \
$(addprefix $(SOLARIS_VBOXADDINST_DIR_64)/,$(SOLARIS_ADD_STRIP_BINS)) \
$(addprefix $(SOLARIS_ADD_SYSLIBINST_DIR_32)/,$(SOLARIS_ADD_SYSLIBS)) \
$(addprefix $(SOLARIS_ADD_DRIVERINST_DIR_64)/,$(SOLARIS_ADD_DRIVERS)) \
$(addprefix $(SOLARIS_VBOXADDINST_DIR_64)/,$(SOLARIS_ADD_XORG_DRIVERS)) \
$(addprefix $(SOLARIS_VBOXADDINST_DIR_32)/,$(SOLARIS_ADD_STRIP_BINS)) \
$(addprefix $(SOLARIS_ADD_DRIVERINST_DIR_32)/,$(SOLARIS_ADD_DRIVERS)) \
$(addprefix $(SOLARIS_ADD_DRIVERINST_DIR)/,$(SOLARIS_ADD_DRIVERS_CONF)) \
$(addprefix $(SOLARIS_VBOXADDINST_DIR_32)/,$(SOLARIS_ADD_XORG_DRIVERS))
else
SOLARIS_ARCH_ADD_DEPFILES = \
$(addprefix $(SOLARIS_VBOXADDINST_DIR_ISA)/,$(SOLARIS_ADD_STRIP_BINS)) \
$(addprefix $(SOLARIS_ADD_SYSLIBINST_DIR_ISA)/,$(SOLARIS_ADD_SYSLIBS)) \
$(addprefix $(SOLARIS_ADD_DRIVERINST_DIR_ISA)/,$(SOLARIS_ADD_DRIVERS)) \
$(addprefix $(SOLARIS_ADD_DRIVERINST_DIR)/,$(SOLARIS_ADD_DRIVERS_CONF)) \
$(addprefix $(SOLARIS_VBOXADDINST_DIR_ISA)/,$(SOLARIS_ADD_XORG_DRIVERS))
endif
SOLARIS_ARCH_ADD_DEPFILES += \
$(addprefix $(SOLARIS_VBOXADDINST_DIR)/,$(SOLARIS_ADD_COMMON_BINS)) \
$(addprefix $(SOLARIS_VBOXADDINST_DIR)/,$(SOLARIS_ADD_COMMON)) \
$(addprefix $(SOLARIS_ADD_SERVICESINST_DIR)/,$(SOLARIS_ADD_SERVICES)) \
$(addprefix $(SOLARIS_ADD_USRBIN_DIR)/,$(SOLARIS_ADD_USRBIN_LINKS))
include $(KBUILD_PATH)/subfooter.kmk
#
# -=-=-=-=-=-=-=- Additions package -=-=-=-=-=-=-=-
#
$(PATH_STAGE_BIN)/additions/$(PKGFILENAME): \
$(VBOX_VERSION_STAMP) \
$(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/makepackage.sh \
$(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/postinstall.sh \
$(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/preremove.sh \
$(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxguest.pkginfo \
$(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxguest.depend \
$(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxguest.sh \
$(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxservice.xml \
$(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/VBox.sh \
$(VBOX_PATH_X11_ADDITION_INSTALLER)/98vboxadd-xclient \
$(VBOX_PATH_X11_ADDITION_INSTALLER)/x11config.pl \
$(VBOX_PATH_X11_ADDITION_INSTALLER)/x11config15sol.pl \
$(VBOX_PATH_X11_ADDITION_INSTALLER)/x11restore.pl \
$(VBOX_PATH_X11_ADDITION_INSTALLER)/solaris_xorg.conf \
$(VBOX_PATH_X11_ADDITION_INSTALLER)/solaris_xorg_modeless.conf \
$(VBOX_BRAND_LICENSE_TXT) \
$(PATH_ROOT)/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.conf \
$(PATH_SUB_CURRENT)/solaris/Makefile.kmk \
$(SOLARIS_ARCH_ADD_DEPFILES)
$(call MSG_L1,Installing guest additions)
$(QUIET)$(SED) \
-e "s/@VBOX_PRODUCT@/$(VBOX_PRODUCT)/g" \
-e "s/@VBOX_VENDOR@/$(VBOX_VENDOR)/g" \
-e "s/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g" \
-e "s/@VBOX_SVN_REV@/$(VBOX_SVN_REV)/g" \
-e "s/@VBOX_VERSION_REVSTAMP@/$(PKGINFO_REVSTAMP)/g" \
-e "s/@UNAME_P@/$(PKGINFO_ARCH)/g" \
--output $(SOLARIS_ADDINST_OUT_DIR)/vboxguest.pkginfo \
$(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxguest.pkginfo
$(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/makepackage.sh $(SOLARIS_ADDINST_OUT_DIR)/makepackage.sh
$(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/postinstall.sh $(SOLARIS_ADDINST_OUT_DIR)/postinstall.sh
$(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/preremove.sh $(SOLARIS_ADDINST_OUT_DIR)/preremove.sh
$(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxguest.space $(SOLARIS_ADDINST_OUT_DIR)/vboxguest.space
$(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxguest.depend $(SOLARIS_ADDINST_OUT_DIR)/vboxguest.depend
# don't display the license on package install, since 4.0
#$(QUIET)$(INSTALL) -m 0644 $(VBOX_BRAND_LICENSE_TXT) $(SOLARIS_ADDINST_OUT_DIR)/vboxguest.copyright
$(call MSG_L1,Creating install package: $@)
$(QUIET)$(MKDIR) -p $(SOLARIS_ADD_ETCFS_DIR)
$(QUIET)$(LN_SYMLINK) -f ../..$(SOLARIS_VBOXADDINST_SUBDIR)/1099.vboxclient $(SOLARIS_ADD_USRBIN_DIR)/VBoxClient-all
ifdef VBOX_WITH_COMBINED_SOLARIS_GUEST_PACKAGE
ifdef VBOX_COMPRESS
$(QUIET)$(VBOX_COMPRESS) $(addprefix $(SOLARIS_VBOXADDINST_DIR_32)/,$(SOLARIS_ADD_COMPRESS_FILES))
$(QUIET)$(VBOX_COMPRESS) $(addprefix $(SOLARIS_VBOXADDINST_DIR_64)/,$(SOLARIS_ADD_COMPRESS_FILES))
endif
$(QUIET)$(LN_SYMLINK) -f ../../..$(SOLARIS_VBOXADDINST_SUBDIR)/$(SOLARIS_ADDDIR_NAME_32)/vboxfsmount $(SOLARIS_ADD_ETCFS_DIR)/mount
else # !VBOX_WITH_COMBINED_SOLARIS_GUEST_PACKAGE
ifdef VBOX_COMPRESS
$(QUIET)$(VBOX_COMPRESS) $(addprefix $(SOLARIS_VBOXADDINST_DIR_ISA)/,$(SOLARIS_ADD_COMPRESS_FILES))
endif
$(LN_SYMLINK) -f ../../..$(SOLARIS_VBOXADDINST_SUBDIR)/$(SOLARIS_ADDDIR_NAME_ISA)/vboxfsmount $(SOLARIS_ADD_ETCFS_DIR)/mount
endif
$(QUIET)$(SOLARIS_ADDINST_OUT_DIR)/makepackage.sh $(SOLARIS_ADDINST_OUT_DIR) $(PKGFILENAME) $(VBOX_SVN_REV)
$(QUIET)$(INSTALL) -m 0644 $(SOLARIS_ADDINST_OUT_DIR)/$(PKGFILENAME) $(PATH_STAGE_BIN)/additions/$(PKGFILENAME)
$(QUIET)$(RM) -f $(SOLARIS_ADDINST_OUT_DIR)/$(PKGFILENAME)
#
# -=-=-=-=-=-=-=- Package rules -=-=-=-=-=-=-=-
#
#
# 32-bit files
#
$(addprefix $(SOLARIS_VBOXADDINST_DIR_32)/,$(SOLARIS_ADD_STRIP_BINS)): \
$(SOLARIS_VBOXADDINST_DIR_32)/% : $(SOLARIS_ADD_OUT_BIN_32)/% | $$(dir $$@)
$(INSTALL) -m 0755 $(if $(VBOX_DO_STRIP),-s,) $< $@
$(addprefix $(SOLARIS_ADD_SYSLIBINST_DIR_32)/,$(SOLARIS_ADD_SYSLIBS)): \
$(SOLARIS_ADD_SYSLIBINST_DIR_32)/% : $(SOLARIS_ADD_OUT_BIN_32)/% | $$(dir $$@)
$(INSTALL) -m 0644 $(if $(VBOX_DO_STRIP),-s,) $< $@
$(addprefix $(SOLARIS_ADD_DRIVERINST_DIR_32)/,$(SOLARIS_ADD_DRIVERS)): \
$(SOLARIS_ADD_DRIVERINST_DIR_32)/% : $(SOLARIS_ADD_OUT_BIN_32)/% | $$(dir $$@)
$(INSTALL) -m 0644 $< $@
$(addprefix $(SOLARIS_VBOXADDINST_DIR_32)/,$(SOLARIS_ADD_XORG_DRIVERS)): \
$(SOLARIS_VBOXADDINST_DIR_32)/% : $(SOLARIS_ADD_OUT_BIN_32)/% | $$(dir $$@)
$(BIN_COPY) $< $@
#
# 64-bit files
#
$(addprefix $(SOLARIS_VBOXADDINST_DIR_64)/,$(SOLARIS_ADD_STRIP_BINS)): \
$(SOLARIS_VBOXADDINST_DIR_64)/% : $(SOLARIS_ADD_OUT_BIN_64)/% | $$(dir $$@)
$(INSTALL) -m 0755 $(if $(VBOX_DO_STRIP),-s,) $< $@
$(addprefix $(SOLARIS_ADD_SYSLIBINST_DIR_64)/,$(SOLARIS_ADD_SYSLIBS)): \
$(SOLARIS_ADD_SYSLIBINST_DIR_64)/% : $(SOLARIS_ADD_OUT_BIN_64)/% | $$(dir $$@)
$(INSTALL) -m 0644 $(if $(VBOX_DO_STRIP),-s,) $< $@
$(addprefix $(SOLARIS_ADD_DRIVERINST_DIR_64)/,$(SOLARIS_ADD_DRIVERS)): \
$(SOLARIS_ADD_DRIVERINST_DIR_64)/% : $(SOLARIS_ADD_OUT_BIN_64)/% | $$(dir $$@)
$(INSTALL) -m 0644 $< $@
$(addprefix $(SOLARIS_VBOXADDINST_DIR_64)/,$(SOLARIS_ADD_XORG_DRIVERS)): \
$(SOLARIS_VBOXADDINST_DIR_64)/% : $(SOLARIS_ADD_OUT_BIN_64)/% | $$(dir $$@)
$(BIN_COPY) $< $@
#
# Common files
#
$(addprefix $(SOLARIS_VBOXADDINST_DIR)/,$(SOLARIS_ADD_COMMON)): \
$(SOLARIS_VBOXADDINST_DIR)/% : $(SOLARIS_ADD_OUT_BIN_ISA)/% | $$(dir $$@)
$(INSTALL) -m 0644 $< $@
#
# Common binaries/shell scripts
#
$(addprefix $(SOLARIS_VBOXADDINST_DIR)/,$(SOLARIS_ADD_COMMON_BINS)): \
$(SOLARIS_VBOXADDINST_DIR)/% : $(SOLARIS_ADD_OUT_BIN_ISA)/% | $$(dir $$@)
$(INSTALL) -m 0755 $< $@
#
# Driver .conf files
#
$(addprefix $(SOLARIS_ADD_DRIVERINST_DIR)/,$(SOLARIS_ADD_DRIVERS_CONF)): \
$(SOLARIS_ADD_DRIVERINST_DIR)/% : $(SOLARIS_ADD_OUT_BIN_ISA)/% | $$(dir $$@)
$(INSTALL) -m 0644 $< $@
#
# SMF Service files
#
$(addprefix $(SOLARIS_ADD_SERVICESINST_DIR)/,$(SOLARIS_ADD_SERVICES)): \
$(SOLARIS_ADD_SERVICESINST_DIR)/% : $(SOLARIS_ADD_OUT_BIN_ISA)/% | $$(dir $$@)
$(INSTALL) -m 0644 $< $@
#
# Symlinks from /usr/bin/ to /opt/VirtualBoxAdditions
#
$(addprefix $(SOLARIS_ADD_USRBIN_DIR)/,$(SOLARIS_ADD_USRBIN_LINKS)): \
$(SOLARIS_ADD_USRBIN_DIR)/% : % | $$(dir $$@)
$(LN_SYMLINK) -f ../..$(SOLARIS_VBOXADDINST_SUBDIR)/$< $@