1# $FreeBSD$
2#
3# Copyright (c) 2010 The FreeBSD Foundation 
4# All rights reserved. 
5# 
6# This software was developed by Rui Paulo under sponsorship from the
7# FreeBSD Foundation. 
8#  
9# Redistribution and use in source and binary forms, with or without 
10# modification, are permitted provided that the following conditions 
11# are met: 
12# 1. Redistributions of source code must retain the above copyright 
13#    notice, this list of conditions and the following disclaimer. 
14# 2. Redistributions in binary form must reproduce the above copyright 
15#    notice, this list of conditions and the following disclaimer in the 
16#    documentation and/or other materials provided with the distribution. 
17# 
18# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 
19# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
20# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
21# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 
22# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
23# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 
24# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
25# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
26# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 
27# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
28# SUCH DAMAGE. 
29# 
30#
31# The only variable that you should define on your Makefile is 'DTRACEOBJS'.
32# You must include this file before bsd.lib.mk or bsd.prog.mk.
33#
34
35.if defined(WITH_DTRACE)
36
37CFLAGS+=-DWITH_DTRACE
38DTRACEHEADERS=${DTRACEOBJS:S/o$/h/}
39DTRACESRCS=${DTRACEOBJS:S/o$/d/}
40CLEANFILES+=${DTRACEOBJS} ${DTRACEHEADERS}
41
42DPADD+=${LIBELF}
43LDADD+=-lelf
44
45.if defined(PROG)
46_DTRACELINKING=${OBJS}
47OBJS+=${DTRACEOBJS}
48.else
49_DTRACELINKING=${SOBJS}
50SOBJS+=${DTRACEOBJS}
51.endif
52
53${DTRACEOBJS}:
54
55beforedepend:
56	${DTRACE} -C -h -s ${DTRACESRCS}
57beforelinking:
58	${DTRACE} -G -s ${DTRACESRCS} ${_DTRACELINKING:S/${DTRACEOBJS}//}
59
60.endif
61