1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
|
# $Id: Makefile.kmk $
## @file
# Sub-Makefile for the IPRT tools.
#
#
# Copyright (C) 2006-2020 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.
#
# The contents of this file may alternatively be used under the terms
# of the Common Development and Distribution License Version 1.0
# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
# VirtualBox OSE distribution, in which case the provisions of the
# CDDL are applicable instead of those of the GPL.
#
# You may elect to license modified versions of this file under the
# terms and conditions of either the GPL or the CDDL or both.
#
SUB_DEPTH = ../../../..
include $(KBUILD_PATH)/subheader.kmk
if !defined(VBOX_ONLY_EXTPACKS) && !defined(VBOX_ONLY_DOCS)
# RTIsoMaker - ISO image maker - build version.
ifeq ($(KBUILD_TARGET), win) # Needed for repacking guest additions.
PROGRAMS += bldRTIsoMaker
bldRTIsoMaker_INSTTYPE = stage
else
BLDPROGS += bldRTIsoMaker
endif
bldRTIsoMaker_TEMPLATE = VBoxAdvBldProg
bldRTIsoMaker_SOURCES = \
RTIsoMaker.cpp \
../common/misc/buildconfig.cpp
bldRTIsoMaker_DEFS = \
IPRT_BLDCFG_SCM_REV=$(if $(VBOX_SVN_REV_FALLBACK),$(VBOX_SVN_REV_FALLBACK),$(VBOX_SVN_REV)) \
IPRT_BLDCFG_VERSION_MAJOR=$(VBOX_VERSION_MAJOR) \
IPRT_BLDCFG_VERSION_MINOR=$(VBOX_VERSION_MINOR) \
IPRT_BLDCFG_VERSION_BUILD=$(VBOX_VERSION_BUILD)
ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
bldRTIsoMaker_DEFS += \
IPRT_BLDCFG_VERSION_STRING="$(VBOX_VERSION_STRING)" \
IPRT_BLDCFG_TARGET="$(KBUILD_TARGET)" \
IPRT_BLDCFG_TARGET_ARCH="$(KBUILD_TARGET_ARCH)" \
IPRT_BLDCFG_TYPE="$(KBUILD_TYPE)"
else
bldRTIsoMaker_DEFS += \
IPRT_BLDCFG_VERSION_STRING=\"$(VBOX_VERSION_STRING)\" \
IPRT_BLDCFG_TARGET=\"$(KBUILD_TARGET)\" \
IPRT_BLDCFG_TARGET_ARCH=\"$(KBUILD_TARGET_ARCH)\" \
IPRT_BLDCFG_TYPE=\"$(KBUILD_TYPE)\"
endif
bldRTIsoMaker_INCS = ../include
endif
if !defined(VBOX_ONLY_DOCS)
# RTManifest is a tool for creating and verifying manifest files - build version.
BLDPROGS += bldRTManifest
bldRTManifest_TEMPLATE = VBoxAdvBldProg
bldRTManifest_SOURCES = RTManifest.cpp
if !defined(VBOX_ONLY_EXTPACKS) || "$(KBUILD_TARGET)" == "win" || "$(KBUILD_TARGET)" == "darwin"
# RTSignTool - Signing utility - build version. Signed on windows so we can get the certificate from it.
BLDPROGS += bldRTSignTool
bldRTSignTool_TEMPLATE = VBoxAdvBldProg
bldRTSignTool_SOURCES = RTSignTool.cpp
bldRTSignTool_DEFS = IPRT_IN_BUILD_TOOL
bldRTSignTool_POST_CMDS.win = $(VBOX_SIGN_IMAGE_CMDS)
if defined(VBOX_WITH_DARWIN_R0_DARWIN_IMAGE_VERIFICATION) && defined(VBOX_SIGNING_MODE)
bldRTSignTool_POST_CMDS.darwin = $(call VBOX_SIGN_MACHO_FN,$(out),org.virtualbox.org.bldtool.$(target))
endif
endif
if !defined(VBOX_ONLY_EXTPACKS)
# RTLdrCheckImports - import checker.
PROGRAMS += bldRTLdrCheckImports
bldRTLdrCheckImports_TEMPLATE = VBoxAdvBldProg
bldRTLdrCheckImports_DEFS = IPRT_IN_BUILD_TOOL
bldRTLdrCheckImports_SOURCES = RTLdrCheckImports.cpp
endif
endif
if !defined(VBOX_ONLY_BUILD)
# RTCat is a tool for displaying files.
PROGRAMS += RTCat
RTCat_TEMPLATE = VBoxR3Tool
RTCat_SOURCES = RTCat.cpp
RTCat_SOURCES += ../VBox/LoadVBoxDDU.cpp
# RTChMod - our chmod clone.
PROGRAMS += RTChMod
RTChMod_TEMPLATE = VBoxR3Tool
RTChMod_SOURCES = RTChMod.cpp
# RTCp - our cp clone.
PROGRAMS += RTCp
RTCp_TEMPLATE = VBoxR3Tool
RTCp_SOURCES = RTCp.cpp
RTCp_SOURCES += ../VBox/LoadVBoxDDU.cpp
# RTIsoMaker - ISO image maker - build version.
PROGRAMS += RTIsoMaker
RTIsoMaker_TEMPLATE = VBoxR3Tool
RTIsoMaker_SOURCES = RTIsoMaker.cpp
RTIsoMaker_SOURCES += ../VBox/LoadVBoxDDU.cpp
# RTLs is a tool for listing file information.
PROGRAMS += RTLs
RTLs_TEMPLATE = VBoxR3Tool
RTLs_SOURCES = RTLs.cpp
RTLs_SOURCES += ../VBox/LoadVBoxDDU.cpp
# RTRm is a tool for removing files and directories.
PROGRAMS += RTRm
RTRm_TEMPLATE = VBoxR3Tool
RTRm_SOURCES = RTRm.cpp
RTRm_SOURCES += ../VBox/LoadVBoxDDU.cpp
# RTManifest is a tool for creating and verifying manifest files.
PROGRAMS += RTManifest
RTManifest_TEMPLATE = VBoxR3Tool
RTManifest_SOURCES = RTManifest.cpp
RTManifest_SOURCES += ../VBox/LoadVBoxDDU.cpp
# RTLdrFlt is similar to c++filt, except that it's for VMMR0.r0 stacks.
PROGRAMS += RTLdrFlt
RTLdrFlt_TEMPLATE = VBoxR3Tool
RTLdrFlt_SOURCES = RTLdrFlt.cpp
# RTFTPServer implements a simple FTP server.
PROGRAMS += RTFTPServer
RTFTPServer_TEMPLATE = VBoxR3Tool
RTFTPServer_SOURCES = RTFTPServer.cpp
# RTGzip - our gzip clone (for testing the gzip/gunzip streaming code)
PROGRAMS += RTGzip
RTGzip_TEMPLATE = VBoxR3Tool
RTGzip_SOURCES = RTGzip.cpp
RTGzip_SOURCES += ../VBox/LoadVBoxDDU.cpp
ifdef VBOX_WITH_LIBCURL
# RTHttp - our http/https fetcher (for testing the http client API).
PROGRAMS += RTHttp
RTHttp_TEMPLATE = VBoxR3Tool
RTHttp_SOURCES = RTHttp.cpp
endif
# RTLdrCheckImports - import checker.
PROGRAMS += RTLdrCheckImports
RTLdrCheckImports_TEMPLATE = VBoxR3Tool
RTLdrCheckImports_SOURCES = RTLdrCheckImports.cpp
RTLdrCheckImports_SOURCES += ../VBox/LoadVBoxDDU.cpp
# RTMkDir - our mkdir clone.
PROGRAMS += RTMkDir
RTMkDir_TEMPLATE = VBoxR3Tool
RTMkDir_SOURCES = RTMkDir.cpp
# RTRmDir - our mkdir clone.
PROGRAMS += RTRmDir
RTRmDir_TEMPLATE = VBoxR3Tool
RTRmDir_SOURCES = RTRmDir.cpp
# RTShutdown - similar (but not identical) to a typical unix shutdown command.
PROGRAMS += RTShutdown
RTShutdown_TEMPLATE = VBoxR3Tool
RTShutdown_SOURCES = RTShutdown.cpp
# RTTar - our tar clone (for testing the tar/gzip/gunzip streaming code)
PROGRAMS += RTTar
RTTar_TEMPLATE = VBoxR3Tool
RTTar_SOURCES = RTTar.cpp
RTTar_SOURCES += ../VBox/LoadVBoxDDU.cpp
# RTUnzip - our unzip clone (for testing the unzip streaming code)
PROGRAMS += RTUnzip
RTUnzip_TEMPLATE = VBoxR3Tool
RTUnzip_SOURCES = RTUnzip.cpp
RTUnzip_SOURCES += ../VBox/LoadVBoxDDU.cpp
# RTNtDbgHelp - our tar clone (for testing the tar/gzip/gunzip streaming code)
PROGRAMS.win += RTNtDbgHelp
RTNtDbgHelp_TEMPLATE = VBoxR3Tool
RTNtDbgHelp_SOURCES = RTNtDbgHelp.cpp
# RTDbgSymCache - Symbol cache manager.
PROGRAMS += RTDbgSymCache
RTDbgSymCache_TEMPLATE = VBoxR3Tool
RTDbgSymCache_SOURCES = RTDbgSymCache.cpp
# RTSignTool - Signing utility.
PROGRAMS += RTSignTool
RTSignTool_TEMPLATE = VBoxR3Tool
RTSignTool_SOURCES = RTSignTool.cpp
RTSignTool_LIBS = $(PATH_STAGE_LIB)/SUPR3$(VBOX_SUFF_LIB)
# RTTraceLogTool - Trace log collection and dissection tool.
PROGRAMS += RTTraceLogTool
RTTraceLogTool_TEMPLATE = VBoxR3Tool
RTTraceLogTool_SOURCES = RTTraceLogTool.cpp
# RTFuzzMaster - Fuzzing master tool.
PROGRAMS += RTFuzzMaster
RTFuzzMaster_TEMPLATE = VBoxR3Tool
RTFuzzMaster_SOURCES = RTFuzzMaster.cpp
# RTFuzzClient - Fuzzing client tool.
PROGRAMS += RTFuzzClient
RTFuzzClient_TEMPLATE = VBoxR3Tool
RTFuzzClient_SOURCES = RTFuzzClient.cpp
# RTEfiFatExtract - Extracting single files from a fat EFI binary.
PROGRAMS += RTEfiFatExtract
RTEfiFatExtract_TEMPLATE = VBoxR3Tool
RTEfiFatExtract_SOURCES = RTEfiFatExtract.cpp
if1of ($(KBUILD_TARGET), darwin linux solaris win)
# RTKrnlModInfo - our lsmod/kextstat clone (for testing the RTKrnlMod code).
PROGRAMS += RTKrnlModInfo
RTKrnlModInfo_TEMPLATE = VBoxR3Tool
RTKrnlModInfo_SOURCES = RTKrnlModInfo.cpp
endif
endif # !VBOX_ONLY_BUILD
include $(FILE_KBUILD_SUB_FOOTER)
|