VirtualBox

source: vbox/trunk/src/VBox/Installer/solaris/Makefile.kmk@ 8080

Last change on this file since 8080 was 7864, checked in by vboxsync, 17 years ago

Installer/solaris: fixed building without QT GUI.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 13.3 KB
Line 
1# $Id: Makefile.kmk 7864 2008-04-10 10:45:46Z vboxsync $
2## @file
3# Makefile for the Solaris installer.
4#
5
6#
7# Copyright (C) 2007-2008 innotek GmbH
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.virtualbox.org. This file is free software;
11# you can redistribute it and/or modify it under the terms of the GNU
12# General Public License (GPL) as published by the Free Software
13# Foundation, in version 2 as it comes in the "COPYING" file of the
14# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16#
17
18DEPTH = ../../../..
19include $(PATH_KBUILD)/header.kmk
20
21ifneq ($(BUILD_PLATFORM),solaris)
22$(error "The Solaris installer can only be built on Solaris!") # yeah, right.
23endif
24
25PKGINFO_ARCH = $(shell uname -p)
26PKGFILENAME = VirtualBox-$(VBOX_VERSION_STRING)-SunOS-$(BUILD_TARGET_ARCH)-r$(VBOX_SVN_REV)
27PACKING = $(PATH_BIN)/$(PKGFILENAME).tar.gz
28OTHER_CLEAN = $(addprefix $(PATH_TARGET)/install/,vbox.pkginfo vbox.pkgresponse ReadMe.txt \
29 makepackage.sh vboxdrv vboxdrv.conf prototype \
30 vboxdrv.sh postinstall.sh preremove.sh VBox.sh vnic_setup.sh vnic_term.sh)
31
32INSTALLS = solaris-doc
33
34
35#
36# Solaris installs.
37#
38solaris-doc_INST = bin/
39solaris-doc_MODE = a+r,u+w
40solaris-doc_SOURCES = \
41 $(if $(VBOX_OSE),,$(PATH_ROOT)/doc/License.txt=>LICENSE)
42
43# Strip these binaries
44SOLARISSTRIPBIN = \
45 vboxdrv \
46 VBoxBFE \
47 VBoxDD.so \
48 VBoxDD2.so \
49 VBoxManage \
50 VBoxREM.so \
51 VBoxRT.so \
52 $(if $(VBOX_WITH_VBOXSDL),VBoxSDL,) \
53 VBoxSVC \
54 VBoxDDU.so \
55 VBoxVMM.so \
56 VBoxXPCOM.so \
57 VBoxXPCOMIPCD \
58 $(if $(VBOX_WITH_SHARED_FOLDERS),VBoxSharedFolders.so,) \
59 $(if $(VBOX_WITH_SHARED_CLIPBOARD),VBoxSharedClipboard.so,) \
60 $(if $(VBOX_WITH_QTGUI),VBoxKeyboard.so,) \
61 $(if $(VBOX_WITH_QTGUI),VirtualBox,) \
62 VBoxSettings.so \
63 components/VBoxC.so \
64 components/VBoxSVCM.so \
65 components/VBoxXPCOMIPCC.so
66
67# Do not remove relocation information of these binaries
68SOLARISSTRIPOBJ = \
69 VBoxDD2GC.gc \
70 VBoxDD2R0.r0 \
71 VBoxDDGC.gc \
72 VBoxDDR0.r0 \
73 VMMGC.gc \
74 VMMR0.r0
75
76ifeq ($(BUILD_TARGET_ARCH),amd64)
77SOL64_PKG = 1
78SOLARISSTRIPOBJ += \
79 VBoxREM2.rel
80endif
81
82# Do not strip anything of these files
83SOLARISNOSTRIP = \
84 $(if $(VBOX_OSE),,LICENSE) \
85 $(if $(and $(not $(VBOX_OSE)),$(VBOX_WITH_QTGUI)),License-$(VBOX_LICENSE_VER).html) \
86 components/VBoxXPCOMBase.xpt \
87 components/VirtualBox_XPCOM.xpt
88
89SOLARISNLS = \
90 $(if $(VBOX_WITH_QTGUI),$(foreach f,\
91 $(shell $(CAT_EXT) \
92 $(PATH_ROOT)/src/VBox/Frontends/VirtualBox/nls/ApprovedLanguages.txt),\
93 nls/VirtualBox_$(f).qm nls/qt_$(f).qm),)
94
95ifdef VBOX_WITH_DOCS
96 ifndef $(VBOX_OSE)
97 SOLARISNOSTRIP += \
98 UserManual.pdf
99 endif
100endif
101
102ifdef VBOX_WITH_VRDP
103 SOLARISSTRIPBIN += \
104 VBoxVRDP.so
105
106#
107# @todo This later...
108# SOLARISNOSTRIP += \
109# rdesktop-vrdp.tar.gz
110endif
111
112ifdef VBOX_WITH_HEADLESS
113 SOLARISSTRIPBIN += \
114 VBoxHeadless
115endif
116
117SOLARISARCHFILES := $(SOLARISSTRIPBIN) $(SOLARISSTRIPOBJ) $(SOLARISNOSTRIP) $(SOLARISNLS)
118SOLARISINSTDIR := $(PATH_TARGET)/install
119
120OTHER_CLEAN += $(addprefix $(PATH_TARGET)/install/,$(SOLARISARCHFILES)) \
121 $(SOLARISINSTDIR)/$(PKGFILENAME).tar.gz \
122 $(PATH_BIN)/$(PKGFILENAME).tar.gz
123
124include $(PATH_KBUILD)/footer.kmk
125
126$(PATH_BIN)/$(PKGFILENAME).tar.gz: \
127 $(VBOX_VERSION_STAMP) \
128 makepackage.sh \
129 postinstall.sh \
130 preremove.sh \
131 vbox.pkginfo \
132 vbox.pkgresponse \
133 vboxdevlink.sed \
134 vboxdrv.sh \
135 VBox.sh \
136 $(PATH_ROOT)/doc/ReadMe-Solaris.txt \
137 Makefile.kmk
138 $(call MSG_L1,Installing binaries $(SOLARISINSTDIR))
139 @# Clear out the existing package files if needed
140 $(QUIET)rm -rf $(SOLARISINSTDIR)
141 $(QUIET)$(MKDIR) -p $(SOLARISINSTDIR)/components
142 $(QUIET)$(MKDIR) -p $(SOLARISINSTDIR)/etc
143 $(QUIET)$(if $(VBOX_WITH_QTGUI),$(MKDIR) -p $(SOLARISINSTDIR)/nls,)
144 $(QUIET)$(if $(VBOX_WITH_QTGUI),$(MKDIR) -p $(SOLARISINSTDIR)/qtgcc/lib,)
145 $(QUIET)$(if $(VBOX_WITH_QTGUI),$(MKDIR) -p $(SOLARISINSTDIR)/qtgcc/bin,)
146 $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/vboxdrv $(SOLARISINSTDIR)/vboxdrv
147 $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/VBoxBFE $(SOLARISINSTDIR)/VBoxBFE
148 $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/VBoxDD.so $(SOLARISINSTDIR)/VBoxDD.so
149 $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/VBoxDD2.so $(SOLARISINSTDIR)/VBoxDD2.so
150 $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/VBoxDDU.so $(SOLARISINSTDIR)/VBoxDDU.so
151 $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/VBoxManage $(SOLARISINSTDIR)/VBoxManage
152 $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/VBoxREM.so $(SOLARISINSTDIR)/VBoxREM.so
153 $(QUIET)$(if $(SOL64_PKG),$(INSTALL) -m 0755 $(PATH_BIN)/VBoxREM2.rel $(SOLARISINSTDIR)/VBoxREM2.rel,)
154 $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/VBoxVMM.so $(SOLARISINSTDIR)/VBoxVMM.so
155 $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/VBoxXPCOM.so $(SOLARISINSTDIR)/VBoxXPCOM.so
156 $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/VBoxXPCOMIPCD $(SOLARISINSTDIR)/VBoxXPCOMIPCD
157 $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/VBoxSVC $(SOLARISINSTDIR)/VBoxSVC
158 $(QUIET)$(if $(VBOX_WITH_SHARED_FOLDERS),$(INSTALL) -m 0755 $(PATH_BIN)/VBoxSharedFolders.so $(SOLARISINSTDIR)/VBoxSharedFolders.so,)
159 $(QUIET)$(if $(VBOX_WITH_SHARED_CLIPBOARD),$(INSTALL) -m 0755 $(PATH_BIN)/VBoxSharedClipboard.so $(SOLARISINSTDIR)/VBoxSharedClipboard.so,)
160 $(QUIET)$(if $(VBOX_WITH_VBOXSDL),$(INSTALL) -m 0755 $(PATH_BIN)/VBoxSDL $(SOLARISINSTDIR)/VBoxSDL,)
161 $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/VBoxRT.so $(SOLARISINSTDIR)/VBoxRT.so
162 $(QUIET)$(if $(VBOX_WITH_QTGUI),$(INSTALL) -m 0755 $(PATH_BIN)/VBoxKeyboard.so $(SOLARISINSTDIR)/VBoxKeyboard.so,)
163 $(QUIET)$(if $(VBOX_WITH_QTGUI),$(INSTALL) -m 0755 $(PATH_BIN)/VirtualBox $(SOLARISINSTDIR)/VirtualBox,)
164 $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/VBoxSettings.so $(SOLARISINSTDIR)/VBoxSettings.so
165 $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/components/VBoxC.so $(SOLARISINSTDIR)/components/VBoxC.so
166 $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/components/VBoxSVCM.so $(SOLARISINSTDIR)/components/VBoxSVCM.so
167 $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/components/VBoxXPCOMIPCC.so $(SOLARISINSTDIR)/components/VBoxXPCOMIPCC.so
168 $(QUIET)$(if $(VBOX_WITH_VRDP),$(INSTALL) -m 0755 $(PATH_BIN)/VBoxVRDP.so $(SOLARISINSTDIR)/VBoxVRDP.so,)
169 $(QUIET)$(if $(VBOX_WITH_HEADLESS),$(INSTALL) -m 0755 $(PATH_BIN)/VBoxHeadless $(SOLARISINSTDIR)/VBoxHeadless,)
170 $(call MSG_L1,Stripping binaries $(SOLARISINSTDIR))
171 $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARISINSTDIR)/vboxdrv,)
172 $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARISINSTDIR)/VBoxBFE,)
173 $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARISINSTDIR)/VBoxDD2.so,)
174 $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARISINSTDIR)/VBoxDD2.so,)
175 $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARISINSTDIR)/VBoxDDU.so,)
176 $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARISINSTDIR)/VBoxManage,)
177 $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARISINSTDIR)/VBoxREM.so,)
178 $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(SOL64_PKG),strip $(SOLARISINSTDIR)/VBoxREM2.rel,),)
179 $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARISINSTDIR)/VBoxVMM.so,)
180 $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARISINSTDIR)/VBoxXPCOM.so,)
181 $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARISINSTDIR)/VBoxXPCOMIPCD,)
182 $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARISINSTDIR)/VBoxSVC,)
183 $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_VBOXSDL),strip $(SOLARISINSTDIR)/VBoxSDL,),)
184 $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARISINSTDIR)/VBoxRT.so,)
185 $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_QTGUI),strip $(SOLARISINSTDIR)/VBoxKeyboard.so,),)
186 $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_QTGUI),strip $(SOLARISINSTDIR)/VirtualBox,),)
187 $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARISINSTDIR)/VBoxSettings.so,)
188 $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARISINSTDIR)/components/VBoxC.so,)
189 $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARISINSTDIR)/components/VBoxSVCM.so,)
190 $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARISINSTDIR)/components/VBoxXPCOMIPCC.so,)
191 $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_VRDP),strip $(SOLARISINSTDIR)/VBoxVRDP.so,),)
192 $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_HEADLESS),strip $(SOLARISINSTDIR)/VBoxHeadless,),)
193 $(QUIET)$(call MSG_L1,Installing and stripping relocatable objects $(SOLARISINSTDIR))
194 $(QUIET)$(if $(VBOX_DO_STRIP),/usr/sfw/bin/gobjcopy --strip-unneeded -R .comment $(PATH_BIN)/VBoxDD2GC.gc $(SOLARISINSTDIR)/VBoxDD2GC.gc, $(INSTALL) -m 0755 $(PATH_BIN)/VBoxDD2GC.gc $(SOLARISINSTDIR)/VBoxDD2GC.gc)
195 $(QUIET)$(if $(VBOX_DO_STRIP),/usr/sfw/bin/gobjcopy --strip-unneeded -R .comment $(PATH_BIN)/VBoxDD2R0.r0 $(SOLARISINSTDIR)/VBoxDD2R0.r0, $(INSTALL) -m 0755 $(PATH_BIN)/VBoxDD2R0.r0 $(SOLARISINSTDIR)/VBoxDD2R0.r0)
196 $(QUIET)$(if $(VBOX_DO_STRIP),/usr/sfw/bin/gobjcopy --strip-unneeded -R .comment $(PATH_BIN)/VBoxDDGC.gc $(SOLARISINSTDIR)/VBoxDDGC.gc, $(INSTALL) -m 0755 $(PATH_BIN)/VBoxDDGC.gc $(SOLARISINSTDIR)/VBoxDDGC.gc)
197 $(QUIET)$(if $(VBOX_DO_STRIP),/usr/sfw/bin/gobjcopy --strip-unneeded -R .comment $(PATH_BIN)/VBoxDDR0.r0 $(SOLARISINSTDIR)/VBoxDDR0.r0, $(INSTALL) -m 0755 $(PATH_BIN)/VBoxDDR0.r0 $(SOLARISINSTDIR)/VBoxDDR0.r0)
198 $(QUIET)$(if $(VBOX_DO_STRIP),/usr/sfw/bin/gobjcopy --strip-unneeded -R .comment $(PATH_BIN)/VMMGC.gc $(SOLARISINSTDIR)/VMMGC.gc, $(INSTALL) -m 0755 $(PATH_BIN)/VMMGC.gc $(SOLARISINSTDIR)/VMMGC.gc)
199 $(QUIET)$(if $(VBOX_DO_STRIP),/usr/sfw/bin/gobjcopy --strip-unneeded -R .comment $(PATH_BIN)/VMMR0.r0 $(SOLARISINSTDIR)/VMMR0.r0, $(INSTALL) -m 0755 $(PATH_BIN)/VMMR0.r0 $(SOLARISINSTDIR)/VMMR0.r0)
200 $(call MSG_L1,Installing files $(SOLARISINSTDIR))
201 $(QUIET)$(SED) \
202 -e "s/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g" \
203 -e "s/@UNAME_P@/$(PKGINFO_ARCH)/g" \
204 --output $(SOLARISINSTDIR)/vbox.pkginfo \
205 $(PATH_CURRENT)/vbox.pkginfo
206 $(QUIET)$(INSTALL) -m 0755 $(PATH_ROOT)/src/VBox/HostDrivers/Support/solaris/vboxdrv.conf $(SOLARISINSTDIR)/vboxdrv.conf
207 $(QUIET)$(if $(and $(not $(VBOX_OSE)),$(VBOX_WITH_DOCS)),$(INSTALL) -m 0755 $(PATH_BIN)/UserManual.pdf $(SOLARISINSTDIR)/UserManual.pdf,)
208 $(QUIET)$(if $(VBOX_OSE),,$(INSTALL) -m 0755 $(PATH_BIN)/LICENSE $(SOLARISINSTDIR)/LICENSE)
209 $(QUIET)$(if $(and $(not $(VBOX_OSE)),$(VBOX_WITH_QTGUI)),$(INSTALL) -m 0755 $(PATH_BIN)/License-$(VBOX_LICENSE_VER).html $(SOLARISINSTDIR)/License-$(VBOX_LICENSE_VER).html,)
210 $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/components/VBoxXPCOMBase.xpt $(SOLARISINSTDIR)/components/VBoxXPCOMBase.xpt
211 $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/components/VirtualBox_XPCOM.xpt $(SOLARISINSTDIR)/components/VirtualBox_XPCOM.xpt
212 $(QUIET)$(if $(VBOX_WITH_QTGUI),$(CP) $(foreach f,$(SOLARISNLS),$(PATH_BIN)/$(f)) $(SOLARISINSTDIR)/nls,)
213 $(QUIET)$(if $(VBOX_WITH_QTGUI),$(INSTALL) -m 0755 $(PATH_DEVTOOLS_TRG)/qt/v3.3.8/lib/libqt-mt.so.3 $(SOLARISINSTDIR)/qtgcc/lib/libqt-mt.so.3,)
214 $(QUIET)$(if $(VBOX_WITH_QTGUI),$(INSTALL) -m 0755 $(PATH_DEVTOOLS_TRG)/qt/v3.3.8/bin/qtconfig $(SOLARISINSTDIR)/qtgcc/bin/qtconfig,)
215 $(QUIET)$(INSTALL) -m 0755 $(PATH_ROOT)/src/VBox/Devices/Network/solaris/vnicinit_solaris.sh $(SOLARISINSTDIR)/vnic_setup.sh
216 $(QUIET)$(INSTALL) -m 0755 $(PATH_ROOT)/src/VBox/Devices/Network/solaris/vnicterm_solaris.sh $(SOLARISINSTDIR)/vnic_term.sh
217 $(QUIET)$(INSTALL) -m 0755 $(PATH_CURRENT)/vboxdrv.sh $(SOLARISINSTDIR)/vboxdrv.sh
218 $(QUIET)$(INSTALL) -m 0755 $(PATH_CURRENT)/VBox.sh $(SOLARISINSTDIR)/VBox.sh
219 $(QUIET)$(INSTALL) -m 0755 $(PATH_CURRENT)/postinstall.sh $(SOLARISINSTDIR)/postinstall.sh
220 $(QUIET)$(INSTALL) -m 0755 $(PATH_CURRENT)/preremove.sh $(SOLARISINSTDIR)/preremove.sh
221 $(QUIET)$(INSTALL) -m 0755 $(PATH_CURRENT)/makepackage.sh $(SOLARISINSTDIR)/makepackage.sh
222 $(QUIET)$(INSTALL) -m 0644 $(PATH_CURRENT)/vbox.pkgresponse $(SOLARISINSTDIR)/autoresponse
223 $(QUIET)$(INSTALL) -m 0644 $(PATH_CURRENT)/vboxdevlink.sed $(SOLARISINSTDIR)/etc/devlink.tab
224 $(QUIET)$(INSTALL) -m 0644 $(PATH_CURRENT)/vbox.space $(SOLARISINSTDIR)/vbox.space
225 $(QUIET)$(INSTALL) -m 0644 $(PATH_ROOT)/doc/ReadMe-Solaris.txt $(SOLARISINSTDIR)/ReadMe.txt
226 $(call MSG_L1,Creating install package: $(PKGFILENAME).tar.gz)
227 $(QUIET)$(SOLARISINSTDIR)/makepackage.sh $(SOLARISINSTDIR) $(PKGFILENAME) $(BUILD_TARGET_ARCH) 1>/dev/null 2>/dev/null
228 $(QUIET)$(INSTALL) -m 0755 $(SOLARISINSTDIR)/$(PKGFILENAME).tar.gz $(PATH_BIN)
229
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette