VirtualBox

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

Last change on this file since 29607 was 28800, checked in by vboxsync, 15 years ago

Automated rebranding to Oracle copyright/license strings via filemuncher

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