Makefile.kmk revision cd6f71bc352f550074f1ba2c830a2cf2f0b3dd46
# $Id$
## @file
# Top-level makefile for src/VBox.
#
#
# Copyright (C) 2006-2010 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
ifdef VBOX_SINGLE_MAKEFILE
ifdef VBOX_ONLY_ADDITIONS
include $(PATH_SUB_CURRENT)/Runtime/Makefile.kmk
ifdef VBOX_WITH_CROGL
if1of ($(KBUILD_TARGET),win linux solaris freebsd)
include $(PATH_SUB_CURRENT)/GuestHost/Makefile.kmk
endif
endif
include $(PATH_SUB_CURRENT)/Additions/Makefile.kmk
else ifdef VBOX_ONLY_TESTSUITE
include $(PATH_SUB_CURRENT)/Runtime/Makefile.kmk
include $(PATH_SUB_CURRENT)/HostDrivers/Makefile.kmk
include $(PATH_SUB_CURRENT)/Additions/Makefile.kmk
include $(PATH_SUB_CURRENT)/Testsuite/Makefile.kmk
else ifdef VBOX_ONLY_DOCS
include $(PATH_SUB_CURRENT)/Runtime/Makefile.kmk
include $(PATH_SUB_CURRENT)/HostDrivers/Makefile.kmk
include $(PATH_SUB_CURRENT)/Frontends/Makefile.kmk
else ifdef VBOX_ONLY_SDK
include $(PATH_SUB_CURRENT)/Main/Makefile.kmk
ifdef VBOX_WITH_VRDP
include $(PATH_SUB_CURRENT)/RDP/Makefile.kmk
endif
include $(PATH_SUB_CURRENT)/Installer/Makefile.kmk
include $(PATH_SUB_CURRENT)/Frontends/VBoxShell/Makefile.kmk
else
ifdef VBOX_WITH_MAIN
include $(PATH_SUB_CURRENT)/Main/Makefile.kmk # Do this one first because of soap.
endif
include $(PATH_SUB_CURRENT)/Runtime/Makefile.kmk
include $(PATH_SUB_CURRENT)/Disassembler/Makefile.kmk
include $(PATH_SUB_CURRENT)/Storage/Makefile.kmk
if1of ($(KBUILD_TARGET_ARCH), amd64 x86)
include $(PATH_SUB_CURRENT)/VMM/Makefile.kmk
include $(PATH_SUB_CURRENT)/Devices/Makefile.kmk
include $(PATH_SUB_CURRENT)/HostDrivers/Makefile.kmk
include $(PATH_SUB_CURRENT)/HostServices/Makefile.kmk
endif
ifdef VBOX_WITH_DEBUGGER
include $(PATH_SUB_CURRENT)/Debugger/Makefile.kmk
endif
include $(PATH_SUB_CURRENT)/Frontends/Makefile.kmk
ifdef VBOX_WITH_VRDP
include $(PATH_SUB_CURRENT)/RDP/Makefile.kmk
endif
if defined(VBOX_WITH_CROGL) || defined(VBOX_WITH_HGSMI) || defined(VBOX_WITH_HGCM)
include $(PATH_SUB_CURRENT)/GuestHost/Makefile.kmk
endif
ifdef VBOX_WITH_ADDITIONS
include $(PATH_SUB_CURRENT)/Additions/Makefile.kmk
endif
ifdef VBOX_WITH_TESTSUITE
include $(PATH_SUB_CURRENT)/Testsuite/Makefile.kmk
endif
if1of ($(KBUILD_TARGET_ARCH), amd64 x86)
include $(PATH_SUB_CURRENT)/NetworkServices/Makefile.kmk
endif
ifdef VBOX_WITH_INSTALLER
include $(PATH_SUB_CURRENT)/Installer/Makefile.kmk # Keep this last.
endif
endif # !VBOX_ONLY_ADDITIONS && !VBOX_ONLY_DOCS
else # !VBOX_SINGLE_MAKEFILE
ifdef VBOX_ONLY_ADDITIONS
SUBDIRS = Runtime
ifdef VBOX_WITH_CROGL
SUBDIRS += GuestHost
endif
SUBDIRS += Additions
else ifdef VBOX_ONLY_DOCS
SUBDIRS = \
Runtime \
Frontends \
HostDrivers
else ifdef VBOX_ONLY_SDK
SUBDIRS = \
Main \
RDP \
Installer
else # !VBOX_ONLY_ADDITIONS && !VBOX_ONLY_DOCS
SUBDIRS_BLDPROGS = Devices Main
SUBDIRS = \
Runtime \
HostDrivers \
VMM \
Devices \
Disassembler
ifdef VBOX_WITH_CROGL
SUBDIRS += GuestHost
endif
SUBDIRS += HostServices
ifdef VBOX_WITH_DEBUGGER
SUBDIRS += Debugger
endif
ifdef VBOX_WITH_MAIN
SUBDIRS += Main
endif
ifdef VBOX_WITH_VRDP
SUBDIRS += RDP
endif
ifdef VBOX_WITH_ADDITIONS
SUBDIRS += Additions
endif
ifdef VBOX_WITH_TESTSUITE
SUBDIRS += Testsuite
endif
SUBDIRS += \
Frontends \
NetworkServices
# This must be the last one.
ifdef VBOX_WITH_INSTALLER
SUBDIRS += Installer
endif
endif # !VBOX_ONLY_ADDITIONS && !VBOX_ONLY_DOCS
endif # !VBOX_SINGLE_MAKEFILE
include $(KBUILD_PATH)/subfooter.kmk