VirtualBox

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

Last change on this file since 78333 was 77564, checked in by vboxsync, 6 years ago

Runtime/fuzz: Add libFuzzer compatible wrapper to be able to evaluate our fuzzer against others

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 6.8 KB
Line 
1# $Id: Makefile.kmk 77564 2019-03-05 10:30:33Z vboxsync $
2## @file
3# Sub-Makefile for the IPRT tools.
4#
5
6#
7# Copyright (C) 2006-2019 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 BLDPROGS += bldRTIsoMaker
34 bldRTIsoMaker_TEMPLATE = VBoxAdvBldProg
35 bldRTIsoMaker_SOURCES = \
36 RTIsoMaker.cpp \
37 ../common/misc/buildconfig.cpp
38 bldRTIsoMaker_DEFS = \
39 IPRT_BLDCFG_SCM_REV=$(if $(VBOX_SVN_REV_FALLBACK),$(VBOX_SVN_REV_FALLBACK),$(VBOX_SVN_REV)) \
40 IPRT_BLDCFG_VERSION_STRING=\"$(VBOX_VERSION_STRING)\" \
41 IPRT_BLDCFG_VERSION_MAJOR=$(VBOX_VERSION_MAJOR) \
42 IPRT_BLDCFG_VERSION_MINOR=$(VBOX_VERSION_MINOR) \
43 IPRT_BLDCFG_VERSION_BUILD=$(VBOX_VERSION_BUILD) \
44 IPRT_BLDCFG_TARGET=\"$(KBUILD_TARGET)\" \
45 IPRT_BLDCFG_TARGET_ARCH=\"$(KBUILD_TARGET_ARCH)\" \
46 IPRT_BLDCFG_TYPE=\"$(KBUILD_TYPE)\"
47 bldRTIsoMaker_INCS = ../include
48endif
49
50
51if !defined(VBOX_ONLY_DOCS)
52
53 # RTManifest is a tool for creating and verifying manifest files - build version.
54 BLDPROGS += bldRTManifest
55 bldRTManifest_TEMPLATE = VBoxAdvBldProg
56 bldRTManifest_SOURCES = RTManifest.cpp
57
58
59 if !defined(VBOX_ONLY_EXTPACKS) || "$(KBUILD_TARGET)" == "win" || "$(KBUILD_TARGET)" == "darwin"
60 # RTSignTool - Signing utility - build version. Signed on windows so we can get the certificate from it.
61 BLDPROGS += bldRTSignTool
62 bldRTSignTool_TEMPLATE = VBoxAdvBldProg
63 bldRTSignTool_SOURCES = RTSignTool.cpp
64 bldRTSignTool_DEFS = IPRT_IN_BUILD_TOOL
65 bldRTSignTool_POST_CMDS.win = $(VBOX_SIGN_IMAGE_CMDS)
66 if defined(VBOX_WITH_DARWIN_R0_DARWIN_IMAGE_VERIFICATION) && defined(VBOX_SIGNING_MODE)
67 bldRTSignTool_POST_CMDS.darwin = $(call VBOX_SIGN_MACHO_FN,$(out),org.virtualbox.org.bldtool.$(target))
68 endif
69 endif
70
71 if !defined(VBOX_ONLY_EXTPACKS)
72 # RTLdrCheckImports - import checker.
73 PROGRAMS += bldRTLdrCheckImports
74 bldRTLdrCheckImports_TEMPLATE = VBoxAdvBldProg
75 bldRTLdrCheckImports_DEFS = IPRT_IN_BUILD_TOOL
76 bldRTLdrCheckImports_SOURCES = RTLdrCheckImports.cpp
77 endif
78endif
79
80if !defined(VBOX_ONLY_BUILD)
81
82 # RTCat is a tool for displaying files.
83 PROGRAMS += RTCat
84 RTCat_TEMPLATE = VBoxR3Tool
85 RTCat_SOURCES = RTCat.cpp
86 RTCat_SOURCES += ../VBox/LoadVBoxDDU.cpp
87
88 # RTChMod - our chmod clone.
89 PROGRAMS += RTChMod
90 RTChMod_TEMPLATE = VBoxR3Tool
91 RTChMod_SOURCES = RTChMod.cpp
92
93 # RTCp - our cp clone.
94 PROGRAMS += RTCp
95 RTCp_TEMPLATE = VBoxR3Tool
96 RTCp_SOURCES = RTCp.cpp
97 RTCp_SOURCES += ../VBox/LoadVBoxDDU.cpp
98
99 # RTIsoMaker - ISO image maker - build version.
100 PROGRAMS += RTIsoMaker
101 RTIsoMaker_TEMPLATE = VBoxR3Tool
102 RTIsoMaker_SOURCES = RTIsoMaker.cpp
103 RTIsoMaker_SOURCES += ../VBox/LoadVBoxDDU.cpp
104
105 # RTLs is a tool for listing file information.
106 PROGRAMS += RTLs
107 RTLs_TEMPLATE = VBoxR3Tool
108 RTLs_SOURCES = RTLs.cpp
109 RTLs_SOURCES += ../VBox/LoadVBoxDDU.cpp
110
111 # RTRm is a tool for removing files and directories.
112 PROGRAMS += RTRm
113 RTRm_TEMPLATE = VBoxR3Tool
114 RTRm_SOURCES = RTRm.cpp
115 RTRm_SOURCES += ../VBox/LoadVBoxDDU.cpp
116
117 # RTManifest is a tool for creating and verifying manifest files.
118 PROGRAMS += RTManifest
119 RTManifest_TEMPLATE = VBoxR3Tool
120 RTManifest_SOURCES = RTManifest.cpp
121 RTManifest_SOURCES += ../VBox/LoadVBoxDDU.cpp
122
123 # RTLdrFlt is similar to c++filt, except that it's for VMMR0.r0 stacks.
124 PROGRAMS += RTLdrFlt
125 RTLdrFlt_TEMPLATE = VBoxR3Tool
126 RTLdrFlt_SOURCES = RTLdrFlt.cpp
127
128 # RTGzip - our gzip clone (for testing the gzip/gunzip streaming code)
129 PROGRAMS += RTGzip
130 RTGzip_TEMPLATE = VBoxR3Tool
131 RTGzip_SOURCES = RTGzip.cpp
132 RTGzip_SOURCES += ../VBox/LoadVBoxDDU.cpp
133
134 ifdef VBOX_WITH_LIBCURL
135 # RTHttp - our http/https fetcher (for testing the http client API).
136 PROGRAMS += RTHttp
137 RTHttp_TEMPLATE = VBoxR3Tool
138 RTHttp_SOURCES = RTHttp.cpp
139 endif
140
141 # RTLdrCheckImports - import checker.
142 PROGRAMS += RTLdrCheckImports
143 RTLdrCheckImports_TEMPLATE = VBoxR3Tool
144 RTLdrCheckImports_SOURCES = RTLdrCheckImports.cpp
145 RTLdrCheckImports_SOURCES += ../VBox/LoadVBoxDDU.cpp
146
147 # RTMkDir - our mkdir clone.
148 PROGRAMS += RTMkDir
149 RTMkDir_TEMPLATE = VBoxR3Tool
150 RTMkDir_SOURCES = RTMkDir.cpp
151
152 # RTRmDir - our mkdir clone.
153 PROGRAMS += RTRmDir
154 RTRmDir_TEMPLATE = VBoxR3Tool
155 RTRmDir_SOURCES = RTRmDir.cpp
156
157 # RTShutdown - similar (but not identical) to a typical unix shutdown command.
158 PROGRAMS += RTShutdown
159 RTShutdown_TEMPLATE = VBoxR3Tool
160 RTShutdown_SOURCES = RTShutdown.cpp
161
162 # RTTar - our tar clone (for testing the tar/gzip/gunzip streaming code)
163 PROGRAMS += RTTar
164 RTTar_TEMPLATE = VBoxR3Tool
165 RTTar_SOURCES = RTTar.cpp
166 RTTar_SOURCES += ../VBox/LoadVBoxDDU.cpp
167
168 # RTUnzip - our unzip clone (for testing the unzip streaming code)
169 PROGRAMS += RTUnzip
170 RTUnzip_TEMPLATE = VBoxR3Tool
171 RTUnzip_SOURCES = RTUnzip.cpp
172 RTUnzip_SOURCES += ../VBox/LoadVBoxDDU.cpp
173
174 # RTNtDbgHelp - our tar clone (for testing the tar/gzip/gunzip streaming code)
175 PROGRAMS.win += RTNtDbgHelp
176 RTNtDbgHelp_TEMPLATE = VBoxR3Tool
177 RTNtDbgHelp_SOURCES = RTNtDbgHelp.cpp
178
179 # RTDbgSymCache - Symbol cache manager.
180 PROGRAMS += RTDbgSymCache
181 RTDbgSymCache_TEMPLATE = VBoxR3Tool
182 RTDbgSymCache_SOURCES = RTDbgSymCache.cpp
183
184 # RTSignTool - Signing utility.
185 PROGRAMS += RTSignTool
186 RTSignTool_TEMPLATE = VBoxR3Tool
187 RTSignTool_SOURCES = RTSignTool.cpp
188 RTSignTool_LIBS = $(PATH_STAGE_LIB)/SUPR3$(VBOX_SUFF_LIB)
189
190 # RTTraceLogTool - Trace log collection and dissection tool.
191 PROGRAMS += RTTraceLogTool
192 RTTraceLogTool_TEMPLATE = VBoxR3Tool
193 RTTraceLogTool_SOURCES = RTTraceLogTool.cpp
194
195 # RTFuzzMaster - Fuzzing master tool.
196 PROGRAMS += RTFuzzMaster
197 RTFuzzMaster_TEMPLATE = VBoxR3Tool
198 RTFuzzMaster_SOURCES = RTFuzzMaster.cpp
199
200 # RTFuzzClient - Fuzzing client tool.
201 PROGRAMS += RTFuzzClient
202 RTFuzzClient_TEMPLATE = VBoxR3Tool
203 RTFuzzClient_SOURCES = RTFuzzClient.cpp
204
205 if1of ($(KBUILD_TARGET), darwin linux solaris win)
206 # RTKrnlModInfo - our lsmod/kextstat clone (for testing the RTKrnlMod code).
207 PROGRAMS += RTKrnlModInfo
208 RTKrnlModInfo_TEMPLATE = VBoxR3Tool
209 RTKrnlModInfo_SOURCES = RTKrnlModInfo.cpp
210 endif
211
212endif # !VBOX_ONLY_BUILD
213
214include $(FILE_KBUILD_SUB_FOOTER)
215
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