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