Makefile.kmk revision 7186f2c7f949bc84c835f0846565bf9634ff26a0
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync# $Id$
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync## @file
6d1a8b922859f63b629351cba4793043627d7c8fvboxsync# Sub-Makefile for the headless frontend.
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync#
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync#
51a909d272137afafb6e48492caa2ed38c4c9f77vboxsync# Copyright (C) 2006-2007 Oracle Corporation
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync#
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync# available from http://www.virtualbox.org. This file is free software;
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync# you can redistribute it and/or modify it under the terms of the GNU
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync# General Public License (GPL) as published by the Free Software
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync#
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
995825c1ba4ab8b5d5b52ce33327f4630ad7ca64vboxsyncSUB_DEPTH = ../../../..
27537ffef7291d0bb3a24e459a6b94c65586defevboxsyncinclude $(KBUILD_PATH)/subheader.kmk
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
6d1a8b922859f63b629351cba4793043627d7c8fvboxsyncinclude $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
bff1915a855c5b71d76f6391549eadda348e33b0vboxsyncifdef VBOX_WITH_FFMPEG
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync include $(PATH_SUB_CURRENT)/VideoCapture/Makefile.kmk
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsyncendif
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync#
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync# Targets.
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync#
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsyncifdef VBOX_WITH_HARDENING
1ad322f773b31e062dd725fddd0441e324096bb9vboxsync PROGRAMS += VBoxHeadlessHardened
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync DLLS += VBoxHeadless
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync VBOX_WITH_HEADLESS_DLL = 1
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsyncelse
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync if "$(KBUILD_TARGET)" == "win"
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync PROGRAMS += VBoxHeadlessSVC VBoxHeadlessC
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync DLLS += VBoxHeadless
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync VBOX_WITH_HEADLESS_DLL = 1
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync else
4a57ce2d8a2b7574c447193f04690a1b16db40ffvboxsync PROGRAMS += VBoxHeadless
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync endif
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsyncendif
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync#
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync# Hardened VBoxHeadless.
1ad322f773b31e062dd725fddd0441e324096bb9vboxsync#
7077822f79121ba2df987c6866063f836d1ba7c6vboxsyncVBoxHeadlessHardened_TEMPLATE = VBOXR3HARDENEDEXE
6d1a8b922859f63b629351cba4793043627d7c8fvboxsyncVBoxHeadlessHardened_SOURCES = VBoxHeadlessHardened.cpp
ffeca4c7b12d5de2123eb7085310dbdbcf1b8d87vboxsyncVBoxHeadlessHardened_NAME = VBoxHeadless
ffeca4c7b12d5de2123eb7085310dbdbcf1b8d87vboxsync
ffeca4c7b12d5de2123eb7085310dbdbcf1b8d87vboxsync#
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync# Console subsystem VBoxHeadless.
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync#
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsyncVBoxHeadlessC_TEMPLATE = VBOXMAINCLIENTEXE
bff1915a855c5b71d76f6391549eadda348e33b0vboxsyncVBoxHeadlessC_SOURCES = VBoxHeadless-win.cpp
4a57ce2d8a2b7574c447193f04690a1b16db40ffvboxsyncVBoxHeadlessC_NAME = VBoxHeadless
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsyncVBoxHeadlessC_LDFLAGS.win = /SUBSYSTEM:console
4a57ce2d8a2b7574c447193f04690a1b16db40ffvboxsyncVBoxHeadlessC_LIBS += $(PATH_STAGE_LIB)/VBoxHeadless$(VBOX_SUFF_LIB)
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync#
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync# Windows subsystem VBoxHeadless.
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync#
4a57ce2d8a2b7574c447193f04690a1b16db40ffvboxsyncVBoxHeadlessSVC_EXTENDS = VBoxHeadlessC
4a57ce2d8a2b7574c447193f04690a1b16db40ffvboxsyncVBoxHeadlessSVC_NAME = VBoxHeadlessSVC
4a57ce2d8a2b7574c447193f04690a1b16db40ffvboxsyncVBoxHeadlessSVC_LDFLAGS.win = /SUBSYSTEM:windows
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsyncVBoxHeadlessSVC_DEFS = VBOX_HEADLESS_SVC
4a57ce2d8a2b7574c447193f04690a1b16db40ffvboxsync
772269936494ffaddd0750ba9e28e805ba81398cvboxsync#
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync# VBoxHeadless
#
VBoxHeadless_TEMPLATE := $(if $(VBOX_WITH_HEADLESS_DLL),VBOXMAINCLIENTDLL,VBOXMAINCLIENTEXE)
VBoxHeadless_DEFS = VBOX_FFMPEG
VBoxHeadless_SOURCES = VBoxHeadless.cpp
VBoxHeadless_SOURCES += Framebuffer.cpp
ifdef VBOX_WITH_GUEST_PROPS
VBoxHeadless_DEFS += VBOX_WITH_GUEST_PROPS
endif
ifdef VBOX_WITH_HARDENING
VBoxHeadless_LDFLAGS.darwin += -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxHeadless.dylib
endif
ifdef VBOX_WITH_VNC # (GPL only)
VBoxHeadless_DEFS += VBOX_WITH_VNC
VBoxHeadless_SOURCES += FramebufferVNC.cpp
VBoxHeadless_LIBS += vncserver
endif
include $(KBUILD_PATH)/subfooter.kmk