[2480] | 1 | # $Id: Makefile.kmk 33590 2010-10-29 08:55:09Z vboxsync $
|
---|
| 2 | ## @file
|
---|
[6759] | 3 | # Sub-Makefile for VBoxSDL (a simple frontend based on SDL).
|
---|
[1] | 4 | #
|
---|
| 5 |
|
---|
| 6 | #
|
---|
[28800] | 7 | # Copyright (C) 2006-2007 Oracle Corporation
|
---|
[4865] | 8 | #
|
---|
[5999] | 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 | #
|
---|
[1] | 17 |
|
---|
[10058] | 18 | SUB_DEPTH = ../../../..
|
---|
[8760] | 19 | include $(KBUILD_PATH)/subheader.kmk
|
---|
[12262] | 20 | if !defined(VBOX_WITH_HARDENING) || "$(KBUILD_TARGET)" != "darwin" # No hardened VBoxSDL on darwin.
|
---|
[1] | 21 |
|
---|
[11725] | 22 | #
|
---|
| 23 | # Targets.
|
---|
| 24 | #
|
---|
| 25 | ifdef VBOX_WITH_HARDENING
|
---|
[12258] | 26 | PROGRAMS += VBoxSDLHardened
|
---|
| 27 | DLLS += VBoxSDL
|
---|
[11725] | 28 | else
|
---|
| 29 | PROGRAMS += VBoxSDL
|
---|
| 30 | endif
|
---|
| 31 | PROGRAMS += tstSDL
|
---|
[1] | 32 |
|
---|
[11725] | 33 |
|
---|
[1] | 34 | #
|
---|
[11725] | 35 | # Hardened VBoxSDL
|
---|
| 36 | #
|
---|
| 37 | VBoxSDLHardened_TEMPLATE = VBOXR3HARDENEDEXE
|
---|
| 38 | VBoxSDLHardened_SOURCES = VBoxSDLHardened.cpp
|
---|
| 39 | VBoxSDLHardened_NAME = VBoxSDL
|
---|
| 40 |
|
---|
| 41 |
|
---|
| 42 | #
|
---|
[1] | 43 | # VBoxSDL
|
---|
| 44 | #
|
---|
[11725] | 45 | VBoxSDL_TEMPLATE := $(if $(VBOX_WITH_HARDENING),VBOXMAINCLIENTDLL,VBOXMAINCLIENTEXE)
|
---|
[1] | 46 | VBoxSDL_SDKS = LIBSDL
|
---|
| 47 | VBoxSDL_SOURCES = \
|
---|
| 48 | VBoxSDL.cpp \
|
---|
| 49 | Framebuffer.cpp \
|
---|
| 50 | Helper.cpp
|
---|
[5493] | 51 | VBoxSDL_SOURCES.darwin = \
|
---|
| 52 | VBoxSDLMain-darwin.m
|
---|
[5359] | 53 |
|
---|
[614] | 54 | VBoxSDL_DEFS =
|
---|
[20433] | 55 | ifdef VBOX_WITH_SDL13
|
---|
| 56 | VBoxSDL_DEFS += VBOX_WITH_SDL13
|
---|
| 57 | else
|
---|
| 58 | ifdef VBOX_WITH_SECURELABEL
|
---|
| 59 | VBoxSDL_DEFS += VBOX_SECURELABEL
|
---|
| 60 | endif
|
---|
[1] | 61 | endif
|
---|
[4637] | 62 | VBoxSDL_DEFS.freebsd = VBOXSDL_WITH_X11
|
---|
| 63 | VBoxSDL_DEFS.linux = _GNU_SOURCE VBOXSDL_WITH_X11
|
---|
| 64 | VBoxSDL_DEFS.solaris = VBOXSDL_WITH_X11
|
---|
[614] | 65 | ifdef VBOX_OPENGL
|
---|
| 66 | #VBoxSDL_DEFS.linux += VBOX_OPENGL
|
---|
| 67 | endif
|
---|
[1] | 68 | ifndef VBOX_OSE
|
---|
[12712] | 69 | # disable for now as this customer-specific GUI
|
---|
| 70 | # VBoxSDL_DEFS.win = VBOX_WIN32_UI
|
---|
[1] | 71 | endif
|
---|
| 72 | VBoxSDL_DEFS.win.x86 = _WIN32_WINNT=0x0500
|
---|
| 73 | VBoxSDL_DEFS.win.amd64 = _WIN32_WINNT=0x0510
|
---|
[5359] | 74 |
|
---|
[1] | 75 | VBoxSDL_INCS = \
|
---|
[614] | 76 | $(PATH_VBoxSDL)
|
---|
[8758] | 77 | ifeq ($(filter-out freebsd linux netbsd openbsd solaris,$(KBUILD_TARGET)),) # X11
|
---|
[5359] | 78 | VBoxSDL_INCS += \
|
---|
| 79 | $(VBOX_XCURSOR_INCS)
|
---|
| 80 | endif
|
---|
[8758] | 81 | ifneq ($(filter-out win solaris,$(KBUILD_TARGET)),)
|
---|
[5359] | 82 |
|
---|
[3325] | 83 | VBoxSDL_LIBS = \
|
---|
| 84 | $(LIB_SDK_LIBSDL_SDLMAIN)
|
---|
| 85 | endif
|
---|
[8758] | 86 | ifeq ($(filter-out freebsd linux netbsd openbsd solaris,$(KBUILD_TARGET)),) # X11
|
---|
[4888] | 87 | VBoxSDL_LIBS += \
|
---|
[29655] | 88 | $(PATH_DLL)/VBoxKeyboard$(VBOX_SUFF_DLL) \
|
---|
[5374] | 89 | $(VBOX_XCURSOR_LIBS) \
|
---|
[5575] | 90 | X11
|
---|
[4888] | 91 | VBoxSDL_LIBPATH = \
|
---|
| 92 | $(VBOX_LIBPATH_X11)
|
---|
| 93 | endif
|
---|
[1] | 94 | ifdef VBOX_OPENGL
|
---|
[614] | 95 | #VBoxSDL_LIBS.linux += GL
|
---|
[1] | 96 | endif
|
---|
[5359] | 97 |
|
---|
[4841] | 98 | VBoxSDL_LDFLAGS.darwin = \
|
---|
| 99 | -framework Foundation -framework AppKit
|
---|
[1] | 100 |
|
---|
| 101 | VBoxSDL_CLEAN = $(PATH_VBoxSDL)/Ico64x01.h
|
---|
[11728] | 102 | VBoxSDL_INTERMEDIATES = $(PATH_VBoxSDL)/Ico64x01.h
|
---|
[1] | 103 |
|
---|
| 104 |
|
---|
[12258] | 105 | # Convert the pnm-file to a byte array.
|
---|
| 106 | $$(PATH_VBoxSDL)/Ico64x01.h: $(PATH_ROOT)/src/VBox/Frontends/VBoxSDL/ico64x01.pnm $(VBOX_BIN2C) | $$(dir $$@)
|
---|
| 107 | $(call MSG_TOOL,bin2c,VBoxSDL,$<,$@)
|
---|
| 108 | $(QUIET)$(VBOX_BIN2C) Ico64x01 $< $@
|
---|
| 109 |
|
---|
| 110 | # Icon include file.
|
---|
[12267] | 111 | $$(PATH_VBoxSDL)/VBoxSDL-icon.rc: $(VBOX_WINDOWS_ICON_FILE) $$(VBoxSDL_PATH)/Makefile.kmk | $$(dir $$@)
|
---|
[12258] | 112 | $(RM) -f $@
|
---|
| 113 | $(APPEND) $@ 'IDI_VIRTUALBOX ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_FILE))"'
|
---|
| 114 |
|
---|
| 115 |
|
---|
| 116 |
|
---|
[1] | 117 | #
|
---|
| 118 | # tstSDL
|
---|
| 119 | #
|
---|
| 120 | tstSDL_TEMPLATE = VBOXR3NPEXE
|
---|
[5493] | 121 | tstSDL_SDKS = LIBSDL
|
---|
| 122 | tstSDL_INST = $(INST_TESTCASE)
|
---|
| 123 | tstSDL_SOURCES = \
|
---|
[1] | 124 | VBoxSDLTest.cpp
|
---|
[5493] | 125 | tstSDL_SOURCES.darwin = \
|
---|
| 126 | VBoxSDLMain-darwin.m
|
---|
| 127 | tstSDL_DEFS = IN_RING3 IN_RT_R3 _GNU_SOURCE
|
---|
[1] | 128 | tstSDL_DEFS.win.x86 = _WIN32_WINNT=0x0500
|
---|
| 129 | ifdef VBOX_OPENGL
|
---|
| 130 | tstSDL_DEFS.linux = VBOX_OPENGL
|
---|
| 131 | endif
|
---|
| 132 | tstSDL_INCS = \
|
---|
| 133 | $(PATH_tstSDL)
|
---|
| 134 |
|
---|
| 135 | tstSDL_LIBS = \
|
---|
| 136 | $(LIB_RUNTIME)
|
---|
[8758] | 137 | ifneq ($(filter-out win solaris,$(KBUILD_TARGET)),)
|
---|
[1] | 138 | tstSDL_LIBS += \
|
---|
[200] | 139 | $(LIB_SDK_LIBSDL_SDLMAIN)
|
---|
[1] | 140 | endif
|
---|
[4888] | 141 |
|
---|
[1] | 142 | ifdef VBOX_OPENGL
|
---|
| 143 | tstSDL_LIBS.linux += GL
|
---|
| 144 | endif
|
---|
[8758] | 145 | ifeq ($(filter-out freebsd linux netbsd openbsd solaris,$(KBUILD_TARGET)),) # X11
|
---|
[4888] | 146 | tstSDL_LIBPATH = \
|
---|
| 147 | $(VBOX_LIBPATH_X11)
|
---|
| 148 | endif
|
---|
| 149 |
|
---|
[4841] | 150 | tstSDL_LDFLAGS.darwin = \
|
---|
| 151 | -framework Foundation -framework AppKit
|
---|
[1] | 152 |
|
---|
[18422] | 153 | ## @todo What was this stuff doing here? The exception config is saying two different things, and why just -O for release builds?
|
---|
| 154 | #tstSDL_CXXFLAGS.win = \
|
---|
| 155 | # -EHsc
|
---|
| 156 | #tstSDL_CXXFLAGS.linux = \
|
---|
| 157 | # -DNDEBUG -DTRIMMED -O -Wall -fno-rtti -fno-exceptions \
|
---|
| 158 | # -Wno-non-virtual-dtor -Wno-long-long -fshort-wchar -pthread -pipe
|
---|
| 159 | # Is this what's intended? Why -fshort-wchar?
|
---|
| 160 | tstSDL_DEFS.linux = NDEBUG TRIMMED
|
---|
| 161 | tstSDL_CXXFLAGS.linux = -O -Wall -Wno-non-virtual-dtor -Wno-long-long -fshort-wchar
|
---|
[1] | 162 |
|
---|
| 163 |
|
---|
[12258] | 164 | endif # !VBOX_WITH_HARDENING || "$(KBUILD_TARGET)" != "darwin"
|
---|
[8760] | 165 | include $(KBUILD_PATH)/subfooter.kmk
|
---|
[1] | 166 |
|
---|