VirtualBox

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

Last change on this file since 15790 was 15790, checked in by vboxsync, 16 years ago

Solaris/Installer: missed files during the cleanup.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 18.4 KB
Line 
1# $Id: Makefile.kmk 15790 2009-01-05 10:27:48Z vboxsync $
2## @file
3# Sub-Makefile for the Solaris installer.
4#
5
6#
7# Copyright (C) 2007-2008 Sun Microsystems, Inc.
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# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
18# Clara, CA 95054 USA or visit http://www.sun.com if you need
19# additional information or have any questions.
20#
21
22SUB_DEPTH = ../../../..
23include $(KBUILD_PATH)/subheader.kmk
24
25ifneq ($(KBUILD_HOST),solaris)
26$(error "The Solaris installer can only be built on Solaris!") # yeah, right.
27endif
28
29# Unset this to speed up things during makefile hacking.
30VBOX_SOL_INST_DEP_ON_MAKEFILE := $(MAKEFILE_CURRENT)
31
32#
33# Globals
34#
35VBOX_PATH_SOL_INST_SRC := $(PATH_SUB_CURRENT)
36SOLARIS_INST_DIR := $(PATH_TARGET)/Installer/solaris/install
37SOLARIS_DBG_DIR := $(PATH_TARGET)/Installer/solaris/installdbg
38SOLARIS_VBI_DIR := $(PATH_TARGET)/Installer/solaris/installvbi
39ifeq ($(KBUILD_TARGET_ARCH),amd64)
40 SOL_DBG_OBJCOPY := /usr/sfw/bin/gobjcopy --only-keep-debug
41else
42 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.
43endif
44SOL_OBJCOPY := /usr/sfw/bin/gobjcopy --strip-unneeded -R .comment
45
46# Base package
47PKGINFO_ARCH = $(shell uname -p)
48PKGINFO_REVSTAMP = $(date %Y.%m.%d.%H.%M)
49PKG_FILENAME = VirtualBox-$(VBOX_VERSION_STRING)-SunOS-$(KBUILD_TARGET_ARCH)-r$(VBOX_SVN_REV)
50
51# Debug package
52DBG_ARCHIVE = VirtualBoxDebug.tar.bz2
53
54# Kernel interface (vbi) package
55VBIPKG_FILENAME = VirtualBoxKern-$(VBOX_VERSION_STRING)-SunOS-r$(VBOX_SVN_REV)
56
57#
58# Targets
59#
60PROGRAMS += VBoxZoneAccess
61INSTALLS += solaris-doc
62PACKING += $(PATH_BIN)/$(PKG_FILENAME).tar.gz $(PATH_BIN)/$(DBG_ARCHIVE)
63
64OTHER_CLEAN += $(addprefix $(SOLARIS_INST_DIR)/,\
65 vbox.pkginfo vbox.copyright vbox.space vbox.pkgresponse \
66 makepackage.sh prototype postinstall.sh preremove.sh)
67
68#
69# VBoxZoneAccess
70#
71VBoxZoneAccess_TEMPLATE = VBOXR3EXE
72VBoxZoneAccess_DEPS = $(VBOX_SVN_REV_KMK)
73VBoxZoneAccess_SOURCES = VBoxZoneAccess.c
74VBoxZoneAccess_LIBS = $(LIB_RUNTIME)
75
76#
77# Solaris installs.
78#
79solaris-doc_INST = bin/
80solaris-doc_MODE = a+r,u+w
81solaris-doc_SOURCES = \
82 $(if $(VBOX_OSE),,$(VBOX_BRAND_LICENSE_TXT)=>LICENSE) \
83 $(PATH_ROOT)/src/VBox/Frontends/VirtualBox/images/$(if $(VBOX_OSE),OSE,NonOSE)/VirtualBox_64px.png=>VBox.png
84
85#
86# Note: Other than the files produced during packing (.pkg, .gzip etc.) all files that
87# go into the temporary install folder $(SOLARIS_INST_DIR) should be part of $(SOLARIS_ARCH_FILES).
88# For the files produced during packing they should be cleaned up promptly when the work is done.
89
90# Strip these executables
91SOLARIS_STRIP_EXES = \
92 VBoxZoneAccess \
93 $(if $(VBOX_WITH_QT4GUI),VirtualBox,) \
94 VBoxManage \
95 $(if $(VBOX_WITH_VBOXBFE),VBoxBFE) \
96 $(if $(VBOX_WITH_VBOXSDL),VBoxSDL,) \
97 VBoxSVC \
98 VBoxXPCOMIPCD \
99 kchmviewer
100
101# Strip these binaries
102SOLARIS_STRIP_BINS = \
103 vboxdrv \
104 $(if $(VBOX_WITH_NETFLT),vboxflt) \
105 VBoxDD.so \
106 VBoxDD2.so \
107 VBoxREM.so \
108 $(if $(eq $(KBUILD_TARGET_ARCH),x86),VBoxREM32.so,) \
109 $(if $(eq $(KBUILD_TARGET_ARCH),x86),VBoxREM64.so,) \
110 VBoxRT.so \
111 VBoxDDU.so \
112 VBoxVMM.so \
113 VBoxXPCOM.so \
114 $(if $(VBOX_WITH_SHARED_FOLDERS),VBoxSharedFolders.so,) \
115 $(if $(VBOX_WITH_SHARED_CLIPBOARD),VBoxSharedClipboard.so,) \
116 $(if $(VBOX_WITH_GUEST_PROPS),VBoxGuestPropSvc.so,) \
117 $(if $(VBOX_WITH_QT4GUI),VBoxKeyboard.so,) \
118 $(if $(VBOX_WITH_QT4GUI),libVBoxQtCore.so.4,) \
119 $(if $(VBOX_WITH_QT4GUI),libVBoxQtGui.so.4,) \
120 $(if $(VBOX_WITH_QT4GUI),accessible/libqtaccessiblewidgets.so,) \
121 $(if $(VBOX_WITH_DEBUGGER_GUI),VBoxDbg.so,) \
122 $(if $(VBOX_WITH_CROGL),\
123 VBoxOGLhostcrutil.so \
124 VBoxOGLhosterrorspu.so \
125 VBoxOGLrenderspu.so \
126 VBoxSharedCrOpenGL.so) \
127 VBoxSettings.so \
128 components/VBoxC.so \
129 components/VBoxSVCM.so \
130 components/VBoxXPCOMIPCC.so
131ifdef VBOX_WITH_HARDENING
132SOLARIS_STRIP_BINS += \
133 $(if $(VBOX_WITH_VBOXBFE),VBoxBFE.so) \
134 $(if $(VBOX_WITH_VBOXSDL),VBoxSDL.so,) \
135 $(if $(VBOX_WITH_QT4GUI),VirtualBox.so,)
136endif
137
138# Do not remove relocation information of these binaries
139SOLARIS_STRIP_OBJS = \
140 VBoxDD2GC.gc \
141 VBoxDD2R0.r0 \
142 VBoxDDGC.gc \
143 VBoxDDR0.r0 \
144 VMMGC.gc \
145 VMMR0.r0
146
147VBOX_SOL_PYTHON_INST =
148ifeq ($(KBUILD_TARGET_ARCH),amd64)
149 VBOX_SOL_PYTHON_INST = 64/
150 SOL64_PKG = 1
151ifndef VBOX_WITH_NEW_RECOMPILER
152 SOLARIS_STRIP_OBJS += \
153 VBoxREM2.rel
154 NEED_REL = 1
155endif
156endif
157
158# Do not strip anything of these files
159SOLARIS_NO_STRIP = \
160 components/VBoxXPCOMBase.xpt \
161 components/VirtualBox_XPCOM.xpt
162
163# Things packed explicitly, not from $(PATH_BIN), track these to clean-up properly
164# The extra Qt libs packed under EXTRAS are purely for running VBoxQtconfig
165SOLARIS_EXTRAS = \
166 $(if $(VBOX_OSE),,LICENSE) \
167 $(if $(and $(VBOX_LICENSE_FILES),$(VBOX_WITH_QT4GUI)),$(VBOX_LICENSE_FILES)) \
168 $(if $(VBOX_WITH_QT4GUI),VBoxQtconfig,) \
169 $(if $(VBOX_WITH_QT4GUI),virtualbox.desktop,) \
170 $(if $(VBOX_WITH_QT4GUI),libVBoxQtNetwork.so.4,) \
171 $(if $(VBOX_WITH_QT4GUI),libVBoxQtXml.so.4,) \
172 $(if $(VBOX_WITH_QT4GUI),libVBoxQtSql.so.4,) \
173 $(if $(VBOX_WITH_QT4GUI),libVBoxQt3Support.so.4,) \
174 $(if $(VBOX_WITH_VBOXSDL),libSDL-1.2.so.0,) \
175 VBox.png \
176 autoresponse \
177 vboxdrv.conf \
178 $(if $(VBOX_WITH_NETFLT),vboxflt.conf) \
179 vboxdrv.sh \
180 VBox.sh \
181 $(if $(not $(VBOX_WITH_NETFLT))vnic_setup.sh,) \
182 $(if $(not $(VBOX_WITH_NETFLT))vnic_term.sh,) \
183 virtualbox-webservice.xml \
184 virtualbox-zoneaccess.xml \
185 smf-vboxwebsrv.sh \
186 vbox.copyright \
187 ReadMe.txt
188
189ifdef VBOX_WITH_QT4GUI
190 include $(PATH_ROOT)/src/VBox/Frontends/VirtualBox4/nls/ApprovedLanguages.kmk
191 SOLARIS_NLS := $(foreach f,$(VBOX_APPROVED_GUI_LANGUAGES),nls/VirtualBox_$(f).qm nls/qt_$(f).qm)
192endif
193
194# Documentation
195ifdef VBOX_WITH_DOCS_PACKING
196 SOLARIS_NO_STRIP += \
197 VirtualBox.chm \
198 UserManual.pdf \
199 $(foreach f,$(VBOX_MANUAL_ADD_LANGUAGES),VirtualBox_$(f).chm UserManual_$(f).pdf)
200endif
201
202# VRDP
203ifdef VBOX_WITH_VRDP
204 SOLARIS_STRIP_BINS += \
205 VBoxVRDP.so \
206 VRDPAuth.so
207 SOLARIS_NO_STRIP += \
208 rdesktop-vrdp.tar.gz
209 ifdef VBOX_WITH_VRDP_RDESKTOP
210 SOLARIS_NO_STRIP += \
211 rdesktop-vrdp-keymaps
212 SOLARIS_STRIP_EXES += \
213 rdesktop-vrdp
214 endif
215endif
216
217SOLARIS_STRIP_BINS += \
218 $(if $(and $(VBOX_WITH_HARDENING),$(VBOX_WITH_HEADLESS)),VBoxHeadless.so,)
219
220SOLARIS_STRIP_EXES += \
221 $(if $(VBOX_WITH_HEADLESS),VBoxHeadless) \
222 $(if $(VBOX_WITH_WEBSERVICES),vboxwebsrv) \
223 $(if $(VBOX_WITH_WEBSERVICES),webtest)
224
225# Guest Additions
226ifdef VBOX_WITH_ADDITIONS_PACKING
227 SOLARIS_NO_STRIP += \
228 additions/VBoxGuestAdditions.iso
229endif
230
231SOLARIS_ARCH_FILES := \
232 $(SOLARIS_STRIP_EXES) \
233 $(SOLARIS_STRIP_BINS) \
234 $(SOLARIS_STRIP_OBJS) \
235 $(SOLARIS_NO_STRIP) \
236 $(SOLARIS_NLS) \
237 $(SOLARIS_EXTRAS)
238
239OTHER_CLEAN += \
240 $(addprefix $(SOLARIS_INST_DIR)/, $(SOLARIS_ARCH_FILES)) \
241 $(SOLARIS_INST_DIR)/$(PKG_FILENAME).tar.gz \
242 $(SOLARIS_INST_DIR)/$(PKG_FILENAME).pkg \
243 $(addprefix $(SOLARIS_DBG_DIR)/,$(SOLARIS_STRIP_BINS)) \
244 $(addprefix $(SOLARIS_DBG_DIR)/,$(SOLARIS_STRIP_EXES)) \
245 $(SOLARIS_DBG_DIR)/$(DBG_ARCHIVE) \
246 $(SOLARIS_VBI_DIR)/$(VBIPKG_FILENAME).tar.gz \
247 $(SOLARIS_VBI_DIR)/$(VBIPKG_FILENAME).pkg
248
249include $(KBUILD_PATH)/subfooter.kmk
250
251
252#
253# -=-=-=-=-=-=-=- Main package -=-=-=-=-=-=-=-
254#
255
256## @todo r=bird: makepackage.sh packing a directory tree, right? So, there is no guarantee that it's not
257# containing any obsolete files the way packing is performed here. Consider recursivly
258# invoking $(MAKE) vbox_copy_sdk_files (or similar) to do the copying after $(RM) -Rf the
259# directory tree.
260$(PATH_BIN)/$(PKG_FILENAME).tar.gz: \
261 $(VBOX_VERSION_STAMP) \
262 $(VBOX_PATH_SOL_INST_SRC)/makepackage.sh \
263 $(VBOX_PATH_SOL_INST_SRC)/postinstall.sh \
264 $(VBOX_PATH_SOL_INST_SRC)/preremove.sh \
265 $(VBOX_PATH_SOL_INST_SRC)/vbox.pkginfo \
266 $(VBOX_PATH_SOL_INST_SRC)/vbox.space \
267 $(VBOX_PATH_SOL_INST_SRC)/vbox.pkgresponse \
268 $(VBOX_PATH_SOL_INST_SRC)/VBox.sh \
269 $(VBOX_PATH_SOL_INST_SRC)/virtualbox.desktop \
270 $(PATH_ROOT)/doc/ReadMe-Solaris.txt \
271 $(VBOX_PATH_SOL_INST_SRC)/Makefile.kmk \
272 $(if $(VBOX_WITH_SOLARIS_VBI),$(SOLARIS_VBI_DIR)/$(VBIPKG_FILENAME).pkg,) \
273 $(if $(VBOX_OSE),,$(VBOX_BRAND_LICENSE_TXT)) \
274 $(if $(VBOX_OSE),,$(PATH_BIN)/LICENSE) \
275 $(if $(and $(VBOX_LICENSE_BINS),$(VBOX_WITH_QT4GUI)),$(VBOX_LICENSE_BINS),) \
276 $(PATH_ROOT)/src/VBox/HostDrivers/Support/solaris/vboxdrv.conf \
277 $(if $(VBOX_WITH_NETFLT),$(PATH_ROOT)/src/VBox/HostDrivers/VBoxNetFlt/solaris/vboxflt.conf) \
278 $(if $(not $(VBOX_WITH_NETFLT))$(PATH_ROOT)/src/VBox/Devices/Network/solaris/vnicinit_solaris.sh,) \
279 $(if $(not $(VBOX_WITH_NETFLT))$(PATH_ROOT)/src/VBox/Devices/Network/solaris/vnicterm_solaris.sh,) \
280 $(addprefix $(PATH_BIN)/,$(filter-out $(SOLARIS_EXTRAS),$(SOLARIS_ARCH_FILES))) \
281 $(addprefix $(SOLARIS_INST_DIR)/,$(SOLARIS_STRIP_EXES)) \
282 $(addprefix $(SOLARIS_INST_DIR)/,$(SOLARIS_STRIP_BINS)) \
283 $(addprefix $(SOLARIS_INST_DIR)/,$(SOLARIS_STRIP_OBJS)) \
284 $(addprefix $(SOLARIS_INST_DIR)/,$(SOLARIS_NO_STRIP))
285 $(call MSG_L1,Installing binaries $(SOLARIS_INST_DIR))
286 $(QUIET)$(if $(VBOX_WITH_ADDITIONS_PACKING),$(INSTALL) -m 0644 $(PATH_BIN)/additions/VBoxGuestAdditions.iso $(SOLARIS_INST_DIR)/additions/)
287 $(call MSG_L1,Installing files $(SOLARIS_INST_DIR))
288 $(QUIET)$(SED) \
289 -e "s/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g" \
290 -e "s/@VBOX_SVN_REV@/$(VBOX_SVN_REV)/g" \
291 -e "s/@VBOX_VERSION_REVSTAMP@/$(PKGINFO_REVSTAMP)/g" \
292 -e "s/@UNAME_P@/$(PKGINFO_ARCH)/g" \
293 --output $(SOLARIS_INST_DIR)/vbox.pkginfo \
294 $(VBOX_PATH_SOL_INST_SRC)/vbox.pkginfo
295 $(QUIET)$(INSTALL) -m 0644 $(PATH_ROOT)/src/VBox/HostDrivers/Support/solaris/vboxdrv.conf $(SOLARIS_INST_DIR)/vboxdrv.conf
296 $(QUIET)$(INSTALL) -m 0644 $(PATH_ROOT)/src/VBox/HostDrivers/VBoxNetFlt/solaris/vboxflt.conf $(SOLARIS_INST_DIR)/vboxflt.conf
297 $(QUIET)$(if $(VBOX_OSE),,$(INSTALL) -m 0644 $(PATH_BIN)/LICENSE $(SOLARIS_INST_DIR)/LICENSE)
298 $(QUIET)$(if $(VBOX_OSE),,$(INSTALL) -m 0644 $(PATH_BIN)/LICENSE $(SOLARIS_INST_DIR)/vbox.copyright)
299 $(QUIET)$(if $(and $(VBOX_LICENSE_BINS),$(VBOX_WITH_QT4GUI)),$(INSTALL) -m 0644 $(VBOX_LICENSE_BINS) $(SOLARIS_INST_DIR)/)
300 $(QUIET)$(if $(VBOX_WITH_QT4GUI),$(INSTALL) -m 0644 $(PATH_DEVTOOLS_TRG)/qt/v4.3.3-r1/lib/libVBoxQtNetwork.so.4 $(SOLARIS_INST_DIR)/libVBoxQtNetwork.so.4,)
301 $(QUIET)$(if $(VBOX_WITH_QT4GUI),$(INSTALL) -m 0644 $(PATH_DEVTOOLS_TRG)/qt/v4.3.3-r1/lib/libVBoxQtXml.so.4 $(SOLARIS_INST_DIR)/libVBoxQtXml.so.4,)
302 $(QUIET)$(if $(VBOX_WITH_QT4GUI),$(INSTALL) -m 0644 $(PATH_DEVTOOLS_TRG)/qt/v4.3.3-r1/lib/libVBoxQtSql.so.4 $(SOLARIS_INST_DIR)/libVBoxQtSql.so.4,)
303 $(QUIET)$(if $(VBOX_WITH_QT4GUI),$(INSTALL) -m 0644 $(PATH_DEVTOOLS_TRG)/qt/v4.3.3-r1/lib/libVBoxQt3Support.so.4 $(SOLARIS_INST_DIR)/libVBoxQt3Support.so.4,)
304 $(QUIET)$(if $(VBOX_WITH_VBOXSDL),$(INSTALL) -m 0644 $(PATH_DEVTOOLS_TRG)/libSDL/v1.2.13/lib/libSDL-1.2.so.0.11.2 $(SOLARIS_INST_DIR)/libSDL-1.2.so.0,)
305 $(QUIET)$(if $(VBOX_WITH_QT4GUI),$(INSTALL) -m 0755 $(PATH_DEVTOOLS_TRG)/qt/v4.3.3-r1/bin/qtconfig $(SOLARIS_INST_DIR)/VBoxQtconfig,)
306 $(QUIET)$(if $(VBOX_WITH_WEBSERVICES),$(INSTALL) -m 0644 $(VBOX_PATH_SOL_INST_SRC)/virtualbox-webservice.xml $(SOLARIS_INST_DIR)/virtualbox-webservice.xml,)
307 $(QUIET)$(if $(VBOX_WITH_WEBSERVICES),$(INSTALL) -m 0755 $(VBOX_PATH_SOL_INST_SRC)/smf-vboxwebsrv.sh $(SOLARIS_INST_DIR)/smf-vboxwebsrv.sh,)
308 $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_SOL_INST_SRC)/virtualbox-zoneaccess.xml $(SOLARIS_INST_DIR)/virtualbox-zoneaccess.xml
309 $(QUIET)$(if $(not $(VBOX_WITH_NETFLT))$(INSTALL) -m 0755 $(PATH_ROOT)/src/VBox/Devices/Network/solaris/vnicinit_solaris.sh $(SOLARIS_INST_DIR)/vnic_setup.sh,)
310 $(QUIET)$(if $(not $(VBOX_WITH_NETFLT))$(INSTALL) -m 0755 $(PATH_ROOT)/src/VBox/Devices/Network/solaris/vnicterm_solaris.sh $(SOLARIS_INST_DIR)/vnic_term.sh,)
311 $(QUIET)$(SED) \
312 -e "s/_HARDENED_/$(if $(VBOX_WITH_HARDENED),hardened,))/" \
313 --output $(SOLARIS_INST_DIR)/vboxdrv.sh.tmp \
314 $(VBOX_PATH_SOL_INST_SRC)/vboxdrv.sh
315 $(QUIET)$(INSTALL) -m 0755 $(SOLARIS_INST_DIR)/vboxdrv.sh.tmp $(SOLARIS_INST_DIR)/vboxdrv.sh
316 $(QUIET)$(RM) -f $(SOLARIS_INST_DIR)/vboxdrv.sh.tmp
317 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_SOL_INST_SRC)/VBox.sh $(SOLARIS_INST_DIR)/VBox.sh
318 $(QUIET)$(if $(VBOX_WITH_QT4GUI),$(INSTALL) -m 0644 $(VBOX_PATH_SOL_INST_SRC)/virtualbox.desktop $(SOLARIS_INST_DIR)/virtualbox.desktop,)
319 $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/VBox.png $(SOLARIS_INST_DIR)/VBox.png
320 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_SOL_INST_SRC)/postinstall.sh $(SOLARIS_INST_DIR)/postinstall.sh
321 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_SOL_INST_SRC)/preremove.sh $(SOLARIS_INST_DIR)/preremove.sh
322 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_SOL_INST_SRC)/makepackage.sh $(SOLARIS_INST_DIR)/makepackage.sh
323 $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_SOL_INST_SRC)/vbox.pkgresponse $(SOLARIS_INST_DIR)/autoresponse
324 $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_SOL_INST_SRC)/vbox.space $(SOLARIS_INST_DIR)/vbox.space
325 $(QUIET)$(SED) \
326 -e "s/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g" \
327 -e "s/@BUILD_TARGET_ARCH@/$(KBUILD_TARGET_ARCH)/g" \
328 -e "s/@VBOX_SVN_REV@/$(VBOX_SVN_REV)/g" \
329 --output $(SOLARIS_INST_DIR)/ReadMe.txt \
330 $(PATH_ROOT)/doc/ReadMe-Solaris.txt
331 $(QUIET)$(if $(VBOX_WITH_SOLARIS_VBI),$(INSTALL) -m 0644 $(SOLARIS_VBI_DIR)/$(VBIPKG_FILENAME).pkg $(SOLARIS_INST_DIR)/$(VBIPKG_FILENAME).pkg,)
332 $(call MSG_L1,Creating install package: $(PKG_FILENAME).tar.gz)
333 $(QUIET)$(REDIRECT) -C $(VBOX_PATH_SOL_INST_SRC) -- $(SOLARIS_INST_DIR)/makepackage.sh $(if $(VBOX_WITH_HARDENING),--hardened) \
334 $(SOLARIS_INST_DIR) \
335 $(PKG_FILENAME) \
336 $(KBUILD_TARGET_ARCH) \
337 $(VBOX_SVN_REV) \
338 $(if $(VBOX_WITH_SOLARIS_VBI),$(VBIPKG_FILENAME).pkg,)
339 $(QUIET)$(INSTALL) -m 0644 $(SOLARIS_INST_DIR)/$(PKG_FILENAME).tar.gz $(PATH_BIN)
340 @# Clean up files emitted as side-effect or result of packing
341 @#$(QUIET)$(RM) -Rf $(SOLARIS_INST_DIR)
342
343
344$(addprefix $(SOLARIS_INST_DIR)/,$(SOLARIS_STRIP_BINS)): \
345 $(SOLARIS_INST_DIR)/% : $(PATH_BIN)/% | $$(dir $$@)
346 $(INSTALL) -m 0644 $(if $(VBOX_DO_STRIP),-s,) $< $@
347
348$(addprefix $(SOLARIS_INST_DIR)/,$(SOLARIS_STRIP_EXES)): \
349 $(SOLARIS_INST_DIR)/% : $(PATH_BIN)/% | $$(dir $$@)
350 $(INSTALL) -m 0755 $(if $(VBOX_DO_STRIP),-s,) $< $@
351
352$(addprefix $(SOLARIS_INST_DIR)/,$(SOLARIS_STRIP_OBJS)): \
353 $(SOLARIS_INST_DIR)/% : $(PATH_BIN)/% | $$(dir $$@)
354 $(if $(VBOX_DO_STRIP),$(SOL_OBJCOPY) $< $@, $(INSTALL) -m 0644 $< $@)
355
356$(addprefix $(SOLARIS_INST_DIR)/,$(SOLARIS_NO_STRIP)): \
357 $(SOLARIS_INST_DIR)/% : $(PATH_BIN)/% | $$(dir $$@)
358 $(INSTALL) -m 0644 $< $@
359
360
361#
362# -=-=-=-=-=-=-=- VBI package -=-=-=-=-=-=-=-
363#
364$(SOLARIS_VBI_DIR)/$(VBIPKG_FILENAME).pkg: \
365 $(VBOX_VERSION_STAMP) \
366 $(if $(VBOX_OSE),,$(VBOX_BRAND_LICENSE_TXT)) \
367 $(if $(VBOX_OSE),,$(PATH_BIN)/LICENSE) \
368 $(VBOX_PATH_SOL_INST_SRC)/vbi/vboxkern.pkginfo \
369 $(VBOX_PATH_SOL_INST_SRC)/vbi/makepackage.sh \
370 $(VBOX_PATH_SOL_INST_SRC)/vbi/preremove.sh \
371 $(VBOX_PATH_SOL_INST_SRC)/Makefile.kmk \
372 $(PATH_ROOT)/src/VBox/Runtime/r0drv/solaris/vbi/32/vbi \
373 $(PATH_ROOT)/src/VBox/Runtime/r0drv/solaris/vbi/64/vbi
374 $(call MSG_L1,Installing vbi binaries $(SOLARIS_VBI_DIR))
375 $(QUIET)$(RM) -Rf $(SOLARIS_VBI_DIR)
376 @# -XXX- This must be fixed badly, we create directories needed for main package here!
377 $(QUIET)$(MKDIR) -p $(SOLARIS_INST_DIR)/additions
378 $(QUIET)$(MKDIR) -p $(SOLARIS_INST_DIR)/components
379 $(QUIET)$(MKDIR) -p $(SOLARIS_INST_DIR)/etc
380 $(QUIET)$(if $(VBOX_WITH_PYTHON),$(MKDIR) -p $(SOLARIS_INST_DIR)/$(VBOX_SOL_PYTHON_INST),)
381 $(QUIET)$(if $(VBOX_WITH_QT4GUI),$(MKDIR) -p $(SOLARIS_INST_DIR)/nls,)
382 $(QUIET)$(if $(VBOX_WITH_QT4GUI),$(MKDIR) -p $(SOLARIS_INST_DIR)/accessible,)
383 $(QUIET)$(if $(VBOX_WITH_VRDP_RDESKTOP),$(MKDIR) -p $(SOLARIS_INST_DIR)/rdesktop-vrdp-keymaps,)
384 $(QUIET)$(MKDIR) -p $(SOLARIS_VBI_DIR)/amd64
385 @# -XXX- This must be fixed badly, we create directories needed for debug package here!
386 $(QUIET)$(MKDIR) -p $(SOLARIS_DBG_DIR)/additions
387 $(QUIET)$(MKDIR) -p $(SOLARIS_DBG_DIR)/components
388 $(QUIET)$(if $(VBOX_WITH_QT4GUI),$(MKDIR) -p $(SOLARIS_DBG_DIR)/accessible,)
389 @# Install VBI files
390 $(QUIET)$(INSTALL) -m 0644 $(PATH_ROOT)/src/VBox/Runtime/r0drv/solaris/vbi/32/vbi $(SOLARIS_VBI_DIR)/vbi
391 $(QUIET)$(INSTALL) -m 0644 $(PATH_ROOT)/src/VBox/Runtime/r0drv/solaris/vbi/64/vbi $(SOLARIS_VBI_DIR)/amd64/vbi
392 $(call MSG_L1,Installing other files $(SOLARIS_VBI_DIR))
393 $(QUIET)$(SED) \
394 -e "s/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g" \
395 -e "s/@VBOX_VERSION_REVSTAMP@/$(PKGINFO_REVSTAMP)/g" \
396 -e "s/@UNAME_P@/$(PKGINFO_ARCH)/g" \
397 --output $(SOLARIS_VBI_DIR)/vboxkern.pkginfo \
398 $(VBOX_PATH_SOL_INST_SRC)/vbi/vboxkern.pkginfo
399 $(QUIET)$(if $(VBOX_OSE),,$(INSTALL) -m 0644 $(PATH_BIN)/LICENSE $(SOLARIS_VBI_DIR)/vbox.copyright)
400 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_SOL_INST_SRC)/vbi/makepackage.sh $(SOLARIS_VBI_DIR)/makepackage.sh
401 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_SOL_INST_SRC)/vbi/preremove.sh $(SOLARIS_VBI_DIR)/preremove.sh
402 $(call MSG_L1,Creating install package: $(VBIPKG_FILENAME).pkg)
403 $(QUIET)$(REDIRECT) -C $(VBOX_PATH_SOL_INST_SRC) -- $(SOLARIS_VBI_DIR)/makepackage.sh $(SOLARIS_VBI_DIR) $(VBIPKG_FILENAME)
404
405
406#
407# -=-=-=-=-=-=-=- Debug package -=-=-=-=-=-=-=-
408#
409$(PATH_BIN)/$(DBG_ARCHIVE): \
410 $(VBOX_VERSION_STAMP) \
411 $(VBOX_PATH_SOL_INST_SRC)/Makefile.kmk \
412 $(addprefix $(SOLARIS_DBG_DIR)/,$(SOLARIS_STRIP_BINS)) \
413 $(addprefix $(SOLARIS_DBG_DIR)/,$(SOLARIS_STRIP_EXES))
414 $(call MSG_L1,Installing debug binaries $(SOLARIS_DBG_DIR))
415 $(call MSG_L1,Packing $@)
416 $(QUIET)/usr/sfw/bin/gtar --owner 0 --group 0 -cjRhf $(PATH_BIN)/$(DBG_ARCHIVE) -C $(SOLARIS_DBG_DIR) $(SOLARIS_STRIP_BINS) $(SOLARIS_STRIP_EXES)
417 $(QUIET)$(CHMOD) 0644 $@
418
419$(addprefix $(SOLARIS_DBG_DIR)/,$(SOLARIS_STRIP_BINS) $(SOLARIS_STRIP_EXES)): \
420 $(SOLARIS_DBG_DIR)/% : $(PATH_BIN)/% | $$(dir $$@)
421 $(QUIET)$(SOL_DBG_OBJCOPY) $< $@
422
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