VirtualBox

source: vbox/trunk/src/VBox/Additions/Makefile.kmk@ 7059

Last change on this file since 7059 was 7030, checked in by vboxsync, 17 years ago

Additions: fixed a makefile problem with spaces

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 6.1 KB
Line 
1# $Id: Makefile.kmk 7030 2008-02-20 11:54:45Z vboxsync $
2## @file
3# Top-level makefile for the VirtualBox Guest Additions.
4#
5# Cross building of the additions is generally done by remote building
6# by means of smbfs, cifs, VBOX_ONLY_ADDITIONS=1 and setting BUILD_TARGET
7# to the desired target.
8#
9# Limited support for cross building the windows additions using wine
10# is provided. There are a couple of issues with the approach (lack of
11# signing, no VC++ 8 support, ++) that makes it unsuitable for releases.
12#
13# Building the linux additions as part of the l4 build is ok because
14# l4 is built on a linux platform. This is why we have to check if
15# BUILD_TARGET is l4 or linux in some places, though most of the magic
16# is done in the templates (Config.kmk).
17#
18
19#
20# Copyright (C) 2006-2007 innotek GmbH
21#
22# This file is part of VirtualBox Open Source Edition (OSE), as
23# available from http://www.virtualbox.org. This file is free software;
24# you can redistribute it and/or modify it under the terms of the GNU
25# General Public License (GPL) as published by the Free Software
26# Foundation, in version 2 as it comes in the "COPYING" file of the
27# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
28# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
29#
30
31DEPTH = ../../..
32include $(PATH_KBUILD)/subheader.kmk
33
34#
35# Make some indicator adjustments to keep things simple in these makefiles.
36#
37ifdef VBOX_ADDITIONS_LINUX_ONLY
38 VBOX_ADDITIONS_XYZ_ONLY = 1
39 VBOX_WITH_LINUX_ADDITIONS = 1
40 VBOX_WITH_WIN32_ADDITIONS =
41else ifdef VBOX_ADDITIONS_WIN32_ONLY
42 VBOX_ADDITIONS_XYZ_ONLY = 1
43 VBOX_WITH_WIN32_ADDITIONS = 1
44 VBOX_WITH_LINUX_ADDITIONS =
45endif
46ifdef VBOX_WITH_WIN32_ADDITIONS
47 VBOX_WITH_ADDITIONS_ISO.win.x86 = 1
48endif
49ifdef VBOX_WITH_LINUX_ADDITIONS
50 VBOX_WITH_ADDITIONS_ISO.linux.x86 = 1
51endif
52
53# Include sub-makefiles.
54include $(PATH_SUB_CURRENT)/common/Makefile.kmk
55ifdef VBOX_WITH_WIN32_ADDITIONS
56 include $(PATH_SUB_CURRENT)/WINNT/Makefile.kmk
57endif
58ifdef VBOX_WITH_LINUX_ADDITIONS
59 include $(PATH_SUB_CURRENT)/linux/Makefile.kmk
60endif
61ifdef VBOX_WITH_X11_ADDITIONS
62 include $(PATH_SUB_CURRENT)/x11/Makefile.kmk
63endif
64
65# The packing target rule, but only if we're on the local build box.
66ifndef VBOX_WITHOUT_ADDITIONS_ISO
67 ifndef VBOX_ADDITIONS_XYZ_ONLY
68 PACKING += $(PATH_BIN)/additions/VBoxGuestAdditions.iso
69 endif
70endif
71
72include $(PATH_KBUILD)/subfooter.kmk
73
74
75#
76# The x86 Windows .iso file spec.
77#
78ifdef VBOX_WITH_ADDITIONS_ISO.win.x86
79 ifdef VBOX_ONLY_ADDITIONS
80 VBOX_PATH_ADDITIONS.win.x86 = $(PATH_OUT_BASE)/win.x86/$(BUILD_TYPE)/bin/additions
81 else
82 # 32-only hack
83 VBOX_PATH_ADDITIONS.win.x86 = $(VBOX_PATH_ADDITIONS)
84 endif
85 ## @todo We're missing the .cat files and using the wrong .inf files here.
86 GUESTADDITIONS_FILESPEC.win.x86 = \
87 driver/VBoxGuest/VBoxGuest.sys=$(VBOX_PATH_ADDITIONS.win.x86)/VBoxGuest.sys \
88 driver/VBoxGuest/VBoxGuest.inf=./WINNT/VBoxGuest/VBoxGuest.inf \
89 driver/VBoxGuest/VBoxService.exe=$(VBOX_PATH_ADDITIONS.win.x86)/VBoxService.exe \
90 driver/VBoxGuest/VBoxHook.dll=$(VBOX_PATH_ADDITIONS.win.x86)/VBoxHook.dll \
91 driver/VBoxGuest/VBoxControl.exe=$(VBOX_PATH_ADDITIONS.win.x86)/VBoxControl.exe \
92 driver/VBoxGuest/VBCoInst.dll=$(VBOX_PATH_ADDITIONS.win.x86)/VBCoInst.dll \
93 driver/VBoxGuest/VBoxMouse.sys=$(VBOX_PATH_ADDITIONS.win.x86)/VBoxMouse.sys \
94 driver/VBoxGuest/VBoxMouse.inf=./WINNT/MouseFilter/VBoxMouse.inf \
95 driver/VBoxVideo/VBoxVideo.sys=$(VBOX_PATH_ADDITIONS.win.x86)/VBoxVideo.sys \
96 driver/VBoxVideo/VBoxVideo.inf=./WINNT/Graphics/Miniport/VBoxVideo.inf \
97 driver/VBoxVideo/VBoxDisp.dll=$(VBOX_PATH_ADDITIONS.win.x86)/VBoxDisp.dll \
98 gina/VBoxGINA.dll=$(VBOX_PATH_ADDITIONS.win.x86)/VBoxGINA.dll \
99 AMD_PCnet/netamd.inf=./WINNT/Network/AMD/netamd.inf \
100 AMD_PCnet/pcntpci5.cat=./WINNT/Network/AMD/pcntpci5.cat \
101 AMD_PCnet/PCNTPCI5.sys=./WINNT/Network/AMD/PCNTPCI5.sys \
102 VBoxGuestAdditions.exe=$(VBOX_PATH_ADDITIONS.win.x86)/VBoxGuestAdditions.exe \
103 AUTORUN.INF=./WINNT/Installer/AUTORUN.INF
104 ifdef VBOX_WITH_WIN32_ADDITIONS_SHAREDFOLDERS
105 GUESTADDITIONS_FILESPEC.win.x86 += \
106 driver/VBoxSF/VBoxSF.sys=$(VBOX_PATH_ADDITIONS.win.x86)/VBoxSF.sys \
107 driver/VBoxSF/VBoxMRXNP.dll=$(VBOX_PATH_ADDITIONS.win.x86)/VBoxMRXNP.dll
108 endif
109endif
110
111#
112# The OS/2 .iso file spec.
113#
114ifdef VBOX_WITH_ADDITIONS_ISO.os2.x86
115 ifdef VBOX_ONLY_ADDITIONS
116 VBOX_PATH_ADDITIONS.os2.x86 = $(PATH_OUT_BASE)/os2.x86/$(BUILD_TYPE)/bin/additions
117 else
118 VBOX_PATH_ADDITIONS.os2.x86 = $(VBOX_PATH_ADDITIONS)
119 endif
120 GUESTADDITIONS_FILESPEC.os2.x86 = \
121 os2/VBoxGuest.sys=$(VBOX_PATH_ADDITIONS.os2.x86)/VBoxGuest.sys \
122 os2/VBoxService.exe=$(VBOX_PATH_ADDITIONS.os2.x86)/VBoxService.exe \
123 os2/gengradd.dll=$(VBOX_PATH_ADDITIONS.os2.x86)/gengradd.dll \
124 os2/libc063.dll=./os2/Bin/libc063.dll \
125 os2/readme.txt=./os2/Bin/readme.txt \
126 os2/vboxmouse.sys=$(VBOX_PATH_ADDITIONS.os2.x86)/vboxmouse.sys
127else ifdef VBOX_WITH_OS2_ADDITIONS_BIN
128 GUESTADDITIONS_FILESPEC.os2.x86 = \
129 os2/VBoxGuest.sys=./os2/Bin/VBoxGuest.sys \
130 os2/VBoxService.exe=./os2/Bin/VBoxService.exe \
131 os2/gengradd.dll=./os2/Bin/gengradd.dll \
132 os2/libc063.dll=./os2/Bin/libc063.dll \
133 os2/readme.txt=./os2/Bin/readme.txt \
134 os2/vboxmouse.sys=./os2/Bin/vboxmouse.sys
135endif
136
137#
138# The x86 Linux .iso file spec.
139#
140ifdef VBOX_WITH_ADDITIONS_ISO.linux.x86
141 ifdef VBOX_ONLY_ADDITIONS
142 VBOX_PATH_ADDITIONS.linux.x86 = $(PATH_OUT_BASE)/linux.x86/$(BUILD_TYPE)/bin/additions
143 else
144 # 32-bit only hack
145 VBOX_PATH_ADDITIONS.linux.x86 = $(VBOX_PATH_ADDITIONS)
146 endif
147 GUESTADDITIONS_FILESPEC.linux.x86 = \
148 VBoxLinuxAdditions.run=$(VBOX_PATH_ADDITIONS.linux.x86)/VBoxLinuxAdditions.run
149endif
150
151
152#
153# Build the Guest Additions ISO image.
154#
155ifndef VBOX_WITHOUT_ADDITIONS_ISO
156$(VBOX_PATH_ADDITIONS)/VBoxGuestAdditions.iso: \
157 $(filter-out %=deleteme=,\
158 $(subst =,=deleteme= ,\
159 $(GUESTADDITIONS_FILESPEC.win.x86) \
160 $(GUESTADDITIONS_FILESPEC.linux.x86) \
161 $(GUESTADDITIONS_FILESPEC.os2.x86) \
162 )\
163 ) \
164 $(VBOX_SVN_REV_KMK) \
165 Makefile.kmk
166 $(call MSG_TOOL,mkisofs,,$@)
167 $(QUIET)$(MKDIR) -p $(@D)
168 $(VBOX_MKISOFS) -rational-rock -joliet -iso-level 4 \
169 -volid "VBOXADDITIONS_$(VBOX_VERSION_STRING)_$(VBOX_SVN_REV)" -l -graft-points -o $@ \
170 $(GUESTADDITIONS_FILESPEC.win.x86) \
171 $(GUESTADDITIONS_FILESPEC.linux.x86) \
172 $(GUESTADDITIONS_FILESPEC.os2.x86)
173endif
174
175
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