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