Makefile.kmk revision f6cc81e94c29cc9b39b896cf32ecfe0501b4a1e5
af062818b47340eef15700d2f0211576ba3506eevboxsync# $Id$
af062818b47340eef15700d2f0211576ba3506eevboxsync## @file
af062818b47340eef15700d2f0211576ba3506eevboxsync# Makefile for the Solaris guest additions base directory.
af062818b47340eef15700d2f0211576ba3506eevboxsync#
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#
af062818b47340eef15700d2f0211576ba3506eevboxsync# Copyright (C) 2008 innotek GmbH
af062818b47340eef15700d2f0211576ba3506eevboxsync#
af062818b47340eef15700d2f0211576ba3506eevboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
af062818b47340eef15700d2f0211576ba3506eevboxsync# available from http://www.virtualbox.org. This file is free software;
af062818b47340eef15700d2f0211576ba3506eevboxsync# you can redistribute it and/or modify it under the terms of the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync# General Public License (GPL) as published by the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
af062818b47340eef15700d2f0211576ba3506eevboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
af062818b47340eef15700d2f0211576ba3506eevboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
af062818b47340eef15700d2f0211576ba3506eevboxsync#
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncDEPTH ?= ../../../..
af062818b47340eef15700d2f0211576ba3506eevboxsyncSUB_DEPTH = ..
af062818b47340eef15700d2f0211576ba3506eevboxsyncinclude $(PATH_KBUILD)/subheader.kmk
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncifneq ($(BUILD_PLATFORM),solaris)
af062818b47340eef15700d2f0211576ba3506eevboxsync$(error "The Solaris guest additions installer can only be built on Solaris!")
af062818b47340eef15700d2f0211576ba3506eevboxsyncendif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncPKGFILENAME := VBoxSolarisAdditions
af062818b47340eef15700d2f0211576ba3506eevboxsyncPKGINFO_ARCH = $(shell uname -p)
af062818b47340eef15700d2f0211576ba3506eevboxsyncVBOX_PATH_SOLARIS_ADDITION_INSTALLER := $(PATH_SUB_CURRENT)/Installer
af062818b47340eef15700d2f0211576ba3506eevboxsyncVBOX_PATH_X11_ADDITION_INSTALLER := $(PATH_ROOT)/src/VBox/Additions/x11/installer
af062818b47340eef15700d2f0211576ba3506eevboxsyncSOLARISINSTDIR := $(PATH_TARGET)/install
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncifeq ($(BUILD_TYPE),debug)
af062818b47340eef15700d2f0211576ba3506eevboxsync BIN_COPY := $(CP) -f
af062818b47340eef15700d2f0211576ba3506eevboxsync BIN_COPY_SYMBOLS := $(CP) -f
af062818b47340eef15700d2f0211576ba3506eevboxsyncelse
af062818b47340eef15700d2f0211576ba3506eevboxsync BIN_COPY := /usr/sfw/bin/gobjcopy -S -R .comment
af062818b47340eef15700d2f0211576ba3506eevboxsync BIN_COPY_SYMBOLS := /usr/sfw/bin/gobjcopy -g -R .comment
af062818b47340eef15700d2f0211576ba3506eevboxsyncendif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncPACKING += $(PATH_BIN)/additions/$(PKGFILENAME)
af062818b47340eef15700d2f0211576ba3506eevboxsyncOTHER_CLEAN += $(PACKING)
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncinclude $(PATH_KBUILD)/subfooter.kmk
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync$(PATH_BIN)/additions/VBoxSolarisAdditions: \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(VBOX_VERSION_STAMP) \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/makepackage.sh \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/postinstall.sh \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/preremove.sh \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxguest.pkginfo \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxguest.sh \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxservice.xml \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(VBOX_PATH_X11_ADDITION_INSTALLER)/98vboxadd-xclient \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(VBOX_PATH_X11_ADDITION_INSTALLER)/x11config.pl \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(VBOX_PATH_X11_ADDITION_INSTALLER)/solaris_xorg.conf \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(PATH_BIN)/additions/vboxguest \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(PATH_ROOT)/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.conf \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(PATH_BIN)/additions/VBoxClient \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(PATH_BIN)/additions/VBoxService \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(PATH_BIN)/additions/vboxvideo_drv_13.so \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(PATH_BIN)/additions/vboxvideo_drv_14.so \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(PATH_BIN)/additions/vboxvideo_drv_70.so \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(PATH_BIN)/additions/vboxvideo_drv_71.so \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(PATH_BIN)/additions/vboxmouse_drv_14.so \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(PATH_BIN)/additions/vboxmouse_drv_70.so \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(PATH_BIN)/additions/vboxmouse_drv_71.so \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxdevlink.sed \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(PATH_SUB_CURRENT)/solaris/Makefile.kmk
af062818b47340eef15700d2f0211576ba3506eevboxsync $(call MSG_L1,Installing guest additions)
af062818b47340eef15700d2f0211576ba3506eevboxsync @# Clear out the existing package files if needed
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)rm -rf $(SOLARISINSTDIR)
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(MKDIR) -p $(SOLARISINSTDIR)
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(MKDIR) -p $(SOLARISINSTDIR)/etc
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(SED) \
af062818b47340eef15700d2f0211576ba3506eevboxsync -e "s/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g" \
af062818b47340eef15700d2f0211576ba3506eevboxsync -e "s/@UNAME_P@/$(PKGINFO_ARCH)/g" \
af062818b47340eef15700d2f0211576ba3506eevboxsync --output $(SOLARISINSTDIR)/vboxguest.pkginfo \
af062818b47340eef15700d2f0211576ba3506eevboxsync $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxguest.pkginfo
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/makepackage.sh $(SOLARISINSTDIR)/makepackage.sh
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/postinstall.sh $(SOLARISINSTDIR)/postinstall.sh
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/preremove.sh $(SOLARISINSTDIR)/preremove.sh
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxguest.sh $(SOLARISINSTDIR)/vboxguest.sh
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxservice.xml $(SOLARISINSTDIR)/vboxservice.xml
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_X11_ADDITION_INSTALLER)/98vboxadd-xclient $(SOLARISINSTDIR)/1099.vboxclient
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_X11_ADDITION_INSTALLER)/x11config.pl $(SOLARISINSTDIR)/x11config.pl
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_X11_ADDITION_INSTALLER)/solaris_xorg.conf $(SOLARISINSTDIR)/solaris_xorg.conf
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(INSTALL) -m 0644 $(PATH_ROOT)/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.conf $(SOLARISINSTDIR)/vboxguest.conf
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(CP) -f $(PATH_BIN)/additions/vboxguest $(SOLARISINSTDIR)/vboxguest
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/VBoxClient $(SOLARISINSTDIR)/VBoxClient
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/VBoxService $(SOLARISINSTDIR)/VBoxService
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_13.so $(SOLARISINSTDIR)/vboxvideo_drv_13.so
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_14.so $(SOLARISINSTDIR)/vboxvideo_drv_14.so
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_70.so $(SOLARISINSTDIR)/vboxvideo_drv_70.so
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_71.so $(SOLARISINSTDIR)/vboxvideo_drv_71.so
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxmouse_drv_14.so $(SOLARISINSTDIR)/vboxmouse_drv_14.so
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxmouse_drv_70.so $(SOLARISINSTDIR)/vboxmouse_drv_70.so
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxmouse_drv_71.so $(SOLARISINSTDIR)/vboxmouse_drv_71.so
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_SOLARIS_ADDITION_INSTALLER)/vboxdevlink.sed $(SOLARISINSTDIR)/etc/devlink.tab
af062818b47340eef15700d2f0211576ba3506eevboxsync $(call MSG_L1,Creating install package: $@)
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(SOLARISINSTDIR)/makepackage.sh $(SOLARISINSTDIR) $(PKGFILENAME)
af062818b47340eef15700d2f0211576ba3506eevboxsync $(QUIET)$(INSTALL) -m 0644 $(SOLARISINSTDIR)/$(PKGFILENAME) $(PATH_BIN)/additions/$(PKGFILENAME)
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync