VirtualBox

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

Last change on this file since 43421 was 41477, checked in by vboxsync, 12 years ago

/Makefile.kmk: Cosmetic changes.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.5 KB
Line 
1# $Id: Makefile.kmk 41477 2012-05-29 11:43:27Z 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-2012 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_SRCS = src-client/MouseImpl.cpp
26VBOXBFE_MAIN_HDRS = 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
54VBoxBFE_DEFS += VBOXBFE_WITHOUT_COM
55ifdef VBOX_WITH_LINUX_COMPILER_H
56VBoxBFE_DEFS += VBOX_WITH_LINUX_COMPILER_H
57endif
58VBoxBFE_DEFS.freebsd = VBOXBFE_WITH_X11
59VBoxBFE_DEFS.linux = _GNU_SOURCE VBOXBFE_WITH_X11
60VBoxBFE_DEFS.solaris = VBOXBFE_WITH_X11
61VBoxBFE_DEFS.win.x86 = _WIN32_WINNT=0x0500
62
63VBoxBFE_SOURCES = \
64 VBoxBFE.cpp \
65 VMMDevInterface.cpp \
66 DisplayImpl.cpp \
67 KeyboardImpl.cpp \
68 StatusImpl.cpp \
69 MachineDebuggerImpl.cpp \
70 VMControl.cpp \
71 $(addprefix $(VBoxBFE_0_OUTDIR)/,$(notdir $(VBOXBFE_MAIN_SRCS)))
72
73ifdef VBOX_WITH_HGCM
74VBoxBFE_DEFS += VBOX_WITH_HGCM
75VBoxBFE_SOURCES += \
76 HGCM.cpp \
77 HGCMThread.cpp \
78 HGCMObjects.cpp
79endif
80
81VBoxBFE_SOURCES.darwin = \
82 VBoxBFEMain-darwin.m
83
84# SDL
85VBoxBFE_SDKS += LIBSDL
86VBoxBFE_DEFS += USE_SDL
87VBoxBFE_SOURCES += \
88 SDLConsole.cpp \
89 SDLFramebuffer.cpp
90
91VBoxBFE_INCS = \
92 $(VBoxBFE_0_OUTDIR) \
93 $(VBOX_PATH_SDK)/include \
94 $(PATH_ROOT)/src/VBox/Frontends/VBoxBFE
95ifneq ($(filter-out win os2 darwin,$(KBUILD_TARGET)),) # X11
96VBoxBFE_INCS += \
97 $(VBOX_XCURSOR_INCS)
98endif
99
100VBoxBFE_LIBS = \
101 $(LIB_RUNTIME) \
102 $(LIB_VMM)
103ifneq ($(filter-out win os2,$(KBUILD_TARGET)),)
104VBoxBFE_LIBS += \
105 $(LIB_REM)
106endif
107ifneq ($(filter-out win os2 darwin,$(KBUILD_TARGET)),) # X11
108VBoxBFE_LIBS += \
109 $(VBOX_XCURSOR_LIBS) \
110 X11
111VBoxBFE_LIBPATH += \
112 $(VBOX_LIBPATH_X11)
113endif
114ifndef VBOX_WITHOUT_COM
115VBoxBFE_LIBS.win = \
116 $(PATH_TOOL_$(VBOX_VCC_TOOL)_ATLMFC_LIB)/atls.lib
117endif
118VBoxBFE_LIBS.darwin = \
119 $(LIB_SDK_LIBSDL_SDLMAIN)
120VBoxBFE_LDFLAGS.darwin = -framework Foundation -framework AppKit
121
122## @todo why is it all this cool stuff here only for linux? If it's important, -fshort-wchar would apply to all GCC platforms.
123VBoxBFE_DEFS.linux = \
124 NDEBUG TRIMMED
125VBoxBFE_CXXFLAGS.linux = \
126 -fno-rtti -fno-exceptions -fshort-wchar -pthread
127
128VBoxBFE_CLEAN = $(VBoxBFE_0_OUTDIR)/Ico64x01.h
129VBoxBFE_SDLConsole.cpp_DEPS = $(VBoxBFE_0_OUTDIR)/Ico64x01.h
130
131# Convert the pnm-file to a byte array.
132$$(VBoxBFE_0_OUTDIR)/Ico64x01.h: $(PATH_ROOT)/src/VBox/Frontends/VBoxBFE/ico64x01.pnm $(VBOX_BIN2C) | $$(dir $$@)
133 $(call MSG_TOOL,bin2c,VBoxBFE,$<,$@)
134 $(QUIET)$(VBOX_BIN2C) Ico64x01 $< $@
135
136# Files we share with Main needs to be copied into the output dir.
137VBoxBFE_INTERMEDIATES = $(addprefix $(VBoxBFE_0_OUTDIR)/, $(VBOXBFE_MAIN_HDRS))
138VBoxBFE_CLEAN += $(addprefix $(VBoxBFE_0_OUTDIR)/, $(VBOXBFE_MAIN_HDRS) $(notdir $(VBOXBFE_MAIN_SRCS)))
139
140define def_copy_main_file
141$$(VBoxBFE_0_OUTDIR)/$(notdir $(file)): $(PATH_ROOT)/src/VBox/Main/$(file) | $$(dir $$@)
142 $(call MSG_INST_FILE,$<,$@)
143 $(QUIET)$(CP_EXT) -f $< $@
144endef
145$(foreach file,$(addprefix include/,$(VBOXBFE_MAIN_HDRS)), $(evalval def_copy_main_file))
146$(foreach file,$(VBOXBFE_MAIN_SRCS), $(evalval def_copy_main_file))
147
148
149
150if !defined(VBOX_ONLY_SDK) && defined(VBOX_WITH_TESTCASES)
151 #
152 # tstMouseImpl
153 #
154 PROGRAMS += tstMouseImpl
155 tstMouseImpl_TEMPLATE = VBOXR3TSTEXE
156 tstMouseImpl_DEFS = VBOXBFE_WITHOUT_COM
157 tstMouseImpl_SOURCES = \
158 testcase/tstMouseImpl.cpp \
159 $(addprefix $(VBoxBFE_0_OUTDIR)/,$(notdir $(VBOXBFE_MAIN_SRCS)))
160 tstMouseImpl_INCS = \
161 $(VBoxBFE_0_OUTDIR) \
162 $(VBOX_PATH_SDK)/include \
163 .
164 tstMouseImpl_INTERMEDIATES = $(addprefix $(VBoxBFE_0_OUTDIR)/, $(VBOXBFE_MAIN_HDRS))
165endif # !VBOX_ONLY_SDK
166
167
168endif # !VBOX_WITH_HARDENING || !darwin
169include $(FILE_KBUILD_SUB_FOOTER)
170
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use