VirtualBox

source: vbox/trunk/src/VBox/Makefile.kmk

Last change on this file was 102358, checked in by vboxsync, 5 months ago

VBox/Runtime: Need RuntimeBldProg for xpidl now if VBOX_ONLY_SDK is used, bugref:10545

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.5 KB
Line 
1# $Id: Makefile.kmk 102358 2023-11-28 11:18:21Z vboxsync $
2## @file
3# Top-level makefile for src/VBox.
4#
5
6#
7# Copyright (C) 2006-2023 Oracle and/or its affiliates.
8#
9# This file is part of VirtualBox base platform packages, as
10# available from https://www.virtualbox.org.
11#
12# This program is free software; you can redistribute it and/or
13# modify it under the terms of the GNU General Public License
14# as published by the Free Software Foundation, in version 3 of the
15# License.
16#
17# This program is distributed in the hope that it will be useful, but
18# WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20# General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, see <https://www.gnu.org/licenses>.
24#
25# SPDX-License-Identifier: GPL-3.0-only
26#
27
28SUB_DEPTH = ../..
29include $(KBUILD_PATH)/subheader.kmk
30
31
32ifdef VBOX_ONLY_ADDITIONS
33 include $(PATH_SUB_CURRENT)/Runtime/Makefile.kmk
34 if defined(VBOX_WITH_CROGL) || defined(VBOX_WITH_HGSMI)
35 if1of ($(KBUILD_TARGET), win linux solaris freebsd netbsd haiku)
36 include $(PATH_SUB_CURRENT)/GuestHost/Makefile.kmk
37 endif
38 endif
39 include $(PATH_SUB_CURRENT)/Additions/Makefile.kmk
40
41 ifdef VBOX_WITH_ADDITIONS_SHIPPING_AUDIO_TEST
42 include $(PATH_SUB_CURRENT)/ValidationKit/utils/audio/Makefile.kmk
43 endif
44
45else ifdef VBOX_ONLY_DOCS
46 include $(PATH_SUB_CURRENT)/Runtime/Makefile.kmk
47 include $(PATH_SUB_CURRENT)/HostDrivers/Makefile.kmk
48 include $(PATH_SUB_CURRENT)/Frontends/Makefile.kmk
49
50else ifdef VBOX_ONLY_EXTPACKS
51 include $(PATH_SUB_CURRENT)/Runtime/Makefile.kmk
52 include $(PATH_SUB_CURRENT)/Devices/Makefile.kmk
53 include $(PATH_SUB_CURRENT)/HostDrivers/Makefile.kmk
54 include $(PATH_SUB_CURRENT)/Main/Makefile.kmk
55 include $(PATH_SUB_CURRENT)/Storage/Makefile.kmk
56 include $(PATH_SUB_CURRENT)/ExtPacks/Makefile.kmk
57 if defined(VBOX_WITH_VRDP) || defined(VBOX_WITH_VRDP_RDESKTOP)
58 include $(PATH_SUB_CURRENT)/RDP/Makefile.kmk
59 endif
60 include $(PATH_SUB_CURRENT)/VMM/Makefile.kmk
61 ifndef VBOX_ONLY_EXTPACKS_USE_IMPLIBS
62 include $(PATH_SUB_CURRENT)/Disassembler/Makefile.kmk
63 endif
64
65else ifdef VBOX_ONLY_SDK
66 include $(PATH_SUB_CURRENT)/Runtime/Makefile.kmk
67 include $(PATH_SUB_CURRENT)/Main/Makefile.kmk
68 ifdef VBOX_WITH_VRDP
69 include $(PATH_SUB_CURRENT)/RDP/Makefile.kmk
70 endif
71 include $(PATH_SUB_CURRENT)/Installer/Makefile.kmk
72 include $(PATH_SUB_CURRENT)/Frontends/VBoxShell/Makefile.kmk
73
74else ifdef VBOX_ONLY_VALIDATIONKIT
75 include $(PATH_SUB_CURRENT)/Runtime/Makefile.kmk
76 include $(PATH_SUB_CURRENT)/HostDrivers/Makefile.kmk
77 include $(PATH_SUB_CURRENT)/Disassembler/Makefile.kmk
78 include $(PATH_SUB_CURRENT)/ValidationKit/Makefile.kmk
79
80else
81 if defined(VBOX_WITH_MAIN) && "$(intersects $(KBUILD_TARGET_ARCH),$(VBOX_SUPPORTED_HOST_ARCHS))" != ""
82 include $(PATH_SUB_CURRENT)/Main/Makefile.kmk # Do this one first because of soap.
83 endif
84 include $(PATH_SUB_CURRENT)/Runtime/Makefile.kmk
85 include $(PATH_SUB_CURRENT)/Disassembler/Makefile.kmk
86 include $(PATH_SUB_CURRENT)/Storage/Makefile.kmk
87 if1of ($(KBUILD_TARGET_ARCH), $(VBOX_SUPPORTED_HOST_ARCHS))
88 include $(PATH_SUB_CURRENT)/VMM/Makefile.kmk
89 endif
90 include $(PATH_SUB_CURRENT)/Devices/Makefile.kmk
91 include $(PATH_SUB_CURRENT)/HostDrivers/Makefile.kmk
92 if1of ($(KBUILD_TARGET_ARCH), $(VBOX_SUPPORTED_HOST_ARCHS))
93 include $(PATH_SUB_CURRENT)/HostServices/Makefile.kmk
94 ifdef VBOX_WITH_DEBUGGER
95 include $(PATH_SUB_CURRENT)/Debugger/Makefile.kmk
96 endif
97 include $(PATH_SUB_CURRENT)/Frontends/Makefile.kmk
98 endif
99 ifdef VBOX_WITH_VRDP
100 include $(PATH_SUB_CURRENT)/RDP/Makefile.kmk
101 endif
102 if defined(VBOX_WITH_CROGL) || defined(VBOX_WITH_HGSMI) || defined(VBOX_WITH_HGCM)
103 include $(PATH_SUB_CURRENT)/GuestHost/Makefile.kmk
104 endif
105 ifdef VBOX_WITH_ADDITIONS
106 include $(PATH_SUB_CURRENT)/Additions/Makefile.kmk
107 endif
108 ifdef VBOX_WITH_VALIDATIONKIT
109 include $(PATH_SUB_CURRENT)/ValidationKit/Makefile.kmk
110 else ifdef VBOX_WITH_HOST_SHIPPING_AUDIO_TEST
111 include $(PATH_SUB_CURRENT)/ValidationKit/utils/audio/Makefile.kmk
112 endif
113 include $(PATH_SUB_CURRENT)/NetworkServices/Makefile.kmk
114 if1of ($(KBUILD_TARGET_ARCH), $(VBOX_SUPPORTED_HOST_ARCHS))
115 include $(PATH_SUB_CURRENT)/ExtPacks/Makefile.kmk
116 endif
117 include $(PATH_SUB_CURRENT)/ImageMounter/Makefile.kmk
118 if defined(VBOX_WITH_INSTALLER) && "$(intersects $(KBUILD_TARGET_ARCH),$(VBOX_SUPPORTED_HOST_ARCHS))" != ""
119 include $(PATH_SUB_CURRENT)/Installer/Makefile.kmk # Keep this last.
120 endif
121endif # !VBOX_ONLY_ADDITIONS && !VBOX_ONLY_DOCS
122
123
124include $(FILE_KBUILD_SUB_FOOTER)
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use