1 | # $Id: Makefile.kmk 82968 2020-02-04 10:35:17Z vboxsync $
|
---|
2 | ## @file
|
---|
3 | # Sub-makefile for VBoxDTrace.
|
---|
4 | #
|
---|
5 | # Contributed by: bird
|
---|
6 | #
|
---|
7 |
|
---|
8 | #
|
---|
9 | # Copyright (C) 2012-2020 Oracle Corporation
|
---|
10 | #
|
---|
11 | # This file is part of VirtualBox Open Source Edition (OSE), as
|
---|
12 | # available from http://www.virtualbox.org. This file is free software;
|
---|
13 | # you can redistribute it and/or modify it under the terms of the Common
|
---|
14 | # Development and Distribution License Version 1.0 (CDDL) only, as it
|
---|
15 | # comes in the "COPYING.CDDL" file of the VirtualBox OSE distribution.
|
---|
16 | # VirtualBox OSE is distributed in the hope that it will be useful, but
|
---|
17 | # WITHOUT ANY WARRANTY of any kind.
|
---|
18 | #
|
---|
19 |
|
---|
20 | SUB_DEPTH = ../../../../
|
---|
21 | include $(KBUILD_PATH)/subheader.kmk
|
---|
22 |
|
---|
23 |
|
---|
24 | #
|
---|
25 | # Globals.
|
---|
26 | #
|
---|
27 | VBOX_EXTPACK_VBOXDTRACE_NAME := Oracle VBoxDTrace Extension Pack
|
---|
28 | VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME := Oracle_VBoxDTrace_Extension_Pack
|
---|
29 | VBOX_PATH_EXTPACK_VBOXDTRACE = $(PATH_STAGE)/$(INST_EXTPACK)$(VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME)
|
---|
30 | INST_EXTPACK_VBOXDTRACE = $(INST_EXTPACK)$(VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME)/
|
---|
31 |
|
---|
32 | VBOXDT_PATH := $(PATH_ROOT)/src/VBox/ExtPacks/VBoxDTrace
|
---|
33 | VBOXDT_PATH_ONNV := $(VBOXDT_PATH)/onnv
|
---|
34 | VBOXDT_PATH_UTS := $(VBOXDT_PATH_ONNV)/uts
|
---|
35 | VBOXDT_PATH_CMD := $(VBOXDT_PATH_ONNV)/cmd
|
---|
36 | VBOXDT_PATH_LIBCTF := $(VBOXDT_PATH_ONNV)/lib/libctf
|
---|
37 | VBOXDT_PATH_CMN_CTF := $(VBOXDT_PATH_ONNV)/common/ctf
|
---|
38 | VBOXDT_PATH_LIBDTRACE := $(VBOXDT_PATH_ONNV)/lib/libdtrace
|
---|
39 | VBOXDT_PATH_CMN_DTRACE := $(VBOXDT_PATH_ONNV)/common/dtrace
|
---|
40 |
|
---|
41 |
|
---|
42 | ifndef VBOX_ONLY_EXTPACKS
|
---|
43 | #
|
---|
44 | # The generic wrapper that selects native or extpack dtrace cmd and adds our
|
---|
45 | # library path to the command line.
|
---|
46 | #
|
---|
47 | # Note! This is not installed as part of the extension pack, but always shipped
|
---|
48 | # with the base VBox installation.
|
---|
49 | #
|
---|
50 | PROGRAMS += VBoxDTrace
|
---|
51 | VBoxDTrace_TEMPLATE := VBOXR3EXE
|
---|
52 | VBoxDTrace_SOURCES := VBoxDTraceWrapper.cpp
|
---|
53 | VBoxDTrace_LIBS = $(LIB_RUNTIME)
|
---|
54 | $(call VBOX_SET_VER_INFO_DLL,VBoxDTrace,VirtualBox DTrace Chooser)
|
---|
55 | endif
|
---|
56 |
|
---|
57 |
|
---|
58 | if defined(VBOX_WITH_EXTPACK_VBOXDTRACE) && defined(VBOX_WITH_EXTPACK)
|
---|
59 |
|
---|
60 | #
|
---|
61 | # Extend the extension pack templates.
|
---|
62 | #
|
---|
63 | TEMPLATE_VBoxR3ExtPackDTrace = For the ring-3 context modules in the VBoxDTrace extension pack.
|
---|
64 | TEMPLATE_VBoxR3ExtPackDTrace_EXTENDS = VBoxR3ExtPack
|
---|
65 | TEMPLATE_VBoxR3ExtPackDTrace_INST = $(INST_EXTPACK_VBOXDTRACE)$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)/
|
---|
66 | TEMPLATE_VBoxR3ExtPackDTrace_DEFS = $(TEMPLATE_VBoxR3ExtPack_DEFS) VBOX_IN_DTRACE_EXTPACK
|
---|
67 |
|
---|
68 | TEMPLATE_VBoxR0ExtPackDTrace = For the ring-0 context modules in the VBoxDTrace extension pack.
|
---|
69 | TEMPLATE_VBoxR0ExtPackDTrace_EXTENDS = VBoxR0ExtPack
|
---|
70 | TEMPLATE_VBoxR0ExtPackDTrace_INST = $(INST_EXTPACK_VBOXDTRACE)$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)/
|
---|
71 | TEMPLATE_VBoxR0ExtPackDTrace_DEFS = $(TEMPLATE_VBoxR0ExtPack_DEFS) VBOX_IN_DTRACE_EXTPACK
|
---|
72 |
|
---|
73 | TEMPLATE_VBoxInsExtPackDTrace = For the install targets for the VBoxDTrace extension pack.
|
---|
74 | TEMPLATE_VBoxInsExtPackDTrace_EXTENDS = VBoxR0ExtPack
|
---|
75 | TEMPLATE_VBoxInsExtPackDTrace_INST = $(INST_EXTPACK_VBOXDTRACE)
|
---|
76 |
|
---|
77 |
|
---|
78 | #
|
---|
79 | # Install the description.
|
---|
80 | #
|
---|
81 | INSTALLS += VBoxDTraceIns
|
---|
82 | VBoxDTraceIns_TEMPLATE = VBoxInsExtPackDTrace
|
---|
83 | VBoxDTraceIns_SOURCES = \
|
---|
84 | $(VBoxDTraceIns_0_OUTDIR)/ExtPack.xml \
|
---|
85 | COPYING=>ExtPack-SourceCodeLicense.txt
|
---|
86 | $(call VBOX_EDIT_VERSION_RULE_FN,VBoxDTraceIns,ExtPack.xml)
|
---|
87 |
|
---|
88 |
|
---|
89 | #
|
---|
90 | # VBoxDTraceMain - The module which the VirtualBox Main API talks to.
|
---|
91 | #
|
---|
92 | DLLS += VBoxDTraceMain
|
---|
93 | VBoxDTraceMain_TEMPLATE = VBoxR3ExtPackDTrace
|
---|
94 | VBoxDTraceMain_SOURCES = VBoxDTraceMain.cpp
|
---|
95 | $(call VBOX_SET_VER_INFO_DLL,VBoxDTraceMain,VBoxDTrace Main module)
|
---|
96 |
|
---|
97 |
|
---|
98 | #
|
---|
99 | # The ring-3 VBoxDTrace command implementation (library).
|
---|
100 | #
|
---|
101 | ifneq ($(KBUILD_TARGET),solaris) # Temporarily disabled on Solaris (not really needed)...
|
---|
102 | DLLS += VBoxDTraceCmd
|
---|
103 | VBoxDTraceCmd_TEMPLATE = VBoxR3ExtPackDTrace
|
---|
104 | VBoxDTraceCmd_DEFS = RTMEM_WRAP_TO_EF_APIS VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME=\"$(VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME)\"
|
---|
105 | #VBoxDTraceCmd_DEFS += YYDEBUG
|
---|
106 | VBoxDTraceCmd_DEFS.linux = _XOPEN_SOURCE=700 _LARGEFILE64_SOURCE
|
---|
107 | VBoxDTraceCmd_DEFS.win = YY_USE_PROTOS=1 YYENABLE_NLS=0 YYLTYPE_IS_TRIVIAL=0
|
---|
108 | VBoxDTraceCmd_SDKS = VBOX_ZLIB
|
---|
109 | ifn1of ($(KBUILD_TARGET), win)
|
---|
110 | VBoxDTraceCmd_CFLAGS = -Wno-format $(VBOX_GCC_Wno-overlength-strings) -Wno-sign-compare -Wno-strict-prototypes -Wno-missing-prototypes -Wno-missing-declarations -Wno-shadow
|
---|
111 | endif
|
---|
112 | VBoxDTraceCmd_INCS = \
|
---|
113 | include \
|
---|
114 | $(VBOXDT_PATH_UTS)/common \
|
---|
115 | $(VBOXDT_PATH_LIBCTF)/common \
|
---|
116 | $(VBOXDT_PATH_LIBDTRACE)/common \
|
---|
117 | $(VBOXDT_PATH_CMN_CTF)
|
---|
118 | VBoxDTraceCmd_SOURCES = \
|
---|
119 | $(VBOXDT_PATH_CMD)/dtrace/dtrace.c \
|
---|
120 | \
|
---|
121 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_as.c \
|
---|
122 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_aggregate.c \
|
---|
123 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_buf.c \
|
---|
124 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_cc.c \
|
---|
125 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_cg.c \
|
---|
126 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_consume.c \
|
---|
127 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_decl.c \
|
---|
128 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_dis.c \
|
---|
129 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_dof.c \
|
---|
130 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_error.c \
|
---|
131 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_handle.c \
|
---|
132 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_ident.c \
|
---|
133 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_inttab.c \
|
---|
134 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_list.c \
|
---|
135 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_map.c \
|
---|
136 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_module.c \
|
---|
137 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_program.c \
|
---|
138 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_open.c \
|
---|
139 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_options.c \
|
---|
140 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_parser.c \
|
---|
141 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_pcb.c \
|
---|
142 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_pragma.c \
|
---|
143 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_printf.c \
|
---|
144 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_proc.c \
|
---|
145 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_provider.c \
|
---|
146 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_regset.c \
|
---|
147 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_string.c \
|
---|
148 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_strtab.c \
|
---|
149 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_subr.c \
|
---|
150 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_work.c \
|
---|
151 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_xlator.c \
|
---|
152 | \
|
---|
153 | $(VBoxDTraceCmd_0_OUTDIR)/dt_errtags.c \
|
---|
154 | $(VBoxDTraceCmd_0_OUTDIR)/dt_names.c \
|
---|
155 | \
|
---|
156 | $(VBOXDT_PATH_CMN_CTF)/ctf_create.c \
|
---|
157 | $(VBOXDT_PATH_CMN_CTF)/ctf_error.c \
|
---|
158 | $(VBOXDT_PATH_CMN_CTF)/ctf_decl.c \
|
---|
159 | $(VBOXDT_PATH_CMN_CTF)/ctf_hash.c \
|
---|
160 | $(VBOXDT_PATH_CMN_CTF)/ctf_labels.c \
|
---|
161 | $(VBOXDT_PATH_CMN_CTF)/ctf_lookup.c \
|
---|
162 | $(VBOXDT_PATH_CMN_CTF)/ctf_open.c \
|
---|
163 | $(VBOXDT_PATH_CMN_CTF)/ctf_types.c \
|
---|
164 | $(VBOXDT_PATH_CMN_CTF)/ctf_util.c \
|
---|
165 | \
|
---|
166 | $(VBOXDT_PATH_LIBCTF)/common/ctf_subr.c \
|
---|
167 | $(VBOXDT_PATH_LIBCTF)/common/ctf_lib.c
|
---|
168 |
|
---|
169 | # Source not used or wanted:
|
---|
170 | # $(VBOXDT_PATH_LIBDTRACE)/common/dt_link.c
|
---|
171 | # $(VBOXDT_PATH_LIBDTRACE)/common/dt_pid.c
|
---|
172 |
|
---|
173 | # Generate sources
|
---|
174 | VBoxDTraceCmd_CLEAN = \
|
---|
175 | $(VBoxDTraceCmd_0_OUTDIR)/dt_errtags.c \
|
---|
176 | $(VBoxDTraceCmd_0_OUTDIR)/dt_names.c
|
---|
177 |
|
---|
178 | $$(VBoxDTraceCmd_0_OUTDIR)/dt_errtags.c: \
|
---|
179 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_errtags.h \
|
---|
180 | $(VBOXDT_PATH_LIBDTRACE)/common/mkerrtags.sed \
|
---|
181 | | $$(dir $$@)
|
---|
182 | $(MSG_GENERATE,VBoxDTraceCmd,$@,$<)
|
---|
183 | $(SED) -n -f $(VBOXDT_PATH_LIBDTRACE)/common/mkerrtags.sed --output $@ $<
|
---|
184 |
|
---|
185 | $$(VBoxDTraceCmd_0_OUTDIR)/dt_names.c: \
|
---|
186 | $(VBOXDT_PATH_UTS)/common/sys/dtrace.h \
|
---|
187 | $(VBOXDT_PATH_LIBDTRACE)/common/mknames.sed \
|
---|
188 | | $$(dir $$@)
|
---|
189 | $(MSG_GENERATE,VBoxDTraceCmd,$@,$<)
|
---|
190 | $(SED) -n -f $(VBOXDT_PATH_LIBDTRACE)/common/mknames.sed --output $@ $<
|
---|
191 |
|
---|
192 | ifdef VBOX_HAVE_BISON
|
---|
193 | USES += yacc
|
---|
194 | VBoxDTraceCmd_USES += yacc
|
---|
195 | VBoxDTraceCmd_YACCTOOL = BISON
|
---|
196 | VBoxDTraceCmd_YACCFLAGS = -d -y
|
---|
197 | VBoxDTraceCmd_SOURCES += \
|
---|
198 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_grammar.y
|
---|
199 | VBoxDTraceCmd_INCS += $(VBoxDTraceCmd_0_OUTDIR)/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common
|
---|
200 | else
|
---|
201 | VBoxDTraceCmd_SOURCES += \
|
---|
202 | $(VBOXDT_PATH)/generated/dt_grammar.c
|
---|
203 | VBoxDTraceCmd_INCS += \
|
---|
204 | $(VBOXDT_PATH)/generated/
|
---|
205 | endif
|
---|
206 |
|
---|
207 | ifdef VBOX_HAVE_FLEX
|
---|
208 | USES += lex
|
---|
209 | VBoxDTraceCmd_USES += lex
|
---|
210 | VBoxDTraceCmd_LEXTOOL = FLEX
|
---|
211 | VBoxDTraceCmd_LEXFLAGS = -l -B #-d -T
|
---|
212 | VBoxDTraceCmd_SOURCES += \
|
---|
213 | $(VBOXDT_PATH_LIBDTRACE)/common/dt_lex.l
|
---|
214 | else
|
---|
215 | VBoxDTraceCmd_SOURCES += \
|
---|
216 | $(VBOXDT_PATH)/generated/dt_lex.c
|
---|
217 | endif
|
---|
218 | ifeq ($(KBUILD_HOST),linux)
|
---|
219 | if $(VBOX_GCC_VERSION_CXX) >= 70000
|
---|
220 | VBoxDTraceCmd_CFLAGS += -Wno-implicit-fallthrough
|
---|
221 | endif
|
---|
222 | endif
|
---|
223 | VBoxDTraceCmd_DEFS += USING_FLEX
|
---|
224 | $(call VBOX_SET_VER_INFO_DLL,VBoxDTraceCmd,VBoxDTrace Command Implementation)
|
---|
225 |
|
---|
226 | #
|
---|
227 | # Updates the sources generated by flex and biosn.
|
---|
228 | # The SED processing removes the paths the from #line statements.
|
---|
229 | #
|
---|
230 | vboxdtrace-update-generated-sources: \
|
---|
231 | $$(VBoxDTraceCmd_0_OUTDIR)/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_grammar.c \
|
---|
232 | $$(VBoxDTraceCmd_0_OUTDIR)/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_grammar.h \
|
---|
233 | $$(VBoxDTraceCmd_0_OUTDIR)/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_lex.c
|
---|
234 | $(foreach file,dt_grammar.c dt_grammar.h dt_lex.c \
|
---|
235 | ,$(NLTAB)$(SED) -e 's,$(VBOXDT_PATH_LIBDTRACE)/common/,,g'\
|
---|
236 | -e 's,$(VBoxDTraceCmd_0_OUTDIR)/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/,,g' \
|
---|
237 | --output $(VBOXDT_PATH)/generated/$(file) \
|
---|
238 | $(VBoxDTraceCmd_0_OUTDIR)/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/$(file))
|
---|
239 | endif # Temporarily disabled on Solaris.
|
---|
240 |
|
---|
241 | #
|
---|
242 | # The ring-0 part of VBoxDTrace.
|
---|
243 | #
|
---|
244 | ifneq ($(KBUILD_TARGET),solaris) # disabled on solaris - neiter needed nor currently able to build it here.
|
---|
245 | SYSMODS += VBoxDTraceR0
|
---|
246 | endif
|
---|
247 | VBoxDTraceR0_TEMPLATE = VBoxR0ExtPackDTrace
|
---|
248 | VBoxDTraceR0_DEFS = IN_VBOXDTRACE_R0 IN_RT_R0
|
---|
249 | ifeq ($(VBOX_LDR_FMT),elf)
|
---|
250 | VBoxDTraceR0_LDFLAGS = -e ModuleInit
|
---|
251 | endif
|
---|
252 | VBoxDTraceR0_INCS = \
|
---|
253 | include \
|
---|
254 | $(VBOXDT_PATH_UTS)/common
|
---|
255 | VBoxDTraceR0_SOURCES = \
|
---|
256 | VBoxDTraceR0.cpp \
|
---|
257 | VBoxDTraceR0A.asm \
|
---|
258 | $(VBOXDT_PATH_UTS)/common/dtrace/dtrace.c
|
---|
259 | VBoxDTraceR0_LIBS = \
|
---|
260 | $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
|
---|
261 | ifneq ($(filter pe lx,$(VBOX_LDR_FMT)),)
|
---|
262 | VBoxDTraceR0_LIBS += \
|
---|
263 | $(PATH_STAGE_LIB)/SUPR0$(VBOX_SUFF_LIB)
|
---|
264 | endif
|
---|
265 | $(call VBOX_SET_VER_INFO_R0,VBoxDTraceR0,VBoxDTrace Core (ring-0))
|
---|
266 |
|
---|
267 |
|
---|
268 | #
|
---|
269 | # Packing.
|
---|
270 | #
|
---|
271 | ifndef VBOX_WITHOUT_EXTPACK_VBOXDTRACE_PACKING
|
---|
272 | PACKING += $(VBOX_PATH_PACKAGES)/$(VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME)-$(VBOX_VERSION_STRING)r$(VBOX_SVN_REV).vbox-extpack
|
---|
273 | endif
|
---|
274 |
|
---|
275 | ifndef VBOX_WITH_EXTPACK_OS_ARCHS
|
---|
276 | ifeq ($(USER),bird) # for now
|
---|
277 | VBOX_WITH_EXTPACK_OS_ARCHS = $(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)
|
---|
278 | endif
|
---|
279 | endif
|
---|
280 |
|
---|
281 | # Build the file list. The macro takes 1=darwin.x86, 2=dist/VirtualBox.app/Contents/MacOS, 3=dylib
|
---|
282 | VBOX_VBOXDTRACE_FILES_MACRO = \
|
---|
283 | $(PATH_OUT_BASE)/$(1)/$(KBUILD_TYPE)/$(2)/ExtensionPacks/$(VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME)/$(1)/VBoxDTraceMain.$(3)=>$(1)/VBoxDTraceMain.$(3) \
|
---|
284 | $(if $(intersects $1, solaris.x86 solaris.amd64),, \
|
---|
285 | $(PATH_OUT_BASE)/$(1)/$(KBUILD_TYPE)/$(2)/ExtensionPacks/$(VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME)/$(1)/VBoxDTraceCmd.$(3)=>$(1)/VBoxDTraceCmd.$(3) \
|
---|
286 | $(PATH_OUT_BASE)/$(1)/$(KBUILD_TYPE)/$(2)/ExtensionPacks/$(VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME)/$(1)/VBoxDTraceR0.r0=>$(1)/VBoxDTraceR0.r0 \
|
---|
287 | )
|
---|
288 |
|
---|
289 | VBOX_VBOXDTRACE_FILES := \
|
---|
290 | $(VBOX_PATH_EXTPACK_VBOXDTRACE)/ExtPack.xml=>ExtPack.xml \
|
---|
291 | $(VBOX_PATH_EXTPACK_VBOXDTRACE)/ExtPack-SourceCodeLicense.txt=>ExtPack-SourceCodeLicense.txt
|
---|
292 |
|
---|
293 | if1of (darwin.amd64, $(VBOX_WITH_EXTPACK_OS_ARCHS))
|
---|
294 | VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,darwin.amd64,dist/VirtualBox.app/Contents/MacOS,dylib)
|
---|
295 | endif
|
---|
296 | if1of (darwin.x86, $(VBOX_WITH_EXTPACK_OS_ARCHS))
|
---|
297 | VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,darwin.x86,dist/VirtualBox.app/Contents/MacOS,dylib)
|
---|
298 | endif
|
---|
299 | if1of (freebsd.amd64, $(VBOX_WITH_EXTPACK_OS_ARCHS))
|
---|
300 | VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,freebsd.amd64,bin,so)
|
---|
301 | endif
|
---|
302 | if1of (freebsd.x86, $(VBOX_WITH_EXTPACK_OS_ARCHS))
|
---|
303 | VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,freebsd.x86,bin,so)
|
---|
304 | endif
|
---|
305 | if1of (linux.amd64, $(VBOX_WITH_EXTPACK_OS_ARCHS))
|
---|
306 | VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,linux.amd64,bin,so)
|
---|
307 | endif
|
---|
308 | if1of (linux.x86, $(VBOX_WITH_EXTPACK_OS_ARCHS))
|
---|
309 | VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,linux.x86,bin,so)
|
---|
310 | endif
|
---|
311 | if1of (os2.x86, $(VBOX_WITH_EXTPACK_OS_ARCHS))
|
---|
312 | VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,os2.x86,bin,so)
|
---|
313 | endif
|
---|
314 | if1of (solaris.amd64, $(VBOX_WITH_EXTPACK_OS_ARCHS))
|
---|
315 | VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,solaris.amd64,bin,so)
|
---|
316 | endif
|
---|
317 | if1of (solaris.x86, $(VBOX_WITH_EXTPACK_OS_ARCHS))
|
---|
318 | VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,solaris.x86,bin,so)
|
---|
319 | endif
|
---|
320 | if1of (win.amd64, $(VBOX_WITH_EXTPACK_OS_ARCHS))
|
---|
321 | VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,win.amd64,bin,dll)
|
---|
322 | endif
|
---|
323 | if1of (win.x86, $(VBOX_WITH_EXTPACK_OS_ARCHS))
|
---|
324 | VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,win.x86,bin,dll)
|
---|
325 | endif
|
---|
326 |
|
---|
327 | # Pack it all up using a temporary staging directory.
|
---|
328 | $(VBOX_PATH_PACKAGES)/$(VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME)-$(VBOX_VERSION_STRING)r$(VBOX_SVN_REV).vbox-extpack: \
|
---|
329 | $$(foreach file, $$(VBOX_VBOXDTRACE_FILES), $$(firstword $$(subst =>,$$(SP),$$(file)))) \
|
---|
330 | | $(VBOX_PATH_PACKAGES)/
|
---|
331 | $(RM) -f $(wildcard $(VBOX_PATH_PACKAGES)/$(VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME)-*.vbox-extpack) \
|
---|
332 | $(VBoxDTraceIns_0_OUTDIR)/ExtPack.manifest \
|
---|
333 | $(VBoxDTraceIns_0_OUTDIR)/ExtPack.signature
|
---|
334 | # Stage all the files
|
---|
335 | $(RM) -Rf $(VBoxDTraceIns_0_OUTDIR)/Stage/
|
---|
336 | $(foreach file, $(VBOX_VBOXDTRACE_FILES),\
|
---|
337 | $(NLTAB)$(MKDIR) -p $(dir $(lastword $(subst =>,$(SP)$(VBoxDTraceIns_0_OUTDIR)/Stage/,$(file)))) \
|
---|
338 | $(NLTAB)$(CP) $(subst =>,$(SP)$(VBoxDTraceIns_0_OUTDIR)/Stage/,$(file)) )
|
---|
339 | # Create the manifest
|
---|
340 | $(VBOX_RTMANIFEST) \
|
---|
341 | --manifest $(VBoxDTraceIns_0_OUTDIR)/Stage/ExtPack.manifest \
|
---|
342 | --chdir $(VBoxDTraceIns_0_OUTDIR)/Stage/ \
|
---|
343 | $(foreach file, $(VBOX_VBOXDTRACE_FILES), $(lastword $(subst =>,$(SP),$(file))))
|
---|
344 | $(APPEND) $(VBoxDTraceIns_0_OUTDIR)/Stage/ExtPack.signature "todo"
|
---|
345 | $(CHMOD) a+r \
|
---|
346 | $(VBoxDTraceIns_0_OUTDIR)/Stage/ExtPack.manifest \
|
---|
347 | $(VBoxDTraceIns_0_OUTDIR)/Stage/ExtPack.signature
|
---|
348 | # Tar it up.
|
---|
349 | tar -cvf - -C $(VBoxDTraceIns_0_OUTDIR)/Stage/ . | gzip -9c > $@
|
---|
350 | # Clean up
|
---|
351 | $(RM) -Rf $(VBoxDTraceIns_0_OUTDIR)/Stage/
|
---|
352 |
|
---|
353 | BLDDIRS += $(VBOX_PATH_PACKAGES)/
|
---|
354 |
|
---|
355 | endif # VBOX_WITH_EXTPACK_VBOXDTRACE
|
---|
356 |
|
---|
357 |
|
---|
358 | include $(FILE_KBUILD_SUB_FOOTER)
|
---|
359 |
|
---|