Makefile.kmk revision 2db70aa45e27ac0203958d468e274fecd2057167
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# $Id$
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync## @file
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# Sub-makefile for VBoxDTrace.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# Contributed by: bird
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
a80db3bc8b35ccc7a898ae0146e25c71cda25d06vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
78f327ee942771169c65c91baf789fd10e72b01avboxsync# Copyright (C) 2012-2015 Oracle Corporation
78f327ee942771169c65c91baf789fd10e72b01avboxsync#
78f327ee942771169c65c91baf789fd10e72b01avboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
78f327ee942771169c65c91baf789fd10e72b01avboxsync# available from http://www.virtualbox.org. This file is free software;
78f327ee942771169c65c91baf789fd10e72b01avboxsync# you can redistribute it and/or modify it under the terms of the Common
78f327ee942771169c65c91baf789fd10e72b01avboxsync# Development and Distribution License Version 1.0 (CDDL) only, as it
78f327ee942771169c65c91baf789fd10e72b01avboxsync# comes in the "COPYING.CDDL" file of the VirtualBox OSE distribution.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# VirtualBox OSE is distributed in the hope that it will be useful, but
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# WITHOUT ANY WARRANTY of any kind.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncSUB_DEPTH = ../../../../
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync# Globals.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync#
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBOX_EXTPACK_VBOXDTRACE_NAME := Oracle VBoxDTrace Extension Pack
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME := Oracle_VBoxDTrace_Extension_Pack
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBOX_PATH_EXTPACK_VBOXDTRACE = $(PATH_STAGE)/$(INST_EXTPACK)$(VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncINST_EXTPACK_VBOXDTRACE = $(INST_EXTPACK)$(VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME)/
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBOXDT_PATH := $(PATH_ROOT)/src/VBox/ExtPacks/VBoxDTrace
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBOXDT_PATH_ONNV := $(VBOXDT_PATH)/onnv
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBOXDT_PATH_UTS := $(VBOXDT_PATH_ONNV)/uts
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBOXDT_PATH_CMD := $(VBOXDT_PATH_ONNV)/cmd
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBOXDT_PATH_LIBCTF := $(VBOXDT_PATH_ONNV)/lib/libctf
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBOXDT_PATH_CMN_CTF := $(VBOXDT_PATH_ONNV)/common/ctf
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncVBOXDT_PATH_LIBDTRACE := $(VBOXDT_PATH_ONNV)/lib/libdtrace
e24bfeec424d0e6481eccbe85ffde550384b6364vboxsyncVBOXDT_PATH_CMN_DTRACE := $(VBOXDT_PATH_ONNV)/common/dtrace
e24bfeec424d0e6481eccbe85ffde550384b6364vboxsync
e24bfeec424d0e6481eccbe85ffde550384b6364vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncifndef VBOX_ONLY_ADDITIONS
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync #
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # The generic wrapper that selects native or extpack dtrace cmd and adds our
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # library path to the command line.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync #
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # Note! This is not installed as part of the extension pack, but always shipped
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # with the base VBox installation.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync #
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync PROGRAMS += VBoxDTrace
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTrace_TEMPLATE := VBOXR3EXE
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTrace_SOURCES := VBoxDTraceWrapper.cpp
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTrace_LIBS = $(LIB_RUNTIME)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncendif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncif defined(VBOX_WITH_EXTPACK_VBOXDTRACE) && defined(VBOX_WITH_EXTPACK)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync #
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # Extend the extension pack templates.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync #
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync TEMPLATE_VBoxR3ExtPackDTrace = For the ring-3 context modules in the VBoxDTrace extension pack.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync TEMPLATE_VBoxR3ExtPackDTrace_EXTENDS = VBoxR3ExtPack
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync TEMPLATE_VBoxR3ExtPackDTrace_INST = $(INST_EXTPACK_VBOXDTRACE)$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)/
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync TEMPLATE_VBoxR0ExtPackDTrace = For the ring-0 context modules in the VBoxDTrace extension pack.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync TEMPLATE_VBoxR0ExtPackDTrace_EXTENDS = VBoxR0ExtPack
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync TEMPLATE_VBoxR0ExtPackDTrace_INST = $(INST_EXTPACK_VBOXDTRACE)$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)/
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync TEMPLATE_VBoxInsExtPackDTrace = For the install targets for the VBoxDTrace extension pack.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync TEMPLATE_VBoxInsExtPackDTrace_EXTENDS = VBoxR0ExtPack
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync TEMPLATE_VBoxInsExtPackDTrace_INST = $(INST_EXTPACK_VBOXDTRACE)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync #
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # Install the description.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync #
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync INSTALLS += VBoxDTraceIns
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceIns_TEMPLATE = VBoxInsExtPackDTrace
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceIns_SOURCES = \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBoxDTraceIns_0_OUTDIR)/ExtPack.xml \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync COPYING=>ExtPack-SourceCodeLicense.txt
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(call VBOX_EDIT_VERSION_RULE_FN,VBoxDTraceIns,ExtPack.xml)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync #
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # VBoxDTraceMain - The module which the VirtualBox Main API talks to.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync #
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync DLLS += VBoxDTraceMain
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceMain_TEMPLATE = VBoxR3ExtPackDTrace
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceMain_SOURCES = VBoxDTraceMain.cpp
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync #
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # The ring-3 VBoxDTrace command implementation (library).
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync #
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync DLLS += VBoxDTraceCmd
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_TEMPLATE = VBoxR3ExtPackDTrace
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_DEFS = RTMEM_WRAP_TO_EF_APIS
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync #VBoxDTraceCmd_DEFS += YYDEBUG
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_SDKS = VBOX_ZLIB
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync ifn1of ($(KBUILD_TARGET), win)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_CFLAGS = -Wno-format $(VBOX_GCC_Wno-overlength-strings) -Wno-sign-compare -Wno-strict-prototypes -Wno-missing-prototypes -Wno-missing-declarations -Wno-shadow
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_INCS = \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync include \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_UTS)/common \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBCTF)/common \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_CMN_CTF)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_SOURCES = \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_CMD)/dtrace/dtrace.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_as.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_aggregate.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_buf.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_cc.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_cg.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_consume.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_decl.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_dis.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_dof.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_error.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_handle.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_ident.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_inttab.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_list.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_map.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_module.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_program.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_open.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_options.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_parser.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_pcb.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_pragma.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_printf.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_proc.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_provider.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_regset.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_string.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_strtab.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_subr.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_work.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_xlator.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBoxDTraceCmd_0_OUTDIR)/dt_errtags.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBoxDTraceCmd_0_OUTDIR)/dt_names.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_CMN_CTF)/ctf_create.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_CMN_CTF)/ctf_error.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_CMN_CTF)/ctf_decl.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_CMN_CTF)/ctf_hash.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_CMN_CTF)/ctf_labels.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_CMN_CTF)/ctf_lookup.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_CMN_CTF)/ctf_open.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_CMN_CTF)/ctf_types.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_CMN_CTF)/ctf_util.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBCTF)/common/ctf_subr.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBCTF)/common/ctf_lib.c
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # Source not used or wanted:
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # $(VBOXDT_PATH_LIBDTRACE)/common/dt_link.c
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # $(VBOXDT_PATH_LIBDTRACE)/common/dt_pid.c
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
418b2ca36b57bba4727decfa2e9b93affca1dd43vboxsync # Generate sources
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $$(VBoxDTraceCmd_0_OUTDIR)/dt_errtags.c: \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_errtags.h \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/mkerrtags.sed \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync | $$(dir $$@)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(MSG_GENERATE,VBoxDTraceCmd,$@,$<)
2868a4e01e366cc5b7228503675dbbf3ecdeba2cvboxsync $(SED) -n -f $(VBOXDT_PATH_LIBDTRACE)/common/mkerrtags.sed --output $@ $<
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $$(VBoxDTraceCmd_0_OUTDIR)/dt_names.c: \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_UTS)/common/sys/dtrace.h \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/mknames.sed \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync | $$(dir $$@)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(MSG_GENERATE,VBoxDTraceCmd,$@,$<)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(SED) -n -f $(VBOXDT_PATH_LIBDTRACE)/common/mknames.sed --output $@ $<
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync ifdef VBOX_HAVE_BISON
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync USES += yacc
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_USES += yacc
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_YACCTOOL = BISON
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_YACCFLAGS = -d -y
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_SOURCES += \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_grammar.y
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_INCS += $(VBoxDTraceCmd_0_OUTDIR)/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync else
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_SOURCES += \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH)/generated/dt_grammar.c
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_INCS += \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH)/generated/
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync ifdef VBOX_HAVE_FLEX
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync USES += lex
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_USES += lex
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_LEXTOOL = FLEX
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_LEXFLAGS = -l -B #-d -T
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_SOURCES += \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_LIBDTRACE)/common/dt_lex.l
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync else
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_SOURCES += \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH)/generated/dt_lex.c
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceCmd_DEFS += USING_FLEX
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync #
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # Updates the sources generated by flex and biosn.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # The SED processing removes the paths the from #line statements.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync #
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync vboxdtrace-update-generated-sources: \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $$(VBoxDTraceCmd_0_OUTDIR)/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_grammar.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $$(VBoxDTraceCmd_0_OUTDIR)/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_grammar.h \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $$(VBoxDTraceCmd_0_OUTDIR)/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_lex.c
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(foreach file,dt_grammar.c dt_grammar.h dt_lex.c \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync ,$(NLTAB)$(SED) -e 's,$(VBOXDT_PATH_LIBDTRACE)/common/,,g'\
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync -e 's,$(VBoxDTraceCmd_0_OUTDIR)/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/,,g' \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync --output $(VBOXDT_PATH)/generated/$(file) \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBoxDTraceCmd_0_OUTDIR)/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/$(file))
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync #
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # The ring-0 part of VBoxDTrace.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync #
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync SYSMODS += VBoxDTraceR0
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceR0_TEMPLATE = VBoxR0ExtPackDTrace
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceR0_DEFS = IN_VBOXDTRACE_R0 IN_RT_R0
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync ifeq ($(VBOX_LDR_FMT),elf)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceR0_LDFLAGS = -e ModuleInit
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceR0_INCS = \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync include \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_UTS)/common
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceR0_SOURCES = \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceR0.cpp \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceR0A.asm \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOXDT_PATH_UTS)/common/dtrace/dtrace.c
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceR0_LIBS = \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync ifneq ($(filter pe lx,$(VBOX_LDR_FMT)),)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBoxDTraceR0_LIBS += \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(PATH_STAGE_LIB)/SUPR0$(VBOX_SUFF_LIB)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync #
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # Packing.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync #
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync ifndef VBOX_WITHOUT_EXTPACK_VBOXDTRACE_PACKING
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync PACKING += $(VBOX_PATH_PACKAGES)/$(VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME)-$(VBOX_VERSION_STRING)r$(VBOX_SVN_REV).vbox-extpack
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync ifndef VBOX_WITH_EXTPACK_OS_ARCHS
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync ifeq ($(USER),bird) # for now
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBOX_WITH_EXTPACK_OS_ARCHS = $(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # Build the file list. The macro takes 1=darwin.x86, 2=dist/VirtualBox.app/Contents/MacOS, 3=dylib
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBOX_VBOXDTRACE_FILES_MACRO = \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(PATH_OUT_BASE)/$(1)/$(KBUILD_TYPE)/$(2)/ExtensionPacks/$(VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME)/$(1)/VBoxDTraceMain.$(3)=>$(1)/VBoxDTraceMain.$(3) \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(PATH_OUT_BASE)/$(1)/$(KBUILD_TYPE)/$(2)/ExtensionPacks/$(VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME)/$(1)/VBoxDTraceCmd.$(3)=>$(1)/VBoxDTraceCmd.$(3) \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(PATH_OUT_BASE)/$(1)/$(KBUILD_TYPE)/$(2)/ExtensionPacks/$(VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME)/$(1)/VBoxDTraceR0.r0=>$(1)/VBoxDTraceR0.r0
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBOX_VBOXDTRACE_FILES := \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOX_PATH_EXTPACK_VBOXDTRACE)/ExtPack.xml=>ExtPack.xml \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOX_PATH_EXTPACK_VBOXDTRACE)/ExtPack-SourceCodeLicense.txt=>ExtPack-SourceCodeLicense.txt
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync if1of (darwin.amd64, $(VBOX_WITH_EXTPACK_OS_ARCHS))
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,darwin.amd64,dist/VirtualBox.app/Contents/MacOS,dylib)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync if1of (darwin.x86, $(VBOX_WITH_EXTPACK_OS_ARCHS))
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,darwin.x86,dist/VirtualBox.app/Contents/MacOS,dylib)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync if1of (freebsd.amd64, $(VBOX_WITH_EXTPACK_OS_ARCHS))
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,freebsd.amd64,bin,so)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync if1of (freebsd.x86, $(VBOX_WITH_EXTPACK_OS_ARCHS))
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,freebsd.x86,bin,so)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync if1of (linux.amd64, $(VBOX_WITH_EXTPACK_OS_ARCHS))
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,linux.amd64,bin,so)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync if1of (linux.x86, $(VBOX_WITH_EXTPACK_OS_ARCHS))
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,linux.x86,bin,so)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync if1of (os2.x86, $(VBOX_WITH_EXTPACK_OS_ARCHS))
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,os2.x86,bin,so)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync if1of (solaris.amd64, $(VBOX_WITH_EXTPACK_OS_ARCHS))
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,solaris.amd64,bin,so)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync if1of (solaris.x86, $(VBOX_WITH_EXTPACK_OS_ARCHS))
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,solaris.x86,bin,so)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync if1of (win.amd64, $(VBOX_WITH_EXTPACK_OS_ARCHS))
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,win.amd64,bin,dll)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync if1of (win.x86, $(VBOX_WITH_EXTPACK_OS_ARCHS))
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync VBOX_VBOXDTRACE_FILES += $(call VBOX_VBOXDTRACE_FILES_MACRO,win.x86,bin,dll)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync endif
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # Pack it all up using a temporary staging directory.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOX_PATH_PACKAGES)/$(VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME)-$(VBOX_VERSION_STRING)r$(VBOX_SVN_REV).vbox-extpack: \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $$(foreach file, $$(VBOX_VBOXDTRACE_FILES), $$(firstword $$(subst =>,$$(SP),$$(file)))) \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync | $(VBOX_PATH_PACKAGES)/
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(RM) -f $(wildcard $(VBOX_PATH_PACKAGES)/$(VBOX_EXTPACK_VBOXDTRACE_MANGLED_NAME)-*.vbox-extpack) \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBoxDTraceIns_0_OUTDIR)/ExtPack.manifest \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBoxDTraceIns_0_OUTDIR)/ExtPack.signature
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # Stage all the files
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(RM) -Rf $(VBoxDTraceIns_0_OUTDIR)/Stage/
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(foreach file, $(VBOX_VBOXDTRACE_FILES),\
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(NLTAB)$(MKDIR) -p $(dir $(lastword $(subst =>,$(SP)$(VBoxDTraceIns_0_OUTDIR)/Stage/,$(file)))) \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(NLTAB)$(CP) $(subst =>,$(SP)$(VBoxDTraceIns_0_OUTDIR)/Stage/,$(file)) )
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # Create the manifest
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBOX_RTMANIFEST) \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync --manifest $(VBoxDTraceIns_0_OUTDIR)/Stage/ExtPack.manifest \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync --chdir $(VBoxDTraceIns_0_OUTDIR)/Stage/ \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(foreach file, $(VBOX_VBOXDTRACE_FILES), $(lastword $(subst =>,$(SP),$(file))))
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(APPEND) $(VBoxDTraceIns_0_OUTDIR)/Stage/ExtPack.signature "todo"
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(CHMOD) a+r \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBoxDTraceIns_0_OUTDIR)/Stage/ExtPack.manifest \
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(VBoxDTraceIns_0_OUTDIR)/Stage/ExtPack.signature
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # Tar it up.
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync tar -cvf - -C $(VBoxDTraceIns_0_OUTDIR)/Stage/ . | gzip -9c > $@
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync # Clean up
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync $(RM) -Rf $(VBoxDTraceIns_0_OUTDIR)/Stage/
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync BLDDIRS += $(VBOX_PATH_PACKAGES)/
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncendif # VBOX_WITH_EXTPACK_VBOXDTRACE
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsyncinclude $(FILE_KBUILD_SUB_FOOTER)
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync
dee9e52b1688c0617890cbbd8a8488f9f315d1b7vboxsync