Makefile.kmk revision 6989ff2242e85c1d26e367ab5c990822d0f28d6d
1684N/A# $Id$
1684N/A## @file
1684N/A# Makefile for the Solaris guest additions base directory.
1684N/A#
1684N/A
1684N/A#
1684N/A# Copyright (C) 2008 Sun Microsystems, Inc.
1684N/A#
1684N/A# This file is part of VirtualBox Open Source Edition (OSE), as
1684N/A# available from http://www.virtualbox.org. This file is free software;
1684N/A# you can redistribute it and/or modify it under the terms of the GNU
1684N/A# General Public License (GPL) as published by the Free Software
1684N/A# Foundation, in version 2 as it comes in the "COPYING" file of the
1684N/A# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
1684N/A# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
1684N/A#
1684N/A# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
1684N/A# Clara, CA 95054 USA or visit http://www.sun.com if you need
1684N/A# additional information or have any questions.
1684N/A#
1684N/A
1684N/ADEPTH ?= ../../../..
3232N/ASUB_DEPTH = ..
1684N/Ainclude $(KBUILD_PATH)/subheader.kmk
1684N/A
1684N/Aifneq ($(KBUILD_HOST),solaris)
1684N/A$(error "The Solaris guest additions installer can only be built on Solaris!")
1684N/Aendif
1684N/A
1684N/Aifeq ($(KBUILD_HOST),solaris)
1684N/A include $(PATH_SUB_CURRENT)/SharedFolders/Makefile.kmk
1684N/Aendif
1684N/A
1684N/APKGFILENAME := VBoxSolarisAdditions.pkg
1684N/APKGINFO_ARCH = $(shell uname -p)
1684N/APKGINFO_REVSTAMP = $(date %Y.%m.%d.%H.%M)
1684N/AVBOX_PATH_SOLARIS_ADDITION_INSTALLER := $(PATH_SUB_CURRENT)/Installer
1684N/AVBOX_PATH_X11_ADDITION_INSTALLER := $(PATH_ROOT)/src/VBox/Additions/x11/installer
1684N/ASOLARIS_INST_DIR := $(PATH_TARGET)/install
1684N/ASOLARIS_TEMP_DIR := $(PATH_TARGET)/tempinstall
1684N/A
1684N/Aifeq ($(KBUILD_TYPE),debug)
1684N/A BIN_COPY := $(CP) -f
1684N/A BIN_COPY_SYMBOLS := $(CP) -f
1684N/Aelse
1684N/A BIN_COPY := /usr/sfw/bin/gobjcopy -S -R .comment
1684N/A BIN_COPY_SYMBOLS := /usr/sfw/bin/gobjcopy -g -R .comment
1684N/Aendif
1684N/A
1684N/APACKING += $(PATH_BIN)/additions/$(PKGFILENAME)
1684N/AOTHER_CLEAN += $(PACKING)
1684N/A
1684N/Ainclude $(KBUILD_PATH)/subfooter.kmk
1684N/A
1684N/A$(PATH_BIN)/additions/VBoxSolarisAdditions.pkg: \
1684N/A $(VBOX_VERSION_STAMP) \
1684N/A $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/makepackage.sh \
1684N/A $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/postinstall.sh \
1684N/A $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/preremove.sh \
1684N/A $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxguest.pkginfo \
1684N/A $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxguest.sh \
1684N/A $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxservice.xml \
1684N/A $(VBOX_PATH_X11_ADDITION_INSTALLER)/98vboxadd-xclient \
1684N/A $(VBOX_PATH_X11_ADDITION_INSTALLER)/x11config.pl \
1684N/A $(VBOX_PATH_X11_ADDITION_INSTALLER)/x11restore.pl \
1684N/A $(VBOX_PATH_X11_ADDITION_INSTALLER)/solaris_xorg.conf \
1684N/A $(VBOX_PATH_X11_ADDITION_INSTALLER)/VBoxRandR.sh \
1684N/A $(PATH_BIN)/additions/vboxguest \
1684N/A $(PATH_ROOT)/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.conf \
1684N/A $(if $(VBOX_OSE),,$(PATH_ROOT)/doc/License.txt) \
1684N/A $(PATH_BIN)/additions/VBoxClient \
1684N/A $(PATH_BIN)/additions/VBoxService \
1684N/A $(PATH_BIN)/additions/vboxvideo_drv_13.so \
1684N/A $(PATH_BIN)/additions/vboxvideo_drv_14.so \
1684N/A $(PATH_BIN)/additions/vboxvideo_drv_70.so \
1684N/A $(PATH_BIN)/additions/vboxvideo_drv_71.so \
1684N/A $(PATH_BIN)/additions/vboxmouse_drv_14.so \
1684N/A $(PATH_BIN)/additions/vboxmouse_drv_70.so \
1684N/A $(PATH_BIN)/additions/vboxmouse_drv_71.so \
1684N/A $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxdevlink.sed \
1684N/A $(PATH_SUB_CURRENT)/solaris/Makefile.kmk
1684N/A $(call MSG_L1,Installing guest additions)
1684N/A @# Clear out the existing package files if needed
1684N/A $(QUIET)rm -rf $(SOLARIS_INST_DIR)
1684N/A $(QUIET)rm -rf $(SOLARIS_TEMP_DIR)
1684N/A $(QUIET)$(MKDIR) -p $(SOLARIS_INST_DIR)
1684N/A $(QUIET)$(MKDIR) -p $(SOLARIS_INST_DIR)/etc
1684N/A $(QUIET)$(MKDIR) -p $(SOLARIS_TEMP_DIR)
1684N/A $(QUIET)$(SED) \
1684N/A -e "s/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g" \
1684N/A -e "s/@VBOX_VERSION_REVSTAMP@/$(PKGINFO_REVSTAMP)/g" \
1684N/A -e "s/@UNAME_P@/$(PKGINFO_ARCH)/g" \
1684N/A --output $(SOLARIS_INST_DIR)/vboxguest.pkginfo \
1684N/A $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxguest.pkginfo
1684N/A $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/makepackage.sh $(SOLARIS_INST_DIR)/makepackage.sh
1684N/A $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/postinstall.sh $(SOLARIS_INST_DIR)/postinstall.sh
1684N/A $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/preremove.sh $(SOLARIS_INST_DIR)/preremove.sh
1684N/A $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxguest.sh $(SOLARIS_INST_DIR)/vboxguest.sh
1684N/A $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxservice.xml $(SOLARIS_INST_DIR)/vboxservice.xml
1684N/A $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxguest.space $(SOLARIS_INST_DIR)/vboxguest.space
1684N/A $(QUIET)$(if $(VBOX_OSE),,$(INSTALL) -m 0644 $(PATH_ROOT)/doc/License.txt $(SOLARIS_INST_DIR)/vboxguest.copyright)
1684N/A $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_X11_ADDITION_INSTALLER)/vboxclient.desktop $(SOLARIS_INST_DIR)/vboxclient.desktop
1684N/A $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_X11_ADDITION_INSTALLER)/98vboxadd-xclient $(SOLARIS_INST_DIR)/1099.vboxclient
1684N/A $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_X11_ADDITION_INSTALLER)/x11config.pl $(SOLARIS_INST_DIR)/x11config.pl
1684N/A $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_X11_ADDITION_INSTALLER)/x11restore.pl $(SOLARIS_INST_DIR)/x11restore.pl
1684N/A $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_X11_ADDITION_INSTALLER)/solaris_xorg.conf $(SOLARIS_INST_DIR)/solaris_xorg.conf
1684N/A $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_X11_ADDITION_INSTALLER)/VBoxRandR.sh $(SOLARIS_INST_DIR)/VBoxRandR.sh
1684N/A $(QUIET)$(INSTALL) -m 0644 $(PATH_ROOT)/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.conf $(SOLARIS_INST_DIR)/vboxguest.conf
1684N/A $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/additions/vboxguest $(SOLARIS_INST_DIR)/vboxguest
1684N/A @#$(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/vboxguest,)
1684N/A $(QUIET)$(INSTALL) -s -m 0755 $(PATH_BIN)/additions/VBoxClient $(SOLARIS_INST_DIR)/VBoxClient
1684N/A $(QUIET)$(INSTALL) -s -m 0755 $(PATH_BIN)/additions/VBoxService $(SOLARIS_INST_DIR)/VBoxService
1684N/A $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_13.so $(SOLARIS_INST_DIR)/vboxvideo_drv_13.so
1684N/A $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_14.so $(SOLARIS_INST_DIR)/vboxvideo_drv_14.so
1684N/A $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_70.so $(SOLARIS_INST_DIR)/vboxvideo_drv_70.so
1684N/A $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_71.so $(SOLARIS_INST_DIR)/vboxvideo_drv_71.so
1684N/A $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxmouse_drv_14.so $(SOLARIS_INST_DIR)/vboxmouse_drv_14.so
1684N/A $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxmouse_drv_70.so $(SOLARIS_INST_DIR)/vboxmouse_drv_70.so
1684N/A $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxmouse_drv_71.so $(SOLARIS_INST_DIR)/vboxmouse_drv_71.so
1684N/A $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxdevlink.sed $(SOLARIS_INST_DIR)/etc/devlink.tab
1684N/A $(call MSG_L1,Creating install package: $@)
1684N/A $(QUIET)$(SOLARIS_INST_DIR)/makepackage.sh $(SOLARIS_INST_DIR) $(PKGFILENAME) $(KBUILD_TARGET_ARCH)
1684N/A $(QUIET)$(INSTALL) -m 0644 $(SOLARIS_INST_DIR)/$(PKGFILENAME) $(PATH_BIN)/additions/$(PKGFILENAME)
1684N/A
1684N/A