Makefile.kmk revision 4e46eee5a96078ebec6cb36939b794a391f1ade0
52676b598e9afd834db7f3e62a983044038e92bevboxsync# $Id$
52676b598e9afd834db7f3e62a983044038e92bevboxsync## @file
52676b598e9afd834db7f3e62a983044038e92bevboxsync# Makefile for VBoxSDL (a simple frontend based on SDL).
52676b598e9afd834db7f3e62a983044038e92bevboxsync#
52676b598e9afd834db7f3e62a983044038e92bevboxsync
52676b598e9afd834db7f3e62a983044038e92bevboxsync#
aae8a6a38fd27661046ab1d06cb2cb5c096c40edvboxsync# Copyright (C) 2006-2007 innotek GmbH
52676b598e9afd834db7f3e62a983044038e92bevboxsync#
52676b598e9afd834db7f3e62a983044038e92bevboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
52676b598e9afd834db7f3e62a983044038e92bevboxsync# available from http://www.virtualbox.org. This file is free software;
52676b598e9afd834db7f3e62a983044038e92bevboxsync# you can redistribute it and/or modify it under the terms of the GNU
52676b598e9afd834db7f3e62a983044038e92bevboxsync# General Public License as published by the Free Software Foundation,
52676b598e9afd834db7f3e62a983044038e92bevboxsync# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
52676b598e9afd834db7f3e62a983044038e92bevboxsync# distribution. VirtualBox OSE is distributed in the hope that it will
52676b598e9afd834db7f3e62a983044038e92bevboxsync# be useful, but WITHOUT ANY WARRANTY of any kind.
52676b598e9afd834db7f3e62a983044038e92bevboxsync
52676b598e9afd834db7f3e62a983044038e92bevboxsyncDEPTH = ../../../..
52676b598e9afd834db7f3e62a983044038e92bevboxsyncinclude $(PATH_KBUILD)/header.kmk
52676b598e9afd834db7f3e62a983044038e92bevboxsync
52676b598e9afd834db7f3e62a983044038e92bevboxsyncPROGRAMS = VBoxSDL tstSDL
52676b598e9afd834db7f3e62a983044038e92bevboxsync
43747b1f0bc8302a238fb35e55857a5e9aa1933dvboxsync
52676b598e9afd834db7f3e62a983044038e92bevboxsync#
43747b1f0bc8302a238fb35e55857a5e9aa1933dvboxsync# VBoxSDL
52676b598e9afd834db7f3e62a983044038e92bevboxsync#
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync
43747b1f0bc8302a238fb35e55857a5e9aa1933dvboxsyncVBoxSDL_TEMPLATE = VBOXMAINCLIENTEXE
52676b598e9afd834db7f3e62a983044038e92bevboxsyncVBoxSDL_SDKS = LIBSDL
52676b598e9afd834db7f3e62a983044038e92bevboxsyncVBoxSDL_SOURCES = \
52676b598e9afd834db7f3e62a983044038e92bevboxsync VBoxSDL.cpp \
52676b598e9afd834db7f3e62a983044038e92bevboxsync Framebuffer.cpp \
52676b598e9afd834db7f3e62a983044038e92bevboxsync Helper.cpp
bb33bc2ad72088bbb39737f7145a6cfbe1f65780vboxsyncifndef VBOX_OSE
bb33bc2ad72088bbb39737f7145a6cfbe1f65780vboxsync VBoxSDL_SOURCES.win= \
bb33bc2ad72088bbb39737f7145a6cfbe1f65780vboxsync win32/WinUI.cpp \
bb33bc2ad72088bbb39737f7145a6cfbe1f65780vboxsync win32/TitlebarButtons.cpp \
bb33bc2ad72088bbb39737f7145a6cfbe1f65780vboxsync win32/VBoxSDL.rc
bb33bc2ad72088bbb39737f7145a6cfbe1f65780vboxsyncendif
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsyncVBoxSDL_DEFS =
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsyncifdef VBOX_WITH_SECURELABEL
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsync VBoxSDL_DEFS += VBOX_SECURELABEL
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsyncendif
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsyncifdef VBOX_WITH_VRDP
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsync VBoxSDL_DEFS += VBOX_VRDP
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsyncendif
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsyncVBoxSDL_DEFS.freebsd = VBOXSDL_WITH_X11
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsyncVBoxSDL_DEFS.linux = _GNU_SOURCE VBOXSDL_WITH_X11
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsyncVBoxSDL_DEFS.solaris = VBOXSDL_WITH_X11
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsyncifdef VBOX_OPENGL
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsync #VBoxSDL_DEFS.linux += VBOX_OPENGL
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsyncendif
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsyncifndef VBOX_OSE
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsync VBoxSDL_DEFS.win = VBOX_WIN32_UI
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsyncendif
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsyncVBoxSDL_DEFS.win.x86 = _WIN32_WINNT=0x0500
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsyncVBoxSDL_DEFS.win.amd64 = _WIN32_WINNT=0x0510
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsyncVBoxSDL_INCS = \
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsync $(PATH_BIN)/sdk/include \
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsync $(PATH_VBoxSDL)
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsyncifndef ($(filter-out win,$(BUILD_TARGET),)
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsyncVBoxSDL_LIBS = \
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsync $(LIB_SDK_LIBSDL_SDLMAIN)
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsyncendif
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsyncVBoxSDL_LIBS.linux = \
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsync $(LIB_XCURSOR)
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsyncVBoxSDL_LDFLAGS.darwin = \
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsync -framework Foundation -framework AppKit
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsyncifdef VBOX_OPENGL
a41a001e5a4dd3f39faab90b412243ced6d59394vboxsync #VBoxSDL_LIBS.linux += GL
52676b598e9afd834db7f3e62a983044038e92bevboxsyncendif
52676b598e9afd834db7f3e62a983044038e92bevboxsyncVBoxSDL_LIBPATH.linux = \
c3ad07071523338d76960d8da7678860aea8b03dvboxsync $(VBOX_LIBPATH_X11)
c3ad07071523338d76960d8da7678860aea8b03dvboxsync
c3ad07071523338d76960d8da7678860aea8b03dvboxsyncVBoxSDL_CLEAN = $(PATH_VBoxSDL)/Ico64x01.h
c3ad07071523338d76960d8da7678860aea8b03dvboxsyncFramebuffer.cpp_DEPS = $(PATH_VBoxSDL)/Ico64x01.h
c3ad07071523338d76960d8da7678860aea8b03dvboxsync
2a5babc3ace611a3a900b61ff0659923994840bfvboxsync
c3ad07071523338d76960d8da7678860aea8b03dvboxsync#
c3ad07071523338d76960d8da7678860aea8b03dvboxsync# tstSDL
c3ad07071523338d76960d8da7678860aea8b03dvboxsync#
c3ad07071523338d76960d8da7678860aea8b03dvboxsynctstSDL_TEMPLATE = VBOXR3NPEXE
c3ad07071523338d76960d8da7678860aea8b03dvboxsynctstSDL_SDKS = LIBSDL
c3ad07071523338d76960d8da7678860aea8b03dvboxsynctstSDL_INST = $(INST_TESTCASE)
c3ad07071523338d76960d8da7678860aea8b03dvboxsynctstSDL_SOURCES = \
c3ad07071523338d76960d8da7678860aea8b03dvboxsync VBoxSDLTest.cpp
c3ad07071523338d76960d8da7678860aea8b03dvboxsynctstSDL_DEFS = IN_RING3 IN_RT_R3 _GNU_SOURCE
c3ad07071523338d76960d8da7678860aea8b03dvboxsynctstSDL_DEFS.win.x86 = _WIN32_WINNT=0x0500
c3ad07071523338d76960d8da7678860aea8b03dvboxsyncifdef VBOX_OPENGL
c3ad07071523338d76960d8da7678860aea8b03dvboxsynctstSDL_DEFS.linux = VBOX_OPENGL
c3ad07071523338d76960d8da7678860aea8b03dvboxsyncendif
c3ad07071523338d76960d8da7678860aea8b03dvboxsynctstSDL_INCS = \
c3ad07071523338d76960d8da7678860aea8b03dvboxsync $(PATH_tstSDL)
c3ad07071523338d76960d8da7678860aea8b03dvboxsync
c3ad07071523338d76960d8da7678860aea8b03dvboxsynctstSDL_LIBS = \
c3ad07071523338d76960d8da7678860aea8b03dvboxsync $(LIB_RUNTIME)
c3ad07071523338d76960d8da7678860aea8b03dvboxsyncifneq ($(filter-out win,$(BUILD_TARGET)),) # someone PLEASE explain why we don't use sdl main!
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsynctstSDL_LIBS += \
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsync $(LIB_SDK_LIBSDL_SDLMAIN)
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsyncendif
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsyncifdef VBOX_OPENGL
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsynctstSDL_LIBS.linux += GL
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsyncendif
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsynctstSDL_LIBPATH.linux = \
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsync $(VBOX_LIBPATH_X11)
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsynctstSDL_LDFLAGS.darwin = \
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsync -framework Foundation -framework AppKit
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsync
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsynctstSDL_CXXFLAGS.win = \
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsync -EHsc
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsynctstSDL_CXXFLAGS.linux = \
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsync -DNDEBUG -DTRIMMED -O -Wall -fno-rtti -fno-exceptions \
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsync -Wno-non-virtual-dtor -Wno-long-long -fshort-wchar -pthread -pipe
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsync
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsync
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsync# generate rules
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsyncinclude $(PATH_KBUILD)/footer.kmk
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsync
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsync
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsync# Convert the pnm-file to a byte array.
d8e275cd91c18ccd5bea15647cb4e03494df2472vboxsync$(PATH_VBoxSDL)/Ico64x01.h: ico64x01.pnm $(VBOX_BIN2C) | $(call DIRDEP,$(PATH_VBoxSDL))
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsync $(call MSG_TOOL,bin2c,VBoxSDL,$<,$@)
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsync $(QUIET)$(VBOX_BIN2C) Ico64x01 $< $@
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsync
d239ea80a55b621f0f0e0710e8a1b4762ddd6d0avboxsync