VirtualBox

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

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

group X11, SDL and USB to make porting easier.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 3.2 KB
Line 
1# $Id: Makefile.kmk 4914 2007-09-20 08:40:48Z vboxsync $
2## @file
3# Makefile for VBoxBFE (a basic frontend which doesn't make use of Main).
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
17DEPTH = ../../../..
18include $(PATH_KBUILD)/header.kmk
19
20PROGRAMS = VBoxBFE
21
22#
23# VBoxBFE
24#
25VBoxBFE_TEMPLATE = VBOXR3NPEXE
26#ifdef VBOX_WITH_SECURELABEL
27#VBoxBFE_DEFS += VBOX_SECURELABEL
28#endif
29ifdef VBOX_WITH_VRDP
30VBoxBFE_DEFS += VBOX_VRDP
31endif
32ifneq ($(BUILD_TARGET).$(VBOX_WITHOUT_COM),win.)
33VBoxBFE_DEFS += VBOXBFE_WITHOUT_COM
34endif
35ifdef VBOX_WITHOUT_LINUX_COMPILER_H
36VBoxBFE_DEFS += VBOX_WITHOUT_LINUX_COMPILER_H
37endif
38VBoxBFE_DEFS.freebsd = VBOXBFE_WITH_X11
39VBoxBFE_DEFS.l4 = _GNU_SOURCE
40VBoxBFE_DEFS.linux = _GNU_SOURCE VBOXBFE_WITH_X11
41VBoxBFE_DEFS.solaris = VBOXBFE_WITH_X11 VBOXBFE_WITHOUT_XCURSOR
42VBoxBFE_DEFS.win.x86 = _WIN32_WINNT=0x0500
43
44VBoxBFE_SOURCES = \
45 VBoxBFE.cpp \
46 VMMDevInterface.cpp \
47 DisplayImpl.cpp \
48 MouseImpl.cpp \
49 KeyboardImpl.cpp \
50 StatusImpl.cpp \
51 MachineDebuggerImpl.cpp
52
53VBoxBFE_SOURCES.l4 = \
54 L4Console.cpp \
55 L4Framebuffer.cpp \
56 EmulCpp.cpp
57
58# SDL
59ifneq ($(BUILD_TARGET),l4)
60VBoxBFE_SDKS += LIBSDL
61VBoxBFE_DEFS += USE_SDL
62VBoxBFE_SOURCES += \
63 SDLConsole.cpp \
64 SDLFramebuffer.cpp
65endif
66
67# USB Support
68ifneq ($(filter-out os2 darwin,$(BUILD_TARGET)),)
69VBoxBFE_DEFS += VBOXBFE_WITH_USB
70VBoxBFE_SOURCES += \
71 HostUSBImpl.cpp \
72 HostUSBDeviceImpl.cpp \
73 USBProxyService.cpp
74VBoxBFE_SOURCES.l4 += \
75 USBProxyServiceLinux.cpp
76VBoxBFE_SOURCES.linux += \
77 USBProxyServiceLinux.cpp
78endif
79
80VBoxBFE_INCS = \
81 $(PATH_VBoxBFE) \
82 $(PATH_BIN)/sdk/include
83VBoxBFE_INCS.linux = \
84 $(PATH_BIN)/sdk/include \
85 $(VBOX_XPCOM_INCS)
86
87VBoxBFE_LIBS = \
88 $(LIB_RUNTIME) \
89 $(LIB_VMM)
90ifneq ($(filter-out win os2 l4,$(BUILD_TARGET)),)
91VBoxBFE_LIBS += \
92 $(LIB_REM)
93endif
94#ifneq ($(filter-out win os2 l4 darwin,$(BUILD_TARGET)),) # X11
95ifneq ($(filter-out win os2 l4 darwin solaris,$(BUILD_TARGET)),) # X11 - todo fix solaris Xcursor
96VBoxBFE_LIBS += \
97 $(LIB_XCURSOR)
98VBoxBFE_LIBPATH += \
99 $(VBOX_LIBPATH_X11)
100endif
101ifndef VBOX_WITHOUT_COM
102VBoxBFE_LIBS.win = \
103 $(PATH_TOOL_$(VBOX_VCC_TOOL)_ATLMFC_LIB)/atls.lib
104endif
105VBoxBFE_LIBS.l4 = \
106 $(L4_LIBDIR)/libl4con-idl.a \
107 $(L4_LIBDIR)/libdm_generic.a \
108 $(L4_LIBDIR)/libdm_mem.a \
109 $(L4_LIBDIR)/libnames.a \
110 $(L4_LIBDIR)/libconstream-server.a \
111 $(L4_LIBDIR)/libl4sys.a
112VBoxBFE_LIBS.darwin = \
113 $(LIB_SDK_LIBSDL_SDLMAIN)
114VBoxBFE_LDFLAGS.darwin = -framework Foundation -framework AppKit
115
116VBoxBFE_LIBPATH.linux = \
117 $(LIBPATH_XPCOM) ## why?
118
119
120VBoxBFE_CXXFLAGS.win = \
121 -EHsc
122VBoxBFE_CXXFLAGS.linux = \
123 -DNDEBUG -DTRIMMED -O -Wall -fno-rtti -fno-exceptions \
124 -Wno-non-virtual-dtor -Wno-long-long -fshort-wchar -pthread -pipe
125VBoxBFE_CXXFLAGS.l4 += -fno-rtti -nostdinc -Wno-non-virtual-dtor \
126 $(addprefix -I,$(VBOX_L4_GCC3_INCS) $(L4_INCDIR))
127VBoxBFE_CFLAGS.linux += -O ## @todo what's this good for?
128
129
130include $(PATH_KBUILD)/footer.kmk
131
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