Makefile.kmk revision 607049337dcf359292c82c9372a2c19d9c4cdd2f
5693N/A# $Id$
5693N/A## @file
5693N/A# Makefile for VBoxSDL (a simple frontend based on SDL).
5693N/A#
5693N/A
5693N/A#
5693N/A# Copyright (C) 2006-2007 innotek GmbH
5693N/A#
5693N/A# This file is part of VirtualBox Open Source Edition (OSE), as
6982N/A# available from http://www.virtualbox.org. This file is free software;
6982N/A# you can redistribute it and/or modify it under the terms of the GNU
5693N/A# General Public License as published by the Free Software Foundation,
5693N/A# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
5693N/A# distribution. VirtualBox OSE is distributed in the hope that it will
6982N/A# be useful, but WITHOUT ANY WARRANTY of any kind.
5693N/A
6982N/ADEPTH = ../../../..
6982N/Ainclude $(PATH_KBUILD)/header.kmk
6982N/A
6982N/APROGRAMS = VBoxSDL tstSDL
5693N/A
5693N/A
5693N/A#
5693N/A# VBoxSDL
5693N/A#
5693N/A
5693N/AVBoxSDL_TEMPLATE = VBOXMAINCLIENTEXE
5693N/AVBoxSDL_SDKS = LIBSDL
5693N/AVBoxSDL_SOURCES = \
5693N/A VBoxSDL.cpp \
5693N/A Framebuffer.cpp \
5693N/A Helper.cpp
5693N/Aifndef VBOX_OSE
5693N/A VBoxSDL_SOURCES.win= \
5693N/A win32/WinUI.cpp \
5693N/A win32/TitlebarButtons.cpp \
5693N/A win32/VBoxSDL.rc
5693N/Aendif
5693N/AVBoxSDL_DEFS =
5693N/Aifdef VBOX_WITH_SECURELABEL
5693N/A VBoxSDL_DEFS += VBOX_SECURELABEL
5693N/Aendif
5693N/Aifdef VBOX_WITH_VRDP
5693N/A VBoxSDL_DEFS += VBOX_VRDP
5693N/Aendif
5693N/AVBoxSDL_DEFS.freebsd = VBOXSDL_WITH_X11
5693N/AVBoxSDL_DEFS.linux = _GNU_SOURCE VBOXSDL_WITH_X11
5693N/AVBoxSDL_DEFS.solaris = VBOXSDL_WITH_X11
5693N/AVBoxSDL_DEFS.solaris += VBOX_WITHOUT_XCURSOR ## @todo build xcursor or something.
5693N/Aifdef VBOX_OPENGL
5693N/A #VBoxSDL_DEFS.linux += VBOX_OPENGL
5693N/Aendif
5693N/Aifndef VBOX_OSE
5693N/A VBoxSDL_DEFS.win = VBOX_WIN32_UI
5693N/Aendif
5693N/AVBoxSDL_DEFS.win.x86 = _WIN32_WINNT=0x0500
5693N/AVBoxSDL_DEFS.win.amd64 = _WIN32_WINNT=0x0510
5693N/AVBoxSDL_INCS = \
5693N/A $(PATH_BIN)/sdk/include \
5693N/A $(PATH_VBoxSDL)
5693N/Aifndef ($(filter-out win solaris,$(BUILD_TARGET),)
5693N/AVBoxSDL_LIBS = \
5693N/A $(LIB_SDK_LIBSDL_SDLMAIN)
5693N/Aendif
5693N/Aifeq ($(filter-out freebsd linux netbsd openbsd solaris,$(BUILD_TARGET)),) # X11
5693N/Aifneq ($(BUILD_TARGET),solaris) ## @todo Xcursor on solaris.
5693N/AVBoxSDL_LIBS += \
5693N/A $(LIB_XCURSOR)
5693N/Aendif
5693N/AVBoxSDL_LIBPATH = \
5693N/A $(VBOX_LIBPATH_X11)
5693N/AVBoxSDL_INCS.freebsd = \
5693N/A /usr/include \
5693N/A /usr/local/include \
5693N/A /usr/X11R6/include ## @todo figure this out.
5693N/Aendif
5693N/AVBoxSDL_LIBS.solaris = \
5693N/A $(LIB_X11)
5693N/Aifdef VBOX_OPENGL
5693N/A #VBoxSDL_LIBS.linux += GL
5693N/Aendif
5693N/AVBoxSDL_LDFLAGS.darwin = \
5693N/A -framework Foundation -framework AppKit
5693N/A
5693N/AVBoxSDL_CLEAN = $(PATH_VBoxSDL)/Ico64x01.h
5693N/AFramebuffer.cpp_DEPS = $(PATH_VBoxSDL)/Ico64x01.h
5693N/A
5693N/A
5693N/A#
5693N/A# tstSDL
5693N/A#
5693N/AtstSDL_TEMPLATE = VBOXR3NPEXE
5693N/AtstSDL_SDKS = LIBSDL
5693N/AtstSDL_INST = $(INST_TESTCASE)
5693N/AtstSDL_SOURCES = \
5693N/A VBoxSDLTest.cpp
5693N/AtstSDL_DEFS = IN_RING3 IN_RT_R3 _GNU_SOURCE
5693N/AtstSDL_DEFS.win.x86 = _WIN32_WINNT=0x0500
5693N/Aifdef VBOX_OPENGL
5693N/AtstSDL_DEFS.linux = VBOX_OPENGL
5693N/Aendif
5693N/AtstSDL_INCS = \
5693N/A $(PATH_tstSDL)
5693N/A
5693N/AtstSDL_LIBS = \
5693N/A $(LIB_RUNTIME)
5693N/Aifneq ($(filter-out win,$(BUILD_TARGET)),) # someone PLEASE explain why we don't use sdl main!
5693N/AtstSDL_LIBS += \
5693N/A $(LIB_SDK_LIBSDL_SDLMAIN)
5693N/Aendif
5693N/A
5693N/Aifdef VBOX_OPENGL
5693N/AtstSDL_LIBS.linux += GL
5693N/Aendif
5693N/Aifeq ($(filter-out freebsd linux netbsd openbsd solaris,$(BUILD_TARGET)),) # X11
5693N/AtstSDL_LIBPATH = \
5693N/A $(VBOX_LIBPATH_X11)
5693N/AtstSDL_INCS.freebsd = \
5693N/A /usr/include \
5693N/A /usr/local/include \
5693N/A /usr/X11R6/include ## @todo figure this out.
5693N/Aendif
5693N/A
5693N/AtstSDL_LDFLAGS.darwin = \
5693N/A -framework Foundation -framework AppKit
5693N/A
5693N/AtstSDL_CXXFLAGS.win = \
5693N/A -EHsc
5693N/AtstSDL_CXXFLAGS.linux = \
5693N/A -DNDEBUG -DTRIMMED -O -Wall -fno-rtti -fno-exceptions \
5693N/A -Wno-non-virtual-dtor -Wno-long-long -fshort-wchar -pthread -pipe
5693N/A
5693N/A
5693N/A# generate rules
5693N/Ainclude $(PATH_KBUILD)/footer.kmk
5693N/A
5693N/A
# Convert the pnm-file to a byte array.
$(PATH_VBoxSDL)/Ico64x01.h: ico64x01.pnm $(VBOX_BIN2C) | $(call DIRDEP,$(PATH_VBoxSDL))
$(call MSG_TOOL,bin2c,VBoxSDL,$<,$@)
$(QUIET)$(VBOX_BIN2C) Ico64x01 $< $@