# $Id: Makefile.kmk 9279 2008-06-02 05:08:03Z vboxsync $ ## @file # Makefile for the Solaris installer. # # # Copyright (C) 2007-2008 Sun Microsystems, Inc. # # 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. # # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa # Clara, CA 95054 USA or visit http://www.sun.com if you need # additional information or have any questions. # DEPTH = ../../../.. include $(KBUILD_PATH)/header.kmk ifneq ($(KBUILD_HOST),solaris) $(error "The Solaris installer can only be built on Solaris!") # yeah, right. endif # Globals SOLARIS_INST_DIR := $(PATH_TARGET)/install SOLARIS_DBG_DIR := $(PATH_TARGET)/installdbg SOLARIS_VBI_DIR := $(PATH_TARGET)/installvbi SOL_DBG_OBJCOPY := $(CP) -p # Solaris ld/gobjcopy(2.15) don't get along on x86, works only on amd64. So just using cp for now. SOL_OBJCOPY := /usr/sfw/bin/gobjcopy --strip-unneeded -R .comment # Base package PKGINFO_ARCH = $(shell uname -p) PKGINFO_REVSTAMP = $(date %Y.%m.%d.%H.%M) PKG_FILENAME = VirtualBox-$(VBOX_VERSION_STRING)-SunOS-$(KBUILD_TARGET_ARCH)-r$(VBOX_SVN_REV) # Debug package DBG_ARCHIVE = VirtualBoxDebug.tar.bz2 # Kernel interface (vbi) package VBIPKG_FILENAME = VirtualBoxKern-$(VBOX_VERSION_STRING)-SunOS-r$(VBOX_SVN_REV) # Targets INSTALLS = solaris-doc PACKING = $(PATH_BIN)/$(PKG_FILENAME).tar.gz $(PATH_BIN)/$(DBG_ARCHIVE) OTHER_CLEAN = $(addprefix $(SOLARIS_INST_DIR)/,\ vbox.pkginfo vbox.copyright vbox.space vbox.pkgresponse \ makepackage.sh prototype postinstall.sh preremove.sh etc/devlink.tab ) # # Solaris installs. # solaris-doc_INST = bin/ solaris-doc_MODE = a+r,u+w solaris-doc_SOURCES = \ $(if $(VBOX_OSE),,$(PATH_ROOT)/doc/License.txt=>LICENSE) \ $(PATH_ROOT)/src/VBox/Frontends/VirtualBox/images/$(if $(VBOX_OSE),OSE,NonOSE)/VirtualBox_64px.png=>VBox.png # # Note: Other than the files produced during packing (.pkg, .gzip etc.) all files that # go into the temporary install folder $(SOLARIS_INST_DIR) should be part of $(SOLARIS_ARCH_FILES). # For the files produced during packing they should be cleaned up promptly when the work is done. # Strip these binaries SOLARIS_STRIP_BINS = \ vboxdrv \ VBoxBFE \ VBoxDD.so \ VBoxDD2.so \ VBoxManage \ VBoxREM.so \ VBoxRT.so \ $(if $(VBOX_WITH_VBOXSDL),VBoxSDL,) \ VBoxSVC \ VBoxDDU.so \ VBoxVMM.so \ VBoxXPCOM.so \ VBoxXPCOMIPCD \ $(if $(VBOX_WITH_SHARED_FOLDERS),VBoxSharedFolders.so,) \ $(if $(VBOX_WITH_SHARED_CLIPBOARD),VBoxSharedClipboard.so,) \ $(if $(VBOX_WITH_QTGUI),VBoxKeyboard.so,) \ $(if $(VBOX_WITH_QTGUI),VirtualBox,) \ $(if $(VBOX_WITH_DEBUGGER_GUI),VBoxDbg.so,) \ VBoxSettings.so \ components/VBoxC.so \ components/VBoxSVCM.so \ components/VBoxXPCOMIPCC.so # Do not remove relocation information of these binaries SOLARIS_STRIP_OBJS = \ VBoxDD2GC.gc \ VBoxDD2R0.r0 \ VBoxDDGC.gc \ VBoxDDR0.r0 \ VMMGC.gc \ VMMR0.r0 ifeq ($(KBUILD_TARGET_ARCH),amd64) SOL64_PKG = 1 SOLARIS_STRIP_OBJS += \ VBoxREM2.rel endif # Do not strip anything of these files SOLARIS_NO_STRIP = \ components/VBoxXPCOMBase.xpt \ components/VirtualBox_XPCOM.xpt # Things packed explicitly, not from $(PATH_BIN), track these to clean-up properly SOLARIS_EXTRAS = \ $(if $(VBOX_OSE),,LICENSE) \ $(if $(and $(not $(VBOX_OSE)),$(VBOX_WITH_QTGUI)),License-$(VBOX_LICENSE_VER).html) \ $(if $(VBOX_WITH_QTGUI),qtgcc/lib/libqt-mt.so.3,) \ $(if $(VBOX_WITH_QTGUI),qtgcc/bin/qtconfig,) \ $(if $(VBOX_WITH_QTGUI),virtualbox.desktop,) \ VBox.png \ autoresponse \ vboxdrv.conf \ vboxdrv.sh \ VBox.sh \ vnic_setup.sh \ vnic_term.sh \ vbox.copyright \ ReadMe.txt SOLARIS_NLS = \ $(if $(VBOX_WITH_QTGUI),$(foreach f,\ $(shell $(CAT_EXT) \ $(PATH_ROOT)/src/VBox/Frontends/VirtualBox/nls/ApprovedLanguages.txt),\ nls/VirtualBox_$(f).qm nls/qt_$(f).qm),) SOLARIS_SDK = \ $(foreach f, $(shell $(CAT_EXT) $(if $(VBOX_OSE),sdkfiles.ose,sdkfiles)), $(f)) ifdef VBOX_WITH_DOCS ifndef $(VBOX_OSE) SOLARIS_NO_STRIP += \ UserManual.pdf endif endif ifdef VBOX_WITH_VRDP SOLARIS_STRIP_BINS += \ VBoxVRDP.so # # @todo This later... # SOLARIS_NO_STRIP += \ # rdesktop-vrdp.tar.gz endif ifdef VBOX_WITH_HEADLESS SOLARIS_STRIP_BINS += \ VBoxHeadless endif ifdef VBOX_WITH_WEBSERVICES SOLARIS_STRIP_BINS += \ vboxwebsrv \ webtest endif # Guest Additions SOLARIS_NO_STRIP += \ $(if $(VBOX_OSE),,additions/VBoxGuestAdditions.iso) SOLARIS_ARCH_FILES := \ $(SOLARIS_STRIP_BINS) $(SOLARIS_STRIP_OBJS) $(SOLARIS_NO_STRIP) $(SOLARIS_NLS) $(SOLARIS_SDK) $(SOLARIS_EXTRAS) OTHER_CLEAN += \ $(addprefix $(SOLARIS_INST_DIR)/, $(SOLARIS_ARCH_FILES)) \ $(SOLARIS_INST_DIR)/$(PKG_FILENAME).tar.gz \ $(SOLARIS_INST_DIR)/$(PKG_FILENAME).pkg \ $(addprefix $(SOLARIS_DBG_DIR)/,$(SOLARIS_STRIP_BINS)) \ $(SOLARIS_DBG_DIR)/$(DBG_ARCHIVE) \ $(SOLARIS_VBI_DIR)/$(VBIPKG_FILENAME).tar.gz \ $(SOLARIS_VBI_DIR)/$(VBIPKG_FILENAME).pkg include $(KBUILD_PATH)/footer.kmk ## @todo r=bird: makepackage.sh packing a directory tree, right? So, there is no guarantee that it's not # containing any obsolete files the way packing is performed here. Consider recursivly # invoking $(MAKE) vbox_copy_sdk_files (or similar) to do the copying after $(RM) -Rf the # directory tree. $(PATH_BIN)/$(PKG_FILENAME).tar.gz: \ $(VBOX_VERSION_STAMP) \ makepackage.sh \ postinstall.sh \ preremove.sh \ vbox.pkginfo \ vbox.space \ vbox.pkgresponse \ vboxdevlink.sed \ VBox.sh \ virtualbox.desktop \ $(if $(VBOX_OSE),sdkfiles.ose,sdkfiles) \ $(PATH_ROOT)/doc/ReadMe-Solaris.txt \ Makefile.kmk \ $(if $(VBOX_WITH_SOLARIS_VBI),$(SOLARIS_VBI_DIR)/$(VBIPKG_FILENAME).pkg,) \ $(if $(VBOX_OSE),,$(PATH_ROOT)/doc/License.txt) \ $(if $(VBOX_OSE),,$(PATH_BIN)/LICENSE) \ $(if $(and $(not $(VBOX_OSE)),$(VBOX_WITH_QTGUI)),$(PATH_BIN)/License-$(VBOX_LICENSE_VER).html) \ $(PATH_ROOT)/src/VBox/HostDrivers/Support/solaris/vboxdrv.conf \ $(PATH_ROOT)/src/VBox/Devices/Network/solaris/vnicinit_solaris.sh \ $(PATH_ROOT)/src/VBox/Devices/Network/solaris/vnicterm_solaris.sh \ $(addprefix $(PATH_BIN)/,$(filter-out $(SOLARIS_EXTRAS),$(SOLARIS_ARCH_FILES))) \ $(addprefix $(SOLARIS_INST_DIR)/,$(SOLARIS_SDK)) $(call MSG_L1,Installing binaries $(SOLARIS_INST_DIR)) $(QUIET)$(RM) -f $(addprefix $(SOLARIS_INST_DIR)/,$(filter-out $(SOLARIS_SDK),$(SOLARIS_ARCH_FILES))) $(QUIET)$(MKDIR) -p $(SOLARIS_INST_DIR)/additions $(QUIET)$(MKDIR) -p $(SOLARIS_INST_DIR)/components $(QUIET)$(MKDIR) -p $(SOLARIS_INST_DIR)/etc $(QUIET)$(if $(VBOX_WITH_QTGUI),$(MKDIR) -p $(SOLARIS_INST_DIR)/nls,) $(QUIET)$(if $(VBOX_WITH_QTGUI),$(MKDIR) -p $(SOLARIS_INST_DIR)/sdk,) $(QUIET)$(if $(VBOX_WITH_QTGUI),$(MKDIR) -p $(SOLARIS_INST_DIR)/qtgcc/lib,) $(QUIET)$(if $(VBOX_WITH_QTGUI),$(MKDIR) -p $(SOLARIS_INST_DIR)/qtgcc/bin,) $(QUIET)$(if $(VBOX_OSE),,$(INSTALL) -m 0644 $(PATH_BIN)/additions/VBoxGuestAdditions.iso $(SOLARIS_INST_DIR)/additions/VBoxGuestAdditions.iso) $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/vboxdrv $(SOLARIS_INST_DIR)/vboxdrv $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/VBoxBFE $(SOLARIS_INST_DIR)/VBoxBFE $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/VBoxDD.so $(SOLARIS_INST_DIR)/VBoxDD.so $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/VBoxDD2.so $(SOLARIS_INST_DIR)/VBoxDD2.so $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/VBoxDDU.so $(SOLARIS_INST_DIR)/VBoxDDU.so $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/VBoxManage $(SOLARIS_INST_DIR)/VBoxManage $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/VBoxREM.so $(SOLARIS_INST_DIR)/VBoxREM.so $(QUIET)$(if $(SOL64_PKG),$(INSTALL) -m 0755 $(PATH_BIN)/VBoxREM2.rel $(SOLARIS_INST_DIR)/VBoxREM2.rel,) $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/VBoxVMM.so $(SOLARIS_INST_DIR)/VBoxVMM.so $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/VBoxXPCOM.so $(SOLARIS_INST_DIR)/VBoxXPCOM.so $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/VBoxXPCOMIPCD $(SOLARIS_INST_DIR)/VBoxXPCOMIPCD $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/VBoxSVC $(SOLARIS_INST_DIR)/VBoxSVC $(QUIET)$(if $(VBOX_WITH_SHARED_FOLDERS),$(INSTALL) -m 0644 $(PATH_BIN)/VBoxSharedFolders.so $(SOLARIS_INST_DIR)/VBoxSharedFolders.so,) $(QUIET)$(if $(VBOX_WITH_SHARED_CLIPBOARD),$(INSTALL) -m 0644 $(PATH_BIN)/VBoxSharedClipboard.so $(SOLARIS_INST_DIR)/VBoxSharedClipboard.so,) $(QUIET)$(if $(VBOX_WITH_VBOXSDL),$(INSTALL) -m 0755 $(PATH_BIN)/VBoxSDL $(SOLARIS_INST_DIR)/VBoxSDL,) $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/VBoxRT.so $(SOLARIS_INST_DIR)/VBoxRT.so $(QUIET)$(if $(VBOX_WITH_QTGUI),$(INSTALL) -m 0644 $(PATH_BIN)/VBoxKeyboard.so $(SOLARIS_INST_DIR)/VBoxKeyboard.so,) $(QUIET)$(if $(VBOX_WITH_QTGUI),$(INSTALL) -m 0755 $(PATH_BIN)/VirtualBox $(SOLARIS_INST_DIR)/VirtualBox,) $(QUIET)$(if $(VBOX_WITH_QTGUI),$(INSTALL) -m 0644 $(PATH_DEVTOOLS_TRG)/qt/v3.3.8/lib/libqt-mt.so.3 $(SOLARIS_INST_DIR)/qtgcc/lib/libqt-mt.so.3,) $(QUIET)$(if $(VBOX_WITH_QTGUI),$(INSTALL) -m 0755 $(PATH_DEVTOOLS_TRG)/qt/v3.3.8/bin/qtconfig $(SOLARIS_INST_DIR)/qtgcc/bin/qtconfig,) $(QUIET)$(if $(VBOX_WITH_DEBUGGER_GUI),$(INSTALL) -m 0644 $(PATH_BIN)/VBoxDbg.so $(SOLARIS_INST_DIR)/VBoxDbg.so,) $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/VBoxSettings.so $(SOLARIS_INST_DIR)/VBoxSettings.so $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/components/VBoxC.so $(SOLARIS_INST_DIR)/components/VBoxC.so $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/components/VBoxSVCM.so $(SOLARIS_INST_DIR)/components/VBoxSVCM.so $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/components/VBoxXPCOMIPCC.so $(SOLARIS_INST_DIR)/components/VBoxXPCOMIPCC.so $(QUIET)$(if $(VBOX_WITH_VRDP),$(INSTALL) -m 0644 $(PATH_BIN)/VBoxVRDP.so $(SOLARIS_INST_DIR)/VBoxVRDP.so,) $(QUIET)$(if $(VBOX_WITH_HEADLESS),$(INSTALL) -m 0755 $(PATH_BIN)/VBoxHeadless $(SOLARIS_INST_DIR)/VBoxHeadless,) $(call MSG_L1,Stripping binaries $(SOLARIS_INST_DIR)) $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/vboxdrv,) $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/VBoxBFE,) $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/VBoxDD2.so,) $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/VBoxDD2.so,) $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/VBoxDDU.so,) $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/VBoxManage,) $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/VBoxREM.so,) $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(SOL64_PKG),strip $(SOLARIS_INST_DIR)/VBoxREM2.rel,),) $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/VBoxVMM.so,) $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/VBoxXPCOM.so,) $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/VBoxXPCOMIPCD,) $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/VBoxSVC,) $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_VBOXSDL),strip $(SOLARIS_INST_DIR)/VBoxSDL,),) $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/VBoxRT.so,) $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_QTGUI),strip $(SOLARIS_INST_DIR)/VBoxKeyboard.so,),) $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_QTGUI),strip $(SOLARIS_INST_DIR)/VirtualBox,),) $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_QTGUI),strip $(SOLARIS_INST_DIR)/qtgcc/lib/libqt-mt.so.3,),) $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_QTGUI),strip $(SOLARIS_INST_DIR)/qtgcc/bin/qtconfig,),) $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_DEBUGGER_GUI),strip $(SOLARIS_INST_DIR)/VBoxDbg.so,),) $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/VBoxSettings.so,) $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/components/VBoxC.so,) $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/components/VBoxSVCM.so,) $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/components/VBoxXPCOMIPCC.so,) $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_VRDP),strip $(SOLARIS_INST_DIR)/VBoxVRDP.so,),) $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_HEADLESS),strip $(SOLARIS_INST_DIR)/VBoxHeadless,),) $(QUIET)$(call MSG_L1,Installing and stripping relocatable objects $(SOLARIS_INST_DIR)) $(QUIET)$(if $(VBOX_DO_STRIP),$(SOL_OBJCOPY) $(PATH_BIN)/VBoxDD2GC.gc $(SOLARIS_INST_DIR)/VBoxDD2GC.gc, $(INSTALL) -m 0755 $(PATH_BIN)/VBoxDD2GC.gc $(SOLARIS_INST_DIR)/VBoxDD2GC.gc) $(QUIET)$(if $(VBOX_DO_STRIP),$(SOL_OBJCOPY) $(PATH_BIN)/VBoxDD2R0.r0 $(SOLARIS_INST_DIR)/VBoxDD2R0.r0, $(INSTALL) -m 0755 $(PATH_BIN)/VBoxDD2R0.r0 $(SOLARIS_INST_DIR)/VBoxDD2R0.r0) $(QUIET)$(if $(VBOX_DO_STRIP),$(SOL_OBJCOPY) $(PATH_BIN)/VBoxDDGC.gc $(SOLARIS_INST_DIR)/VBoxDDGC.gc, $(INSTALL) -m 0755 $(PATH_BIN)/VBoxDDGC.gc $(SOLARIS_INST_DIR)/VBoxDDGC.gc) $(QUIET)$(if $(VBOX_DO_STRIP),$(SOL_OBJCOPY) $(PATH_BIN)/VBoxDDR0.r0 $(SOLARIS_INST_DIR)/VBoxDDR0.r0, $(INSTALL) -m 0755 $(PATH_BIN)/VBoxDDR0.r0 $(SOLARIS_INST_DIR)/VBoxDDR0.r0) $(QUIET)$(if $(VBOX_DO_STRIP),$(SOL_OBJCOPY) $(PATH_BIN)/VMMGC.gc $(SOLARIS_INST_DIR)/VMMGC.gc, $(INSTALL) -m 0755 $(PATH_BIN)/VMMGC.gc $(SOLARIS_INST_DIR)/VMMGC.gc) $(QUIET)$(if $(VBOX_DO_STRIP),$(SOL_OBJCOPY) $(PATH_BIN)/VMMR0.r0 $(SOLARIS_INST_DIR)/VMMR0.r0, $(INSTALL) -m 0755 $(PATH_BIN)/VMMR0.r0 $(SOLARIS_INST_DIR)/VMMR0.r0) $(call MSG_L1,Installing files $(SOLARIS_INST_DIR)) $(QUIET)$(SED) \ -e "s/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g" \ -e "s/@VBOX_VERSION_REVSTAMP@/$(PKGINFO_REVSTAMP)/g" \ -e "s/@UNAME_P@/$(PKGINFO_ARCH)/g" \ --output $(SOLARIS_INST_DIR)/vbox.pkginfo \ $(PATH_CURRENT)/vbox.pkginfo $(QUIET)$(INSTALL) -m 0644 $(PATH_ROOT)/src/VBox/HostDrivers/Support/solaris/vboxdrv.conf $(SOLARIS_INST_DIR)/vboxdrv.conf $(QUIET)$(if $(and $(not $(VBOX_OSE)),$(VBOX_WITH_DOCS)),$(INSTALL) -m 0644 $(PATH_BIN)/UserManual.pdf $(SOLARIS_INST_DIR)/UserManual.pdf,) $(QUIET)$(if $(VBOX_OSE),,$(INSTALL) -m 0644 $(PATH_BIN)/LICENSE $(SOLARIS_INST_DIR)/LICENSE) $(QUIET)$(if $(VBOX_OSE),,$(INSTALL) -m 0644 $(PATH_BIN)/LICENSE $(SOLARIS_INST_DIR)/vbox.copyright) $(QUIET)$(if $(and $(not $(VBOX_OSE)),$(VBOX_WITH_QTGUI)),$(INSTALL) -m 0644 $(PATH_BIN)/License-$(VBOX_LICENSE_VER).html $(SOLARIS_INST_DIR)/License-$(VBOX_LICENSE_VER).html,) $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/components/VBoxXPCOMBase.xpt $(SOLARIS_INST_DIR)/components/VBoxXPCOMBase.xpt $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/components/VirtualBox_XPCOM.xpt $(SOLARIS_INST_DIR)/components/VirtualBox_XPCOM.xpt $(QUIET)$(if $(VBOX_WITH_QTGUI),$(CP) $(foreach f,$(SOLARIS_NLS),$(PATH_BIN)/$(f)) $(SOLARIS_INST_DIR)/nls,) $(QUIET)$(if $(VBOX_WITH_WEBSERVICES),$(INSTALL) -m 0755 $(if $(VBOX_DO_STRIP),-s,) $(PATH_BIN)/vboxwebsrv $(SOLARIS_INST_DIR)/vboxwebsrv,) $(QUIET)$(if $(VBOX_WITH_WEBSERVICES),$(INSTALL) -m 0755 $(if $(VBOX_DO_STRIP),-s,) $(PATH_BIN)/webtest $(SOLARIS_INST_DIR)/webtest,) $(QUIET)$(INSTALL) -m 0755 $(PATH_ROOT)/src/VBox/Devices/Network/solaris/vnicinit_solaris.sh $(SOLARIS_INST_DIR)/vnic_setup.sh $(QUIET)$(INSTALL) -m 0755 $(PATH_ROOT)/src/VBox/Devices/Network/solaris/vnicterm_solaris.sh $(SOLARIS_INST_DIR)/vnic_term.sh $(QUIET)$(INSTALL) -m 0755 $(PATH_CURRENT)/vboxdrv.sh $(SOLARIS_INST_DIR)/vboxdrv.sh $(QUIET)$(INSTALL) -m 0755 $(PATH_CURRENT)/VBox.sh $(SOLARIS_INST_DIR)/VBox.sh $(QUIET)$(if $(VBOX_WITH_QTGUI),$(INSTALL) -m 0644 $(PATH_CURRENT)/virtualbox.desktop $(SOLARIS_INST_DIR)/virtualbox.desktop,) $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/VBox.png $(SOLARIS_INST_DIR)/VBox.png $(QUIET)$(INSTALL) -m 0755 $(PATH_CURRENT)/postinstall.sh $(SOLARIS_INST_DIR)/postinstall.sh $(QUIET)$(INSTALL) -m 0755 $(PATH_CURRENT)/preremove.sh $(SOLARIS_INST_DIR)/preremove.sh $(QUIET)$(INSTALL) -m 0755 $(PATH_CURRENT)/makepackage.sh $(SOLARIS_INST_DIR)/makepackage.sh $(QUIET)$(INSTALL) -m 0644 $(PATH_CURRENT)/vbox.pkgresponse $(SOLARIS_INST_DIR)/autoresponse $(QUIET)$(INSTALL) -m 0644 $(PATH_CURRENT)/vboxdevlink.sed $(SOLARIS_INST_DIR)/etc/devlink.tab $(QUIET)$(INSTALL) -m 0644 $(PATH_CURRENT)/vbox.space $(SOLARIS_INST_DIR)/vbox.space $(QUIET)$(SED) \ -e "s/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g" \ -e "s/@BUILD_TARGET_ARCH@/$(KBUILD_TARGET_ARCH)/g" \ -e "s/@VBOX_SVN_REV@/$(VBOX_SVN_REV)/g" \ --output $(SOLARIS_INST_DIR)/ReadMe.txt \ $(PATH_ROOT)/doc/ReadMe-Solaris.txt $(QUIET)$(if $(VBOX_WITH_SOLARIS_VBI),$(INSTALL) -m 0644 $(SOLARIS_VBI_DIR)/$(VBIPKG_FILENAME).pkg $(SOLARIS_INST_DIR)/$(VBIPKG_FILENAME).pkg,) $(call MSG_L1,Creating install package: $(PKG_FILENAME).tar.gz) $(QUIET)$(SOLARIS_INST_DIR)/makepackage.sh $(SOLARIS_INST_DIR) $(PKG_FILENAME) $(KBUILD_TARGET_ARCH) $(if $(VBOX_WITH_SOLARIS_VBI),$(VBIPKG_FILENAME).pkg,) $(QUIET)$(INSTALL) -m 0644 $(SOLARIS_INST_DIR)/$(PKG_FILENAME).tar.gz $(PATH_BIN) @# Clean up files emitted as side-effect or result of packing $(QUIET)$(RM) -f $(SOLARIS_INST_DIR)/$(PKG_FILENAME).tar.gz $(QUIET)$(RM) -f $(SOLARIS_INST_DIR)/$(PKG_FILENAME).pkg $(QUIET)$(if $(VBOX_WITH_SOLARIS_VBI),$(RM) -f $(SOLARIS_INST_DIR)/$(VBIPKG_FILENAME).pkg,) $(SOLARIS_VBI_DIR)/$(VBIPKG_FILENAME).pkg: \ $(VBOX_VERSION_STAMP) \ $(if $(VBOX_OSE),,$(PATH_ROOT)/doc/License.txt) \ $(if $(VBOX_OSE),,$(PATH_BIN)/LICENSE) \ vbi/vboxkern.pkginfo \ vbi/makepackage.sh \ Makefile.kmk \ $(PATH_ROOT)/src/VBox/Runtime/r0drv/solaris/vbi/32/vbi \ $(PATH_ROOT)/src/VBox/Runtime/r0drv/solaris/vbi/64/vbi $(call MSG_L1,Installing vbi binaries $(SOLARIS_VBI_DIR)) $(QUIET)$(RM) -Rf $(SOLARIS_VBI_DIR) $(QUIET)$(MKDIR) -p $(SOLARIS_VBI_DIR)/amd64 $(QUIET)$(INSTALL) -m 0644 $(PATH_ROOT)/src/VBox/Runtime/r0drv/solaris/vbi/32/vbi $(SOLARIS_VBI_DIR)/vbi $(QUIET)$(INSTALL) -m 0644 $(PATH_ROOT)/src/VBox/Runtime/r0drv/solaris/vbi/64/vbi $(SOLARIS_VBI_DIR)/amd64/vbi $(call MSG_L1,Installing other files $(SOLARIS_VBI_DIR)) $(QUIET)$(SED) \ -e "s/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g" \ -e "s/@VBOX_VERSION_REVSTAMP@/$(PKGINFO_REVSTAMP)/g" \ -e "s/@UNAME_P@/$(PKGINFO_ARCH)/g" \ --output $(SOLARIS_VBI_DIR)/vboxkern.pkginfo \ $(PATH_CURRENT)/vbi/vboxkern.pkginfo $(QUIET)$(if $(VBOX_OSE),,$(INSTALL) -m 0644 $(PATH_BIN)/LICENSE $(SOLARIS_VBI_DIR)/vbox.copyright) $(QUIET)$(INSTALL) -m 0755 $(PATH_CURRENT)/vbi/makepackage.sh $(SOLARIS_VBI_DIR)/makepackage.sh $(call MSG_L1,Creating install package: $(VBIPKG_FILENAME).pkg) $(QUIET)$(SOLARIS_VBI_DIR)/makepackage.sh $(SOLARIS_VBI_DIR) $(VBIPKG_FILENAME) $(PATH_BIN)/$(DBG_ARCHIVE): \ $(VBOX_VERSION_STAMP) \ Makefile.kmk $(call MSG_L1,Installing debug binaries $(SOLARIS_DBG_DIR)) $(QUIET)$(RM) -Rf $(SOLARIS_DBG_DIR) $(QUIET)$(MKDIR) -p $(SOLARIS_DBG_DIR)/components $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/vboxdrv $(SOLARIS_DBG_DIR)/vboxdrv $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxBFE $(SOLARIS_DBG_DIR)/VBoxBFE $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxDD.so $(SOLARIS_DBG_DIR)/VBoxDD.so $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxDD2.so $(SOLARIS_DBG_DIR)/VBoxDD2.so $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxManage $(SOLARIS_DBG_DIR)/VBoxManage $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxREM.so $(SOLARIS_DBG_DIR)/VBoxREM.so $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxRT.so $(SOLARIS_DBG_DIR)/VBoxRT.so $(QUIET)$(if $(VBOX_WITH_VBOXSDL),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxSDL $(SOLARIS_DBG_DIR)/VBoxSDL,) $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxSVC $(SOLARIS_DBG_DIR)/VBoxSVC $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxDDU.so $(SOLARIS_DBG_DIR)/VBoxDDU.so $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxVMM.so $(SOLARIS_DBG_DIR)/VBoxVMM.so $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxXPCOM.so $(SOLARIS_DBG_DIR)/VBoxXPCOM.so $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxXPCOMIPCD $(SOLARIS_DBG_DIR)/VBoxXPCOMIPCD $(QUIET)$(if $(VBOX_WITH_SHARED_FOLDERS),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxSharedFolders.so $(SOLARIS_DBG_DIR)/VBoxSharedFolders.so,) $(QUIET)$(if $(VBOX_WITH_SHARED_CLIPBOARD),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxSharedClipboard.so $(SOLARIS_DBG_DIR)/VBoxSharedClipboard.so,) $(QUIET)$(if $(VBOX_WITH_QTGUI),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxKeyboard.so $(SOLARIS_DBG_DIR)/VBoxKeyboard.so,) $(QUIET)$(if $(VBOX_WITH_QTGUI),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VirtualBox $(SOLARIS_DBG_DIR)/VirtualBox,) $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxSettings.so $(SOLARIS_DBG_DIR)/VBoxSettings.so $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/components/VBoxC.so $(SOLARIS_DBG_DIR)/components/VBoxC.so $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/components/VBoxSVCM.so $(SOLARIS_DBG_DIR)/components/VBoxSVCM.so $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/components/VBoxXPCOMIPCC.so $(SOLARIS_DBG_DIR)/components/VBoxXPCOMIPCC.so $(QUIET)$(if $(VBOX_WITH_VRDP),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxVRDP.so $(SOLARIS_DBG_DIR)/VBoxVRDP.so,) $(QUIET)$(if $(VBOX_WITH_HEADLESS),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxHeadless $(SOLARIS_DBG_DIR)/VBoxHeadless,) $(QUIET)$(if $(VBOX_WITH_DEBUGGER_GUI),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxDbg.so $(SOLARIS_DBG_DIR)/VBoxDbg.so,) $(QUIET)$(if $(VBOX_WITH_WEBSERVICES),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/vboxwebsrv $(SOLARIS_DBG_DIR)/vboxwebsrv,) $(QUIET)$(if $(VBOX_WITH_WEBSERVICES),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/webtest $(SOLARIS_DBG_DIR)/webtest,) $(call MSG_L1,Packing $@) $(QUIET)/usr/sfw/bin/gtar --owner 0 --group 0 -cjRhf $(PATH_BIN)/$(DBG_ARCHIVE) -C $(SOLARIS_DBG_DIR) $(SOLARIS_STRIP_BINS) $(QUIET)chmod 0644 $(PATH_BIN)/$(DBG_ARCHIVE) $(addprefix $(SOLARIS_INST_DIR)/,$(SOLARIS_SDK)): $$(subst $$(SOLARIS_INST_DIR)/,$(PATH_BIN)/,$$@) $(call MSG_L1,Copying $@) $(QUIET)$(MKDIR) -p $(@D) $(QUIET)$(CP) -pf $< $@ # Enable this for forceful incremental re-packaging. Disabled as it's not needed. #.PHONY: $(addprefix $(SOLARIS_INST_DIR)/,$(SOLARIS_SDK)) # $(RM) -Rf $(SOLARISINSTDIR)