Makefile.kmk revision 8c2a9fb31b350d4812d5f35727d1579196b4bfe8
# $Id$
## @file
# Sub-Makefile for the headless frontend.
#
#
# Copyright (C) 2006-2007 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
# General Public License (GPL) as published by the Free Software
# Foundation, in version 2 as it comes in the "COPYING" file of the
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
#
SUB_DEPTH = ../../../..
include $(KBUILD_PATH)/subheader.kmk
include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
ifdef VBOX_WITH_FFMPEG
include $(PATH_SUB_CURRENT)/VideoCapture/Makefile.kmk
endif
#
# Targets.
#
ifdef VBOX_WITH_HARDENING
PROGRAMS += VBoxHeadlessHardened
DLLS += VBoxHeadless
VBOX_WITH_HEADLESS_DLL = 1
else
if "$(KBUILD_TARGET)" == "win"
PROGRAMS += VBoxHeadlessSVC VBoxHeadlessC
DLLS += VBoxHeadless
VBOX_WITH_HEADLESS_DLL = 1
else
PROGRAMS += VBoxHeadless
endif
endif
#
# Hardened VBoxHeadless.
#
VBoxHeadlessHardened_TEMPLATE = VBOXR3HARDENEDEXE
VBoxHeadlessHardened_SOURCES = VBoxHeadlessHardened.cpp
VBoxHeadlessHardened_NAME = VBoxHeadless
#
# Console subsystem VBoxHeadless.
#
VBoxHeadlessC_TEMPLATE = VBOXMAINCLIENTEXE
VBoxHeadlessC_SOURCES = VBoxHeadless-win.cpp
VBoxHeadlessC_NAME = VBoxHeadless
VBoxHeadlessC_LDFLAGS.win = /SUBSYSTEM:console
VBoxHeadlessC_LIBS += $(PATH_STAGE_LIB)/VBoxHeadless$(VBOX_SUFF_LIB)
#
# Windows subsystem VBoxHeadless.
#
VBoxHeadlessSVC_EXTENDS = VBoxHeadlessC
VBoxHeadlessSVC_NAME = VBoxHeadlessSVC
VBoxHeadlessSVC_LDFLAGS.win = /SUBSYSTEM:windows
#
# 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