VirtualBox

source: vbox/trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk@ 13978

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

Fixed include order, a bunch of GCC 3.3 warnings, OS/2 build.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 16.5 KB
Line 
1# $Id: Makefile.kmk 13908 2008-11-06 11:53:47Z vboxsync $
2## @file
3# Makefile for the VirtualBox Qt3 GUI.
4#
5
6#
7# Copyright (C) 2006-2007 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
25#
26# Globals.
27#
28VBOX_PATH_VIRTUALBOX3_SRC := $(PATH_SUB_CURRENT)
29VBOX_WITH_REGISTRATION := 1
30VBOX_WITH_REGISTRATION_REQUEST := 1
31
32
33#
34# The targets.
35#
36ifdef VBOX_WITH_HARDENING
37 PROGRAMS += VirtualBox3Hardened
38 DLLS += VirtualBox
39else
40 PROGRAMS += VirtualBox
41endif
42ifeq ($(filter-out freebsd linux openbsd netbsd solaris,$(KBUILD_TARGET)),) # X11
43 DLLS += VBoxKeyboard3
44 OTHERS += $(PATH_BIN)/vboxkeyboard3.tar.gz
45endif
46DLLS.os2 += VBoxHlp
47
48
49ifeq ($(KBUILD_TARGET),os2)
50 #
51 # VBoxHlp - helper DLL for OS/2.
52 #
53 VBoxHlp_ASTOOL = NASM
54 VBoxHlp_ASFLAGS = -f obj
55 VBoxHlp_DEFS = IN_RING3 IN_VBOXHLP
56 VBoxHlp_CXXFLAGS = -fno-exceptions
57 VBoxHlp_LDFLAGS = -nostdlib -los2
58 VBoxHlp_LDFLAGS += -Zlinker option -Zlinker manyautodata
59 VBoxHlp_SOURCES = \
60 src/os2/VBoxHlp.asm \
61 src/os2/VBoxHlp.cpp
62
63 #
64 # Hack for installing the qt.dll when building for OS/2.
65 #
66 ifneq ($(strip $(DLL_SDK_QT3_QT)),)
67 INSTALLS.os2 += qt.dll
68 qt.dll_INST = $(INST_BIN)
69 qt.dll_SOURCES += \
70 $(DLL_SDK_QT3_QT)=>$(not-dir $(DLL_SDK_QT3_QT))
71 endif
72endif # OS/2
73
74
75#
76# VBoxKeyboard3 - keyboard library for X11.
77#
78VBoxKeyboard3_TEMPLATE = VBOXR3
79VBoxKeyboard3_SOURCES = \
80 src/linux/keyboard-new.c
81VBoxKeyboard3_TARSOURCES = \
82 $(VBoxKeyboard3_SOURCES) \
83 src/linux/COPYING.LIB \
84 src/linux/keyboard.h \
85 src/linux/keyboard-layouts.h \
86 src/linux/keyboard-list.h \
87 src/linux/keyboard-tables.h \
88 src/linux/keyboard-types.h \
89 src/linux/Makefile
90VBoxKeyboard3_LIBS = X11
91VBoxKeyboard3_LIBPATH = $(VBOX_LIBPATH_X11)
92
93
94#
95# vboxkeyboard3.tar.gz - the LGPLed keyboard library must always be
96# redistributed with usable sources.
97#
98SOURCE_DIRECTORY = vboxkeyboard3
99DIRECTORY_PREFIX = src/linux/
100
101$(PATH_TARGET)/$(SOURCE_DIRECTORY): | $$(dir $@)
102 $(LN_SYMLINK) $(abspath $(VBOX_PATH_VIRTUALBOX3_SRC))/$(DIRECTORY_PREFIX) $@
103
104$(PATH_BIN)/vboxkeyboard3.tar.gz: $(abspathex $(VBoxKeyboard3_TARSOURCES),$(PATH_SUB_CURRENT)) $(PATH_TARGET)/$(SOURCE_DIRECTORY)
105 $(call MSG_TOOL,tar/gzip,,$@)
106 $(QUIET)cd $(PATH_TARGET) \
107 && tar -cvhf - $(addprefix $(SOURCE_DIRECTORY)/,$(subst $(DIRECTORY_PREFIX),,$(VBoxKeyboard3_TARSOURCES))) \
108 | gzip - > $@
109
110OTHER_CLEAN += \
111 $(PATH_BIN)/vboxkeyboard3.tar.gz \
112 $(PATH_TARGET)/$(SOURCE_DIRECTORY)
113
114
115#
116# Hardened VirtualBox3.
117#
118VirtualBox3Hardened_TEMPLATE = VBOXR3HARDENEDEXE
119VirtualBox3Hardened_SOURCES = src/hardenedmain.cpp
120VirtualBox3Hardened_NAME = VirtualBox3
121ifeq ($(KBUILD_TARGET),darwin) ## @todo use .darwin when ticket 36 has been fixed.
122 #VirtualBox3Hardened_INST.darwin = $(INST_BIN)VirtualBox3 $(INST_BIN)VirtualBoxVM3
123 VirtualBox3Hardened_INST = $(INST_BIN)VirtualBox3 $(INST_BIN)VirtualBoxVM3
124endif
125
126
127#
128# Include Qt project file, we'll use FORMS, TRANSLATIONS and IMAGES
129# in the VirtualBox(3) setup below.
130#
131SAVED_TEMPLATE := $(TEMPLATE)
132include $(PATH_SUB_CURRENT)/VBoxUI.pro
133
134
135# Import images from VBoxUI.pro and add some additional ones
136# that differs between OSE and PEUL.
137VirtualBox_QT_IMAGES := $(IMAGES)
138ifdef VBOX_OSE
139 VirtualBox_QT_IMAGES += \
140 images/OSE/about.png \
141 images/OSE/about_tile.png \
142 images/OSE/about_16px.png \
143 images/OSE/VirtualBox_16px.png \
144 images/OSE/VirtualBox_20px.png \
145 images/OSE/VirtualBox_32px.png \
146 images/OSE/VirtualBox_40px.png \
147 images/OSE/VirtualBox_48px.png \
148 images/OSE/VirtualBox_64px.png \
149 images/OSE/VirtualBox_cube_42px.png
150else
151 VirtualBox_QT_IMAGES += \
152 images/NonOSE/about.png \
153 images/NonOSE/about_16px.png \
154 images/NonOSE/VirtualBox_16px.png \
155 images/NonOSE/VirtualBox_20px.png \
156 images/NonOSE/VirtualBox_32px.png \
157 images/NonOSE/VirtualBox_40px.png \
158 images/NonOSE/VirtualBox_48px.png \
159 images/NonOSE/VirtualBox_64px.png \
160 images/NonOSE/VirtualBox_cube_42px.png
161endif
162VirtualBox_QT_IMAGES := $(abspathex $(VirtualBox_QT_IMAGES),$(PATH_SUB_CURRENT))
163
164
165
166#
167# VirtualBox - The GUI program.
168#
169VirtualBox_TEMPLATE := $(if $(VBOX_WITH_HARDENING),VBOXQTGUI,VBOXQTGUIEXE)
170VirtualBox_NAME = VirtualBox3
171ifndef VBOX_WITH_HARDENING # For the launch trick we need different inode numbers.
172 ifeq ($(KBUILD_TARGET),darwin) ## @todo use .darwin when ticket 36 has been fixed.
173 #VirtualBox_INST.darwin = $(INST_BIN)VirtualBox3 $(INST_BIN)VirtualBoxVM3
174 VirtualBox_INST = $(INST_BIN)VirtualBox3 $(INST_BIN)VirtualBoxVM3
175 endif
176endif
177USES += qt3
178VirtualBox_USES = qt3
179VirtualBox_SDKS += QT3
180VirtualBox_QTTOOL = QT3
181VirtualBox_SDKS.win = WINPSDK DXSDK
182#ifeq ($(filter-out freebsd linux netbsd openbsd os2 solaris,$(KBUILD_TARGET)),) - later
183ifeq ($(filter-out freebsd linux netbsd openbsd os2,$(KBUILD_TARGET)),) # X11 + os2
184 VirtualBox_SDKS += LIBSDL
185endif
186
187# For testing iChat Theater stuff change the sdk path (HACK ALERT)
188ifdef VBOX_WITH_ICHAT_THEATER
189 VBOX_PATH_MACOSX_SDK = /Developer/SDKs/MacOSX10.5.sdk
190endif
191
192# Import translation sources
193VirtualBox_QT_TRANSLATIONS := $(TRANSLATIONS) \
194$(patsubst nls/VirtualBox_%.ts,nls/qt_%.ts, $(filter nls/VirtualBox_%.ts,$(TRANSLATIONS)))
195VirtualBox_LRCFLAGS = -nocompress
196VirtualBox_QT_TRANSLATIONS_INST = $(INST_BIN)nls3/
197
198# QDesigner UI sources are imported from VBoxUI.pro.
199## @todo move down.
200ifndef VBOX_WITH_REGISTRATION
201 FORMS := $(filter-out ui/VBoxRegistrationDlg.ui,$(FORMS))
202endif
203# OSE version is always necessary for lupdate/lrelease
204FORMS += ui/VBoxAboutDlg.ui
205$(eval VirtualBox_SOURCES += $(FORMS) )
206
207# Headers containing definitions of classes that use the Q_OBJECT macro
208VirtualBox_QT_MOCHDRS = \
209 include/QIWidgetValidator.h \
210 include/QIHotKeyEdit.h \
211 include/QIStatusBar.h \
212 include/QIStateIndicator.h \
213 include/QIMessageBox.h \
214 include/QIRichLabel.h \
215 include/VBoxGlobalSettings.h \
216 include/VBoxUtils.h \
217 include/VBoxGlobal.h \
218 include/VBoxVMListBox.h \
219 include/VBoxMediaComboBox.h \
220 include/VBoxSelectorWnd.h \
221 include/VBoxConsoleWnd.h \
222 include/VBoxConsoleView.h \
223 include/VBoxProblemReporter.h \
224 include/VBoxDownloaderWgt.h \
225 include/VBoxNetworkFramework.h
226
227# Sources containing local definitions of classes that use the Q_OBJECT macro
228VirtualBox_QT_MOCSRCS = src/VBoxSelectorWnd.cpp
229ifeq ($(filter-out freebsd linux netbsd openbsd solaris,$(KBUILD_TARGET)),) # X11
230 VirtualBox_QT_MOCSRCS += src/VBoxGlobal.cpp
231endif
232ifdef VBOX_WITH_XPCOM
233 VirtualBox_QT_MOCSRCS += src/COMDefs.cpp
234endif
235
236# UI headers (ui.h) containing local definitions of classes that use the Q_OBJECT macro
237## @todo move up
238VirtualBox_QT_MOCSRCS += \
239 ui/VBoxVMSettingsDlg.ui.h \
240 ui/VBoxVMLogViewer.ui.h \
241 ui/VBoxSharedFoldersSettings.ui.h \
242 ui/VBoxHardDiskSettings.ui.h
243
244VirtualBox_SOURCES += \
245 src/main.cpp \
246 src/COMDefs.cpp \
247 src/QIWidgetValidator.cpp \
248 src/QIHotKeyEdit.cpp \
249 src/QIStateIndicator.cpp \
250 src/QIStatusBar.cpp \
251 src/QIMessageBox.cpp \
252 src/QIRichLabel.cpp \
253 src/VBoxDefs.cpp \
254 src/VBoxGlobalSettings.cpp \
255 src/VBoxGlobal.cpp \
256 src/VBoxMediaComboBox.cpp \
257 src/VBoxProblemReporter.cpp \
258 src/VBoxSelectorWnd.cpp \
259 src/VBoxConsoleView.cpp \
260 src/VBoxConsoleWnd.cpp \
261 src/VBoxDownloaderWgt.cpp \
262 src/VBoxVMListBox.cpp \
263 src/VBoxFrameBuffer.cpp \
264 src/HappyHttp.cpp \
265 src/VBoxNetworkFramework.cpp
266
267ifeq ($(filter-out freebsd linux netbsd openbsd solaris,$(KBUILD_TARGET)),) # X11
268 VirtualBox_SOURCES += \
269 src/linux/XKeyboard-new.cpp
270endif
271
272VirtualBox_SOURCES.win += \
273 src/VBoxFBDDRAW.cpp \
274 $(PATH_VirtualBox)/VirtualBox.rc
275
276VirtualBox_SOURCES.darwin = \
277 src/darwin/DarwinKeyboard.cpp \
278 src/darwin/DarwinCursor.cpp \
279 src/darwin/VBoxAquaStyle.cpp \
280 src/darwin/VBoxUtils-darwin.cpp \
281 src/VBoxFBQuartz2D.cpp
282
283ifdef VBOX_WITH_ICHAT_THEATER
284 VirtualBox_SOURCES.darwin += \
285 src/darwin/VBoxIChatTheaterWrapper.m
286endif
287
288ifndef VBOX_OSE
289 VirtualBox_SOURCES += src/VBoxAboutNonOSEDlg.cpp
290 VirtualBox_QT_MOCHDRS += include/VBoxAboutNonOSEDlg.h
291endif
292
293VirtualBox_DEFS = VBOX_GUI_SEPARATE_VM_PROCESS
294VirtualBox_DEFS.debug = VBOX_GUI_DEBUG VBOX_CHECK_STATE # QT_FATAL_ASSERT
295VirtualBox_DEFS.darwin = VBOX_GUI_USE_QUARTZ2D VBOX_GUI_USE_QIMAGE VBOX_WITHOUT_QHTTP
296VirtualBox_DEFS.freebsd = VBOX_GUI_USE_QIMAGE VBOX_GUI_USE_SDL
297VirtualBox_DEFS.linux = VBOX_GUI_USE_QIMAGE #VBOX_GUI_USE_SDL
298VirtualBox_DEFS.netbsd = VBOX_GUI_USE_QIMAGE VBOX_GUI_USE_SDL
299VirtualBox_DEFS.openbsd = VBOX_GUI_USE_QIMAGE VBOX_GUI_USE_SDL
300VirtualBox_DEFS.os2 = VBOX_GUI_USE_QIMAGE VBOX_GUI_USE_SDL QT_DLL
301VirtualBox_DEFS.solaris = VBOX_GUI_USE_QIMAGE #VBOX_GUI_USE_SDL
302VirtualBox_DEFS.win = VBOX_GUI_USE_QIMAGE UNICODE QT_DLL
303VirtualBox_DEFS.win.amd64 = VBOX_WITHOUT_QHTTP
304#ifndef VBOX_OSE
305 VirtualBox_DEFS.darwin += VBOX_WITH_HACKED_QT
306#endif
307ifdef VBOX_WITH_ICHAT_THEATER
308 VirtualBox_DEFS.darwin += VBOX_WITH_ICHAT_THEATER
309endif
310ifneq ($(KBUILD_TYPE),release)
311 # non-release builds has some extra features.
312 VirtualBox_DEFS.win += VBOX_GUI_USE_DDRAW
313 VirtualBox_DEFS.linux += VBOX_GUI_USE_QIMAGE
314endif
315ifdef VBOX_WITH_REGISTRATION
316 VirtualBox_DEFS += VBOX_WITH_REGISTRATION
317endif
318ifdef VBOX_WITH_REGISTRATION_REQUEST
319 VirtualBox_DEFS += VBOX_WITH_REGISTRATION_REQUEST
320endif
321ifdef VBOX_WITH_ALSA
322 VirtualBox_DEFS += VBOX_WITH_ALSA
323endif
324ifdef VBOX_WITH_PULSE
325 VirtualBox_DEFS += VBOX_WITH_PULSE
326endif
327ifdef VBOX_WITH_E1000
328 VirtualBox_DEFS += VBOX_WITH_E1000
329endif
330ifdef VBOX_OSE
331 VirtualBox_DEFS += VBOX_OSE
332endif
333ifdef VBOX_WITH_DEBUGGER_GUI
334 VirtualBox_DEFS += VBOX_WITH_DEBUGGER_GUI_MENU
335endif
336ifdef VBOX_WITH_NETFLT
337 VirtualBox_DEFS += VBOX_WITH_NETFLT
338endif
339
340VirtualBox_INCS = \
341 . \
342 ./include \
343 $(PATH_VirtualBox)/include
344
345ifeq ($(KBUILD_TYPE),release)
346 VirtualBox_LDFLAGS.win += /SUBSYSTEM:windows
347else
348 VirtualBox_LDFLAGS.linux+= -rdynamic # for backtrace_symbols()
349 ifeq ($(USERNAME),dmik)
350 VirtualBox_LDFLAGS.win += /SUBSYSTEM:windows
351 else
352 VirtualBox_LDFLAGS.win += /SUBSYSTEM:console
353 endif
354endif
355VirtualBox_LDFLAGS.os2 = -Zlinker /PM:PM -Zno-fork
356VirtualBox_LDFLAGS.darwin = \
357 -framework IOKit -framework Carbon -framework QuickTime \
358 $(if $(VBOX_WITH_HARDENING),-install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VirtualBox3.dylib)
359ifdef VBOX_WITH_ICHAT_THEATER
360 VirtualBox_LDFLAGS.darwin += -framework Foundation -framework AppKit -framework InstantMessage -framework QuartzCore
361endif
362VirtualBox_LIBS.win = \
363 $(PATH_SDK_WINPSDK_LIB)/Htmlhelp.Lib \
364 $(PATH_SDK_DXSDK_LIB)/ddraw.lib \
365 $(PATH_SDK_DXSDK_LIB)/dxguid.lib
366VirtualBox_LIBS.os2 += $(PATH_DLL)/VBoxHlp$(VBOX_SUFF_DLL)
367ifeq ($(filter-out freebsd linux netbsd openbsd solaris,$(KBUILD_TARGET)),) # X11
368VirtualBox_LIBS += $(PATH_DLL)/VBoxKeyboard3$(VBOX_SUFF_DLL)
369endif
370
371
372ifdef VBOX_WITH_DEBUGGER_GUI ## @todo make this dynamically loadable and ship with release builds too.
373 ifeq ($(KBUILD_TARGET),win)
374 VirtualBox_LIBS += $(PATH_LIB)/VBoxDbg3$(VBOX_SUFF_LIB)
375 else
376 VirtualBox_LIBS += $(PATH_DLL)/VBoxDbg3$(VBOX_SUFF_DLL)
377 endif
378endif
379
380# Some flag hacks (should go away).
381ifneq ($(KBUILD_TARGET),win)
382 VirtualBox_src/HappyHttp.cpp_CXXFLAGS += -fexceptions
383 VirtualBox_src/VBoxDownloaderWgt.cpp_CXXFLAGS += -fexceptions
384 VirtualBox_src/VBoxNetworkFramework.cpp_CXXFLAGS += -fexceptions
385endif
386VirtualBox_src/HappyHttp.cpp_CXXFLAGS.linux += -O2
387
388## @todo how to detect what tool is used?
389## @todo GCC3 seems to lack -Wno-missing-base-class-initializer, so we use more generic -Wno-extra
390## @todo r=bird: see VirtualBox4.
391ifdef VBOX_WITH_XPCOM
392 VirtualBox_src/COMDefs.cpp_CXXFLAGS = $(VBOX_GCC_Wno-extra)
393endif
394
395#
396# static images imported from VBoxUI.pro as VirtualBox_QT_IMAGES
397#
398VirtualBox_BLDDIRS += $(PATH_VirtualBox)/ui
399VirtualBox_SOURCES += $(PATH_VirtualBox)/ui/vbox_image_collection.cpp
400VirtualBox_CLEAN += $(PATH_VirtualBox)/ui/vbox_image_collection.cpp $(PATH_VirtualBox)/ui/vbox_image_collection.txt
401
402$$(PATH_VirtualBox)/ui/vbox_image_collection.txt: $(PATH_SUB_CURRENT)/VBoxUI.pro $$(VirtualBox_QT_IMAGES) | $$(dir $$@)
403 $(RM) -f $@
404 $(APPEND) -v $@ VirtualBox_QT_IMAGES
405
406$$(PATH_VirtualBox)/ui/vbox_image_collection.cpp: $$(PATH_VirtualBox)/ui/vbox_image_collection.txt | $$(dir $$@)
407 $(call MSG_TOOL,uic,VirtualBox,$<,$@)
408 $(QUIET)$(VBOX_UIC) -o $@ -embed VBoxGUI -f $<
409
410
411#
412# Generate COM Wrappers
413#
414VirtualBox_BLDDIRS += $(PATH_VirtualBox)/include
415VirtualBox_CLEAN += $(PATH_VirtualBox)/include/COMWrappers.h
416VirtualBox_INTERMEDIATES += $(PATH_VirtualBox)/include/COMWrappers.h
417
418$$(PATH_VirtualBox)/include/COMWrappers.h: \
419 $(PATH_ROOT)/src/VBox/Main/idl/VirtualBox.xidl \
420 $(VBOX_PATH_VIRTUALBOX3_SRC)/include/COMWrappers.xsl \
421 | $$(dir $$@)
422 $(call MSG_GENERATE,VirtualBox,$<,$@)
423 $(QUIET)$(VBOX_XSLTPROC) -o $@ $(VBOX_PATH_VIRTUALBOX3_SRC)/include/COMWrappers.xsl $<
424
425# alias for generating the COM Wrappers file.
426testwrappers:: $(PATH_VirtualBox)/include/COMWrappers.h
427
428
429ifeq ($(KBUILD_TARGET),win)
430#
431# On Windows we'll have to generate/edit the resource file.
432# The IDI_ICON1 name is Qt specific.
433#
434$$(PATH_VirtualBox)/VirtualBox.rc: $(PATH_SUB_CURRENT)/Makefile.kmk $(VBOX_WINDOWS_ICON_FILE) | $$(dir $$@)
435 $(RM) -f $@
436 $(APPEND) $@ 'IDI_ICON1 ICON "$(subst /,\\,$(VBOX_WINDOWS_ICON_FILE))"'
437 $(CAT) $@
438
439VirtualBox_CLEAN.win += $(PATH_VirtualBox)/VirtualBox.rc
440endif # win
441
442
443if "$(KBUILD_TARGET)" == "darwin" && !defined(VBOX_WITH_QT4GUI) # don't conflict the qt4 gui
444#
445# On Mac OS X (darwin) we need to install icon resources and compulsory bundle contents.
446#
447$(warning The qt3 gui will not work right on it own after we renamed it to *3..)
448INSTALLS.darwin += VirtualBox3.app
449VirtualBox3.app_INST = $(INST_VIRTUALBOX)Contents/
450VirtualBox3.app_MODE = 644
451VirtualBox3.app_SOURCES = \
452 src/darwin/PkgInfo \
453 $(PATH_VirtualBox3.app)/Info.plist \
454 $(VBOX_MACOSX_ICON_FILE)=>Resources/virtualbox.icns
455
456$$(PATH_VirtualBox3.app)/Info.plist: $(PATH_SUB_CURRENT)/src/darwin/Info.plist $(VBOX_VERSION_MK) | $$(dir $$@)
457 $(call MSG_GENERATE,VirtualBox3.app,$<,$@)
458 $(QUIET)$(RM) -f $@
459 $(QUIET)$(SED) \
460 -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \
461 -e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/g' \
462 -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \
463 -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \
464 $< > $@
465
466INSTALLS.darwin += VirtualBoxVM3.app
467VirtualBoxVM3.app_INST = $(VirtualBox3.app_INST)Resources/VirtualBoxVM.app/Contents/
468VirtualBoxVM3.app_MODE = 644
469VirtualBoxVM3.app_SOURCES = \
470 src/darwin/VM-PkgInfo=>PkgInfo \
471 $(PATH_VirtualBoxVM3.app)/VM-Info.plist=>Info.plist \
472 $(VBOX_MACOSX_ICON_FILE)=>Resources/virtualbox.icns
473VirtualBoxVM3.app_SYMLINKS = \
474 MacOS=>../../../MacOS/
475
476$$(PATH_VirtualBoxVM3.app)/VM-Info.plist: $(PATH_SUB_CURRENT)/src/darwin/VM-Info.plist $(VBOX_VERSION_MK) | $$(dir $$@)
477 $(call MSG_GENERATE,VirtualBoxVM3.app,$<,$@)
478 $(QUIET)$(RM) -f $@
479 $(QUIET)$(SED) \
480 -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \
481 -e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/g' \
482 -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \
483 -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \
484 --output $@ \
485 $<
486endif # darwin && !qt4gui
487
488
489ifdef VBOX_WITH_TESTCASES
490 #
491 # Testcase for the darwin keyboard routines.
492 #
493 PROGRAMS.darwin += tstDarwinKeyboard
494 tstDarwinKeyboard_TEMPLATE = VBOXR3TSTEXE
495 tstDarwinKeyboard_NAME = tstDarwinKeyboard3
496 tstDarwinKeyboard_INCS = include
497 tstDarwinKeyboard_SOURCES = \
498 src/darwin/tstDarwinKeyboard.cpp \
499 src/darwin/DarwinKeyboard.cpp
500 tstDarwinKeyboard_LDFLAGS = -framework IOKit -framework Carbon
501 tstDarwinKeyboard_LIBS = \
502 $(LIB_RUNTIME)
503endif
504
505
506#
507# Restore / reset things to avoid possible conflicts with kBuild (VBoxUI.pro).
508#
509TEMPLATE := $(SAVED_TEMPLATE)
510LANGUAGE :=
511FORMS :=
512TRANSLATIONS :=
513IMAGES :=
514
515
516# Commit the magic.
517include $(KBUILD_PATH)/subfooter.kmk
518
519
520#
521# Update all known NLS translation (.ts) files in the nls/ subdirectory.
522#
523# NOTE: This target is intended to be run only by the GUI maintainer shortly
524# before a new product release. VirtualBox_xx_YY.ts is a template for new
525# languages and should never be actually translated or installed.
526#
527updatenls:: \
528 $(VirtualBox_SOURCES) \
529 $(wildcard include/*.h)
530 $(call MSG_L1,lupdate all languages (nls/*.ts))
531 $(QUIET)$(TOOL_QT3_LUPDATE) \
532 $^ \
533 -ts \
534 $(filter-out nls/qt_%.ts,$(VirtualBox_QT_TRANSLATIONS)) \
535 nls/VirtualBox_xx_YY.ts
536
Note: See TracBrowser for help on using the repository browser.

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