1212424Srpaulo# $FreeBSD$ 2212424Srpaulo# 3212424Srpaulo# Copyright (c) 2010 The FreeBSD Foundation 4212424Srpaulo# All rights reserved. 5212424Srpaulo# 6212424Srpaulo# This software was developed by Rui Paulo under sponsorship from the 7212424Srpaulo# FreeBSD Foundation. 8212424Srpaulo# 9212424Srpaulo# Redistribution and use in source and binary forms, with or without 10212424Srpaulo# modification, are permitted provided that the following conditions 11212424Srpaulo# are met: 12212424Srpaulo# 1. Redistributions of source code must retain the above copyright 13212424Srpaulo# notice, this list of conditions and the following disclaimer. 14212424Srpaulo# 2. Redistributions in binary form must reproduce the above copyright 15212424Srpaulo# notice, this list of conditions and the following disclaimer in the 16212424Srpaulo# documentation and/or other materials provided with the distribution. 17212424Srpaulo# 18212424Srpaulo# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 19212424Srpaulo# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20212424Srpaulo# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21212424Srpaulo# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 22212424Srpaulo# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23212424Srpaulo# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24212424Srpaulo# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25212424Srpaulo# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26212424Srpaulo# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27212424Srpaulo# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28212424Srpaulo# SUCH DAMAGE. 29212424Srpaulo# 30212424Srpaulo# 31212424Srpaulo# The only variable that you should define on your Makefile is 'DTRACEOBJS'. 32212461Srpaulo# You must include this file before bsd.lib.mk or bsd.prog.mk. 33212424Srpaulo# 34212424Srpaulo 35212424Srpaulo.if defined(WITH_DTRACE) 36212424Srpaulo 37212424SrpauloCFLAGS+=-DWITH_DTRACE 38212424SrpauloDTRACEHEADERS=${DTRACEOBJS:S/o$/h/} 39212424SrpauloDTRACESRCS=${DTRACEOBJS:S/o$/d/} 40212424SrpauloCLEANFILES+=${DTRACEOBJS} ${DTRACEHEADERS} 41212428Srpaulo 42212428SrpauloDPADD+=${LIBELF} 43212428SrpauloLDADD+=-lelf 44212428Srpaulo 45212424Srpaulo.if defined(PROG) 46212428Srpaulo_DTRACELINKING=${OBJS} 47212424SrpauloOBJS+=${DTRACEOBJS} 48212424Srpaulo.else 49212428Srpaulo_DTRACELINKING=${SOBJS} 50212424SrpauloSOBJS+=${DTRACEOBJS} 51212424Srpaulo.endif 52212424Srpaulo 53212428Srpaulo${DTRACEOBJS}: 54212428Srpaulo 55212424Srpaulobeforedepend: 56212424Srpaulo ${DTRACE} -C -h -s ${DTRACESRCS} 57212424Srpaulobeforelinking: 58212428Srpaulo ${DTRACE} -G -s ${DTRACESRCS} ${_DTRACELINKING:S/${DTRACEOBJS}//} 59212424Srpaulo 60212424Srpaulo.endif 61