VirtualBox

source: vbox/trunk/src/VBox/Frontends/VBoxBFE/Makefile.kmk@ 28587

Last change on this file since 28587 was 26982, checked in by vboxsync, 15 years ago

FE/BFE: VBoxBFE now uses MouseImpl from Main

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.9 KB
Line 
1# $Id: Makefile.kmk 26982 2010-03-03 10:28:21Z vboxsync $
2## @file
3# Sub-Makefile for VBoxBFE (a basic frontend which doesn't make use of Main).
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
24if !defined(VBOX_WITH_HARDENING) || "$(KBUILD_TARGET)" != "darwin" # No hardened VBoxBFE on darwin (.m).
25
26#
27# Files from Main needed for building VBoxBFE
28#
29VBOXBFE_MAIN_CPP = MouseImpl.cpp
30VBOXBFE_MAIN_H = MouseImpl.h ConsoleEvents.h
31
32#
33# Targets.
34#
35ifdef VBOX_WITH_HARDENING
36 PROGRAMS += VBoxBFEHardened
37 DLLS += VBoxBFE
38else
39 PROGRAMS += VBoxBFE
40endif
41
42
43#
44# Hardened VBoxBFE.
45#
46VBoxBFEHardened_TEMPLATE = VBOXR3HARDENEDEXE
47VBoxBFEHardened_SOURCES = VBoxBFEHardened.cpp
48VBoxBFEHardened_NAME = VBoxBFE
49
50
51#
52# VBoxBFE
53#
54VBoxBFE_TEMPLATE := $(if $(VBOX_WITH_HARDENING),VBOXR3NP,VBOXR3NPEXE)
55#ifdef VBOX_WITH_SECURELABEL
56#VBoxBFE_DEFS += VBOX_SECURELABEL
57#endif
58ifdef VBOX_WITH_VRDP
59VBoxBFE_DEFS += VBOX_WITH_VRDP
60endif
61VBoxBFE_DEFS += VBOXBFE_WITHOUT_COM
62ifdef VBOX_WITH_LINUX_COMPILER_H
63VBoxBFE_DEFS += VBOX_WITH_LINUX_COMPILER_H
64endif
65VBoxBFE_DEFS.freebsd = VBOXBFE_WITH_X11
66VBoxBFE_DEFS.l4 = _GNU_SOURCE
67VBoxBFE_DEFS.linux = _GNU_SOURCE VBOXBFE_WITH_X11
68VBoxBFE_DEFS.solaris = VBOXBFE_WITH_X11
69ifdef VBOX_WITH_CROSSBOW
70 VBoxBFE_DEFS.solaris += VBOX_WITH_CROSSBOW
71endif
72VBoxBFE_DEFS.win.x86 = _WIN32_WINNT=0x0500
73
74VBoxBFE_SOURCES = \
75 VBoxBFE.cpp \
76 VMMDevInterface.cpp \
77 DisplayImpl.cpp \
78 $(PATH_VBoxBFE)/MouseImpl.cpp \
79 KeyboardImpl.cpp \
80 StatusImpl.cpp \
81 MachineDebuggerImpl.cpp \
82 VMControl.cpp
83
84ifdef VBOX_WITH_HGCM
85VBoxBFE_DEFS += VBOX_WITH_HGCM
86VBoxBFE_SOURCES += \
87 HGCM.cpp \
88 HGCMThread.cpp \
89 HGCMObjects.cpp
90endif
91
92VBoxBFE_SOURCES.darwin = \
93 VBoxBFEMain-darwin.m
94
95VBoxBFE_SOURCES.l4 = \
96 L4Console.cpp \
97 L4Framebuffer.cpp \
98 L4IDLInterface.cpp \
99 EmulCpp.cpp
100
101# SDL
102ifneq ($(KBUILD_TARGET),l4)
103VBoxBFE_SDKS += LIBSDL
104VBoxBFE_DEFS += USE_SDL
105VBoxBFE_SOURCES += \
106 SDLConsole.cpp \
107 SDLFramebuffer.cpp
108endif
109
110# USB Support
111if1of ($(KBUILD_TARGET), l4 win)
112VBoxBFE_DEFS += VBOXBFE_WITH_USB
113VBoxBFE_SOURCES += \
114 HostUSBImpl.cpp \
115 HostUSBDeviceImpl.cpp \
116 USBProxyService.cpp
117VBoxBFE_SOURCES.l4 += \
118 USBProxyServiceLinux.cpp
119VBoxBFE_SOURCES.linux += \
120 USBProxyServiceLinux.cpp
121endif
122
123VBoxBFE_INCS = \
124 $(PATH_VBoxBFE) \
125 $(VBOX_PATH_SDK)/include \
126 $(PATH_ROOT)/src/VBox/Frontends/VBoxBFE
127ifneq ($(filter-out win os2 l4 darwin,$(KBUILD_TARGET)),) # X11
128VBoxBFE_INCS += \
129 $(VBOX_XCURSOR_INCS)
130endif
131
132VBoxBFE_LIBS = \
133 $(LIB_RUNTIME) \
134 $(LIB_VMM)
135ifneq ($(filter-out win os2 l4,$(KBUILD_TARGET)),)
136VBoxBFE_LIBS += \
137 $(LIB_REM)
138endif
139ifneq ($(filter-out win os2 l4 darwin,$(KBUILD_TARGET)),) # X11
140VBoxBFE_LIBS += \
141 $(VBOX_XCURSOR_LIBS) \
142 X11
143VBoxBFE_LIBPATH += \
144 $(VBOX_LIBPATH_X11)
145endif
146ifndef VBOX_WITHOUT_COM
147VBoxBFE_LIBS.win = \
148 $(PATH_TOOL_$(VBOX_VCC_TOOL)_ATLMFC_LIB)/atls.lib
149endif
150VBoxBFE_LIBS.l4 = \
151 $(L4_LIBDIR)/libl4con-idl.a \
152 $(L4_LIBDIR)/libconstream-server.a \
153 $(L4_LIBDIR)/libvboxctrl-server.a \
154 $(L4_LIBDIR)/libl4sys.a
155VBoxBFE_LIBS.darwin = \
156 $(LIB_SDK_LIBSDL_SDLMAIN)
157VBoxBFE_LDFLAGS.darwin = -framework Foundation -framework AppKit
158
159VBoxBFE_CXXFLAGS.l4 += -fno-rtti -nostdinc -Wno-non-virtual-dtor \
160 $(addprefix -I,$(VBOX_L4_GCC3_INCS) $(L4_INCDIR))
161## @todo why is it all this cool stuff here only for linux? If it's important, -fshort-wchar would apply to all GCC platforms.
162VBoxBFE_DEFS.linux = \
163 NDEBUG TRIMMED
164VBoxBFE_CXXFLAGS.linux = \
165 -fno-rtti -fno-exceptions -fshort-wchar -pthread
166
167VBoxBFE_CLEAN = $(PATH_VBoxBFE)/Ico64x01.h
168VBoxBFE_SDLConsole.cpp_DEPS = $(PATH_VBoxBFE)/Ico64x01.h
169
170# Convert the pnm-file to a byte array.
171$$(PATH_VBoxBFE)/Ico64x01.h: $(PATH_ROOT)/src/VBox/Frontends/VBoxBFE/ico64x01.pnm $(VBOX_BIN2C) | $$(dir $$@)
172 $(call MSG_TOOL,bin2c,VBoxBFE,$<,$@)
173 $(QUIET)$(VBOX_BIN2C) Ico64x01 $< $@
174
175VBoxBFE_DEPS += $(addprefix $(PATH_VBoxBFE)/,$(VBOXBFE_MAIN_CPP) $(VBOXBFE_MAIN_H))
176
177# Pattern rules for copying needed files from Main
178$(addprefix $$(PATH_VBoxBFE)/,$(VBOXBFE_MAIN_CPP)): \
179 $$(PATH_VBoxBFE)/% : $(PATH_ROOT)/src/VBox/Main/% | $$(dir $$@)
180 $(call MSG_INST_FILE,$<,$@)
181 $(QUIET)$(CP_EXT) $< $@
182
183$(addprefix $$(PATH_VBoxBFE)/,$(VBOXBFE_MAIN_H)): \
184 $$(PATH_VBoxBFE)/% : $(PATH_ROOT)/src/VBox/Main/include/% | $$(dir $$@)
185 $(call MSG_INST_FILE,$<,$@)
186 $(QUIET)$(CP_EXT) $< $@
187
188
189
190endif # !VBOX_WITH_HARDENING || !darwin
191include $(KBUILD_PATH)/subfooter.kmk
192
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