VirtualBox

source: vbox/trunk/src/VBox/Runtime/tools/Makefile.kmk@ 82866

Last change on this file since 82866 was 82665, checked in by vboxsync, 5 years ago

IPRT: First commit of FTP server code, along with a tool to run a standalone server. Work in progress. bugref:9437

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

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette