VirtualBox

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

Last change on this file since 3728 was 3610, checked in by vboxsync, 18 years ago

#2124: VirtualBox LogViewer search mechanism.
VirtualBox LogViewer default search mechanism implemented:

  1. The Search Mechanism panel could be invoked for the LogViewer with the opened logs inside by the Ctrl-F keys combination. If there is other opinions about how to invoke this panel (other combination, button or menu), please let me know.
  1. This mechanism allows the incremental search in forward direction and search for the required phrase in both directions. Currently supported key-combinations are F3/Shift-F3 and nls-linked Ctrl-N/Ctrl-P (Next/Previous - could be different for other languages).
  1. Case-Sensitive feature supported.
  1. Log-browser scrolling and selection upon the required target is found.
  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 16.6 KB
Line 
1# $Id: Makefile.kmk 3610 2007-07-13 11:17:50Z vboxsync $
2## @file
3# Makefile for the VirtualBox Qt GUI.
4#
5
6#
7# Copyright (C) 2006-2007 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 as published by the Free Software Foundation,
13# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
14# distribution. VirtualBox OSE is distributed in the hope that it will
15# be useful, but WITHOUT ANY WARRANTY of any kind.
16#
17# If you received this file as part of a commercial VirtualBox
18# distribution, then only the terms of your commercial VirtualBox
19# license agreement apply instead of the previous paragraph.
20#
21
22ifeq ($(BUILD_TARGET),linux)
23XKEYBOARD_NEW := 1
24endif
25
26# include qmake project file
27include VBoxUI.pro
28
29# Import QDesigner UI sources
30VirtualBox_QT_UISRCS := $(FORMS)
31# Import translation sources
32VirtualBox_QT_TRANSLATIONS := $(TRANSLATIONS)
33# Import images
34VirtualBox_QT_IMAGES := $(IMAGES)
35
36# reset things to avoid possible conflicts with kBuild
37TEMPLATE :=
38LANGUAGE :=
39FORMS :=
40TRANSLATIONS :=
41IMAGES :=
42
43DEPTH = ../../../..
44include $(PATH_KBUILD)/header.kmk
45
46PROGRAMS = VirtualBox
47
48INSTALLS = VirtualBox.nls
49
50VirtualBox_TEMPLATE = VBOXQTGUIEXE
51VirtualBox_SDKS.win = WINPSDK DXSDK
52VirtualBox_SDKS.linux = LIBSDL
53VirtualBox_SDKS.os2 = LIBSDL
54
55ifeq ($(BUILD_TARGET),darwin)
56# For the launch trick we need different inode numbers.
57VirtualBox_INST = $(INST_BIN)VirtualBox $(INST_BIN)VirtualBoxVM
58endif
59
60# Each nls/VirtualBox_xx_YY.ts file must have a qt_xx_YY.ts counterpart
61VirtualBox_QT_TRANSLATIONS_QT := \
62 $(patsubst nls/VirtualBox_%.ts,nls/qt_%.ts,\
63 $(filter nls/VirtualBox_%.ts,$(VirtualBox_QT_TRANSLATIONS)))
64
65# QDesigner UI sources are imported from VBoxUI.pro as VirtualBox_QT_UISRC
66
67# Headers containing definitions of classes that use the Q_OBJECT macro
68VirtualBox_QT_MOCHDRS = \
69 include/QIWidgetValidator.h \
70 include/QIHotKeyEdit.h \
71 include/QIStatusBar.h \
72 include/QIStateIndicator.h \
73 include/QIMessageBox.h \
74 include/QIRichLabel.h \
75 include/VBoxGlobalSettings.h \
76 include/VBoxUtils.h \
77 include/VBoxGlobal.h \
78 include/VBoxVMListBox.h \
79 include/VBoxMediaComboBox.h \
80 include/VBoxSelectorWnd.h \
81 include/VBoxConsoleWnd.h \
82 include/VBoxConsoleView.h \
83 include/VBoxProblemReporter.h
84
85# Sources containing local definitions of classes that use the Q_OBJECT macro
86VirtualBox_QT_MOCSRCS = src/VBoxSelectorWnd.cpp
87ifdef VBOX_WITH_XPCOM
88VirtualBox_QT_MOCSRCS += src/COMDefs.cpp
89endif
90
91# UI headers (ui.h) containing local definitions of classes that use the Q_OBJECT macro
92VirtualBox_QT_MOCUIHDRS = \
93 ui/VBoxVMSettingsDlg.ui.h \
94 ui/VBoxVMLogViewer.ui.h \
95 ui/VBoxSharedFoldersSettings.ui.h
96
97
98# All generated sources. Note: this list MUST be in sync with Qt source
99# generation rules defined somewhere below!
100VirtualBox_GENSRCS = \
101 $(foreach moc,$(notdir $(basename $(VirtualBox_QT_MOCHDRS))), $(PATH_VirtualBox)/moc/moc_$(moc).cpp) \
102 $(foreach ui,$(notdir $(basename $(VirtualBox_QT_UISRCS))), $(PATH_VirtualBox)/ui/$(ui).cpp $(PATH_VirtualBox)/moc/moc_$(ui).cpp) \
103 $(PATH_VirtualBox)/ui/vbox_image_collection.cpp
104
105# All generated headers. Note: this list MUST be in sync with Qt source
106# generation rules defined somewhere below!
107VirtualBox_GENHDRS = \
108 $(foreach mocui,$(notdir $(basename $(VirtualBox_QT_MOCUIHDRS))), $(PATH_VirtualBox)/moc/$(mocui).moc) \
109 $(foreach moc,$(notdir $(basename $(VirtualBox_QT_MOCSRCS))), $(PATH_VirtualBox)/moc/$(moc).moc) \
110 $(foreach ui,$(notdir $(basename $(VirtualBox_QT_UISRCS))), $(PATH_VirtualBox)/ui/$(ui).h)
111
112# All existing .ui.h files for known .ui sources
113VirtualBox_QT_UIHDRS = \
114 $(wildcard $(addsuffix .h,$(VirtualBox_QT_UISRCS)))
115
116# All header files
117VirtualBox_HEADERS = \
118 $(wildcard include/*.h) \
119 $(VirtualBox_GENHDRS) \
120 $(VirtualBox_QT_UIHDRS)
121
122
123VirtualBox_SOURCES = \
124 $(VirtualBox_GENSRCS) \
125 src/main.cpp \
126 src/COMDefs.cpp \
127 src/QIWidgetValidator.cpp \
128 src/QIHotKeyEdit.cpp \
129 src/QIStateIndicator.cpp \
130 src/QIStatusBar.cpp \
131 src/QIMessageBox.cpp \
132 src/QIRichLabel.cpp \
133 src/VBoxGlobalSettings.cpp \
134 src/VBoxGlobal.cpp \
135 src/VBoxMediaComboBox.cpp \
136 src/VBoxProblemReporter.cpp \
137 src/VBoxSelectorWnd.cpp \
138 src/VBoxConsoleView.cpp \
139 src/VBoxConsoleWnd.cpp \
140 src/VBoxVMListBox.cpp \
141 src/VBoxFrameBuffer.cpp
142
143VirtualBox_SOURCES.win += \
144 src/win32/VirtualBox.rc
145
146VirtualBox_SOURCES.win += \
147 src/VBoxFBDDRAW.cpp
148
149VirtualBox_SOURCES.linux = \
150 src/linux/XKeyboard.cpp \
151 src/linux/keyboard.c \
152 src/linux/XKeyboardNew.cpp
153
154VirtualBox_SOURCES.darwin = \
155 src/darwin/DarwinKeyboard.cpp \
156 src/darwin/DarwinCursor.cpp \
157 src/darwin/VBoxAquaStyle.cpp \
158 src/darwin/VBoxUtils-darwin.cpp
159
160## @todo how to detect what tool is used?
161## @todo GCC3 seems to lack -Wno-missing-base-class-initializer, so we use
162# more generic -Wno-extra
163ifdef VBOX_WITH_XPCOM
164src/COMDefs.cpp_CXXFLAGS = $(VBOX_GCC_Wno-extra)
165endif
166
167VirtualBox_DEFS = VBOX_GUI_SEPARATE_VM_PROCESS
168VirtualBox_DEFS.debug = VBOX_GUI_DEBUG VBOX_CHECK_STATE # QT_FATAL_ASSERT
169VirtualBox_DEFS.darwin = VBOX_GUI_USE_QIMAGE
170VirtualBox_DEFS.linux = VBOX_GUI_USE_SDL
171VirtualBox_DEFS.win = VBOX_GUI_USE_QIMAGE UNICODE QT_DLL
172VirtualBox_DEFS.os2 = VBOX_GUI_USE_QIMAGE VBOX_GUI_USE_SDL QT_DLL
173#ifndef VBOX_OSE
174 VirtualBox_DEFS.darwin += VBOX_WITH_HACKED_QT
175#endif
176ifneq ($(BUILD_TYPE),release)
177 # non-release builds has some extra features.
178 VirtualBox_DEFS += VBOX_GUI_USE_REFRESH_TIMER VBOX_WITH_DEBUGGER_GUI_MENU
179 VirtualBox_DEFS.win += VBOX_GUI_USE_DDRAW
180 VirtualBox_DEFS.linux += VBOX_GUI_USE_QIMAGE
181endif
182ifdef VBOX_WITH_ALSA
183 VirtualBox_DEFS += VBOX_WITH_ALSA
184endif
185ifdef VBOX_OSE
186 VirtualBox_DEFS += VBOX_OSE
187endif
188
189VirtualBox_INCS = \
190 ./include \
191 $(PATH_VirtualBox)/ui \
192 $(PATH_VirtualBox)/moc \
193 $(PATH_VirtualBox)/include \
194
195
196ifeq ($(BUILD_TYPE),release)
197 VirtualBox_LDFLAGS.win += /SUBSYSTEM:windows
198else
199 VirtualBox_LDFLAGS.linux+= -rdynamic # for backtrace_symbols()
200 ifeq ($(USERNAME),dmik)
201 VirtualBox_LDFLAGS.win += /SUBSYSTEM:windows
202 else
203 VirtualBox_LDFLAGS.win += /SUBSYSTEM:console
204 endif
205endif
206VirtualBox_LDFLAGS.darwin = -framework IOKit
207VirtualBox_LIBS.win = \
208 $(PATH_SDK_WINPSDK_LIB)/Htmlhelp.Lib \
209 $(PATH_SDK_DXSDK_LIB)/ddraw.lib \
210 $(PATH_SDK_DXSDK_LIB)/dxguid.lib
211
212ifdef VBOX_WITH_DEBUGGER_GUI
213 ifeq ($(BUILD_TARGET),win)
214 VirtualBox_LIBS += $(PATH_LIB)/VBoxDbg$(VBOX_SUFF_LIB)
215 else
216 VirtualBox_LIBS += $(PATH_DLL)/VBoxDbg$(VBOX_SUFF_DLL)
217 endif
218endif
219
220WRAPPERSFILE = $(PATH_VirtualBox)/include/COMWrappers.h
221WRAPPERSINCFILE = include/COMDefs.h
222WRAPPERSTEMPLATE = include/COMWrappers.xsl
223XIDLFILE = ../../Main/idl/VirtualBox.xidl
224
225
226# generated files we need to clean manually
227OTHER_CLEAN = \
228 $(VirtualBox_GENSRCS) \
229 $(VirtualBox_GENHDRS) \
230 $(WRAPPERSFILE)
231
232
233#
234# On Mac OS X (darwin) we need to install icon resources and compusory bundle contents.
235#
236INSTALLS.darwin += VirtualBox.app
237VirtualBox.app_INST = $(INST_VIRTUALBOX)Contents/
238VirtualBox.app_MODE = 644
239VirtualBox.app_SOURCES = \
240 src/darwin/PkgInfo \
241 $(PATH_TARGET)/Info.plist \
242 images/VirtualBox.icns=>Resources/virtualbox.icns
243
244$(PATH_TARGET)/Info.plist: src/darwin/Info.plist $(VBOX_VERSION_MK) | $(call DIRDEP,$(PATH_TARGET))
245 $(call MSG_GENERATE,VirtualBox.app,$<,$@)
246 $(QUIET)$(RM) -f $@
247 $(QUIET)$(SED) \
248 -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \
249 -e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/g' \
250 -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \
251 -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \
252 $< > $@
253
254INSTALLS.darwin += VirtualBoxVM.app
255VirtualBoxVM.app_INST = $(VirtualBox.app_INST)Resources/VirtualBoxVM.app/Contents/
256VirtualBoxVM.app_MODE = 644
257VirtualBoxVM.app_SOURCES = \
258 src/darwin/VM-PkgInfo=>PkgInfo \
259 $(PATH_TARGET)/VM-Info.plist=>Info.plist \
260 images/VirtualBox.icns=>Resources/virtualbox.icns
261VirtualBoxVM.app_SYMLINKS = \
262 MacOS=>../../../MacOS/
263
264$(PATH_TARGET)/VM-Info.plist: src/darwin/VM-Info.plist $(VBOX_VERSION_MK) | $(call DIRDEP,$(PATH_TARGET))
265 $(call MSG_GENERATE,VirtualBoxVM.app,$<,$@)
266 $(QUIET)$(RM) -f $@
267 $(QUIET)$(SED) \
268 -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \
269 -e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/g' \
270 -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \
271 -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \
272 $< > $@
273
274#
275# Translation installation
276#
277
278VirtualBox.nls_INST = $(INST_BIN)nls/
279VirtualBox.nls_SOURCES = $(patsubst %.ts,$(PATH_VirtualBox)/nls/%.qm,$(notdir $(VirtualBox_QT_TRANSLATIONS)))
280VirtualBox.nls_SOURCES += $(patsubst %.ts,$(PATH_VirtualBox)/nls/%.qm,$(notdir $(VirtualBox_QT_TRANSLATIONS_QT)))
281VirtualBox.nls_MODE = 644
282
283
284#
285# Testcase for the darwin keyboard routines.
286#
287ifdef VBOX_WITH_TESTCASES
288PROGRAMS.darwin += tstDarwinKeyboard
289tstDarwinKeyboard_TEMPLATE = VBOXR3TSTEXE
290tstDarwinKeyboard_INCS = include
291tstDarwinKeyboard_SOURCES = \
292 src/darwin/tstDarwinKeyboard.cpp \
293 src/darwin/DarwinKeyboard.cpp
294tstDarwinKeyboard_LDFLAGS = -framework IOKit -framework Carbon
295tstDarwinKeyboard_LIBS = \
296 $(LIB_RUNTIME)
297endif
298
299
300
301# Commit the magic.
302# (note: before custom rules that make usage of generated variables!).
303include $(PATH_KBUILD)/footer.kmk
304
305
306
307#
308# Qt source file generation rules
309#
310
311## @todo move QT source generation macros to kBuild
312
313## Generate a rule to create a MOC source file from a header containing
314# classes that use the Q_OBJECT macro.
315# @param $mochdr header file with Q_OBJECT
316define def_qt_gen_src_moc
317
318$(eval mocsrc := $(PATH_$(target))/moc/moc_$(notdir $(basename $(mochdr))).cpp)
319
320$(target)_GENSRCS_REAL += $(mocsrc)
321
322$(mocsrc): $(mochdr)
323 $$(call MSG_TOOL,moc,$(target),$(mochdr),$$@)
324 $$(QUIET)$$(MKDIR) -p $$(@D)
325 $$(QUIET)$$(VBOX_MOC) $(mochdr) -o $$@
326
327endef
328
329## Generate a rule to create a MOC include file from a source containing
330# local classes that use the Q_OBJECT macro. This include is then included
331# by that source, so it must be generated before the source gets compiled.
332# @param $mocsrc source file with Q_OBJECT
333define def_qt_gen_inc_moc
334
335$(eval mocobj := $(PATH_$(target)_$(mocsrc))/$(notdir $(basename $(mocsrc)))$(VBOX_SUFF_OBJ))
336$(eval mocinc := $(PATH_$(target))/moc/$(notdir $(basename $(mocsrc))).moc)
337
338$(target)_GENHDRS_REAL += $(mocinc)
339
340$(mocobj): $(mocinc)
341
342.NOTPARALLEL: $(mocinc)
343$(mocinc): $(mocsrc)
344 $$(call MSG_TOOL,moc,$(target),$(mocsrc),$$@)
345 $$(QUIET)$$(MKDIR) -p $$(@D)
346 $$(QUIET)$$(VBOX_MOC) -i $(mocsrc) -o $$@
347
348endef
349
350## Generate a rule to create a MOC include file from a UI header (ui.h) containing
351# local classes that use the Q_OBJECT macro. This include is then included
352# by that header, so it must be generated before the UI source gets compiled.
353# @param $mocuihdr UI header file with Q_OBJECT
354define def_qt_gen_inc_mocuihdr
355
356$(eval uisrc := $(PATH_$(target))/ui/$(notdir $(basename $(basename $(mocuihdr)))).cpp)
357$(eval uiobj := $(PATH_$(target)_$$(uisrc))/$(notdir $(basename $$(uisrc)))$(VBOX_SUFF_OBJ))
358$(eval mocuiinc := $(PATH_$(target))/moc/$(notdir $(basename $(mocuihdr))).moc)
359
360$(target)_GENHDRS_REAL += $(mocuiinc)
361
362.NOTPARALLEL: $(mocuiinc)
363$(uisrc): $(mocuiinc)
364$(mocuiinc): $(mocuihdr)
365 $$(call MSG_TOOL,moc,$(target),$(mocuihdr),$$@)
366 $$(QUIET)$$(MKDIR) -p $$(@D)
367 $$(QUIET)$$(VBOX_MOC) -i $(mocuihdr) -o $$@
368
369endef
370
371## Generate a rule to create a header and source files from an UI
372# definition source (.ui).
373# @param $uifile UI definintion source file
374define def_qt_gen_src_ui
375
376$(eval uisrc := $(PATH_$(target))/ui/$(notdir $(basename $(uifile))).cpp)
377$(eval uihdr := $(PATH_$(target))/ui/$(notdir $(basename $(uifile))).h)
378$(eval mocsrc := $(PATH_$(target))/moc/moc_$(notdir $(basename $(uifile))).cpp)
379
380$(target)_GENSRCS_REAL += $(uisrc) $(mocsrc)
381$(target)_GENHDRS_REAL += $(uihdr)
382
383.NOTPARALLEL: $(uihdr)
384$(uihdr): $(uifile) | $$(call DIRDEP,$(dir $(uihdr)))
385 $$(call MSG_TOOL,uic,$(target),$(uifile),$$@)
386 $$(QUIET)$$(VBOX_UIC) $(uifile) -o $$@
387
388$(uisrc): $(uihdr) $(uifile) $(wildcard $(uifile).h) | $$(call DIRDEP,$(dir $(uisrc)))
389 $$(call MSG_TOOL,uic,$(target),$(uifile),$$@)
390 $$(QUIET)$$(VBOX_UIC) $(uifile) -i $(uihdr) -o $$@
391
392$(mocsrc): $(uihdr) | $$(call DIRDEP,$(dir $(mocsrc)))
393 $$(call MSG_TOOL,moc,$(target),$(uihdr),$$@)
394 $$(QUIET)$$(VBOX_MOC) $(uihdr) -o $$@
395
396endef
397
398## Generate a rule to create a .qm file from a NLS translation
399# source (.ts).
400# @param $tsfile Translation source file
401define def_qt_gen_nls
402
403$(eval qmfile := $(PATH_$(target))/nls/$(notdir $(basename $(tsfile))).qm)
404
405OTHER_CLEAN += $(qmfile)
406
407# Note that we use -nocompress in lrelease to avoid stripping comments and
408# other information from .qm files. If we don't do that, we get .qm files two
409# times smaller, but QTranslator::findMessage() will start searching for
410# translations in all existing contexts in case if it cannot find it in the
411# original context (which is of course not acceptable, no matter if it's a
412# special Qt "feature" or just a bug).
413
414$(qmfile): $(tsfile) | $$(call DIRDEP,$(dir $(qmfile)))
415 $$(call MSG_TOOLS,lrelease,$(target),$(tsfile),$$@)
416 $$(QUIET)$$(VBOX_LRELEASE) -nocompress $(tsfile) -qm $$@
417
418endef
419
420## Generate rules for generating the Qt source for a target.
421# @param $target Target name.
422define def_qt_gen_src
423
424# moc srcs from hdrs with Q_OBJECT
425$(foreach mochdr,$($(target)_QT_MOCHDRS),$(eval $(def_qt_gen_src_moc)))
426# moc includes from srcs with Q_OBJECT
427$(foreach mocsrc,$($(target)_QT_MOCSRCS),$(eval $(def_qt_gen_inc_moc)))
428# moc includes from UI headers with Q_OBJECT
429$(foreach mocuihdr,$($(target)_QT_MOCUIHDRS),$(eval $(def_qt_gen_inc_mocuihdr)))
430# UI sources
431$(foreach uifile,$($(target)_QT_UISRCS),$(eval $(def_qt_gen_src_ui)))
432# NLS files
433$(foreach tsfile,$($(target)_QT_TRANSLATIONS),$(eval $(def_qt_gen_nls)))
434$(foreach tsfile,$($(target)_QT_TRANSLATIONS_QT),$(eval $(def_qt_gen_nls)))
435# dirs
436$$(call DIRDEP,$(PATH_$(target))/ui/) \
437$$(call DIRDEP,$(PATH_$(target))/moc/) \
438$$(call DIRDEP,$(PATH_$(target))/nls/):
439 $$(call MSG_MKDIR,$$@)
440 $$(QUIET)$$(MKDIR) -p $$@
441
442endef
443
444# Generate Qt source rules.
445$(foreach target,VirtualBox,$(eval $(def_qt_gen_src)))
446
447
448# Generate COM Wrappers
449.NOTPARALLEL: $(WRAPPERSFILE) $(WRAPPERSINCFILE)
450
451$(WRAPPERSINCFILE): $(WRAPPERSFILE)
452
453$(WRAPPERSFILE): $(XIDLFILE) $(WRAPPERSTEMPLATE) | $(call DIRDEP,$(PATH_VirtualBox)/include/)
454 $(call MSG_TOOL,xsltproc,VirtualBox,$<,$@)
455 $(QUIET)$(VBOX_XSLTPROC) -o $@ $(WRAPPERSTEMPLATE) $<
456
457$(call DIRDEP,$(PATH_VirtualBox)/include/):
458 $(call MSG_MKDIR,$@)
459 $(QUIET)$(MKDIR) -p $@
460
461# this is actually necessary only for Win32 target with disabled dependencies
462define def_wrapper_deps
463$(src): $(WRAPPERSFILE) $(WRAPPERSINCFILE)
464endef
465
466$(foreach src,$(VirtualBox_SOURCES),$(eval $(def_wrapper_deps)))
467
468# static images imported from VBoxUI.pro as VirtualBox_QT_IMAGES
469
470$(PATH_VirtualBox)/ui/vbox_image_collection.txt: VBoxUI.pro $(VirtualBox_QT_IMAGES)
471 @echo " \
472 $(VirtualBox_QT_IMAGES) \
473 " > $@
474
475$(PATH_VirtualBox)/ui/vbox_image_collection.cpp: $(PATH_VirtualBox)/ui/vbox_image_collection.txt
476 $(call MSG_TOOL,uic,VirtualBox,$<,$@)
477 $(QUIET)$(VBOX_UIC) -o $@ -embed VBoxGUI -f $<
478
479VirtualBox_GENSRCS += $(PATH_VirtualBox)/ui/vbox_image_collection.cpp
480OTHER_CLEAN += $(PATH_VirtualBox)/ui/vbox_image_collection.txt
481
482
483#
484# Hand made dependencies go here.
485# Basically, here are dependencies for generated UI source files that
486# include generated headers in turn.
487#
488
489$(PATH_VirtualBox)/ui/VBoxDiskImageManagerDlg.cpp: \
490 $(PATH_VirtualBox)/ui/VBoxNewHDWzd.h
491
492# Make all generated UI sources dependent on all generated headers (since they
493# may include them). This is safer than indifidual dependencies above but
494# currently disabled, because will cause all UI sources to be rebuilt one a
495# single one changes.
496#$(patsubst %,$(PATH_VirtualBox)/ui/%.cpp,$(notdir $(basename $(VirtualBox_QT_UISRCS)))) : $(VirtualBox_GENHDRS)
497
498
499#
500# Custom targets
501#
502
503# Update all known NLS translation (.ts) files in the nls/ subdirectory.
504# NOTE: This target is intened to be run only by the GUI maintainer shortly
505# before a new product release. VirtualBox_xx_YY.ts is a template for new
506# languages and should never be actually translated or installed.
507updatenls: $(VirtualBox_SOURCES) $(VirtualBox_HEADERS)
508 $(call MSG_L1,lupdate all languages (nls/*.ts))
509 $(QUIET)$(VBOX_LUPDATE) $^ -ts $(VirtualBox_QT_TRANSLATIONS) nls/VirtualBox_xx_YY.ts
510
511
512#
513# Test targets
514#
515
516test:
517 @echo ====================
518 @echo $(VirtualBox_GENSRCS) | $(SED) -e "s/ /\n/g"
519 @echo --------------------
520 @echo $(VirtualBox_GENSRCS_REAL) | $(SED) -e "s/ /\n/g"
521 @echo ====================
522 @echo $(VirtualBox_GENHDRS) | $(SED) -e "s/ /\n/g"
523 @echo --------------------
524 @echo $(VirtualBox_GENHDRS_REAL) | $(SED) -e "s/ /\n/g"
525 @echo ====================
526
527test2:
528 @echo $(OTHER_CLEAN) | $(SED) -e "s/ /\n/g"
529
530test3:
531 @echo $(VirtualBox_HEADERS) | $(SED) -e "s/ /\n/g"
532
533testwrappers: $(WRAPPERSFILE)
534
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