# $FreeBSD: stable/9/sys/modules/dtrace/dtrace/Makefile 265274 2014-05-03 16:09:08Z markj $

ARCHDIR=	${MACHINE_CPUARCH}

.PATH: ${.CURDIR}/../../../cddl/contrib/opensolaris/uts/common/dtrace
.PATH: ${.CURDIR}/../../../cddl/compat/opensolaris/kern
.PATH: ${.CURDIR}/../../../cddl/kern
.PATH: ${.CURDIR}/../../../cddl/dev/dtrace
.PATH: ${.CURDIR}/../../../cddl/dev/dtrace/${ARCHDIR}

KMOD=		dtrace
SRCS=		dtrace.c \
		dtrace_asm.S \
		dtrace_subr.c

.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
.PATH: ${.CURDIR}/../../../cddl/dev/dtrace/x86
SRCS+=		dis_tables.c \
		instr_size.c
CFLAGS+=	-I${.CURDIR}/../../../cddl/contrib/opensolaris/uts/intel \
		-I${.CURDIR}/../../../cddl/dev/dtrace/x86
.endif

SRCS+=		bus_if.h device_if.h vnode_if.h

# Needed for dtrace_asm.S
SRCS+=		assym.s

# These are needed for assym.s
SRCS+=		opt_compat.h opt_kstack_pages.h opt_nfs.h opt_hwpmc_hooks.h

#This is needed for dtrace.c
SRCS += 	opensolaris_taskq.c

.if ${MACHINE_CPUARCH} == "i386"
SRCS+=		opt_apic.h
.endif

CFLAGS+=	-I${.CURDIR}/../../../cddl/compat/opensolaris \
		-I${.CURDIR}/../../../cddl/dev/dtrace \
		-I${.CURDIR}/../../../cddl/dev/dtrace/${ARCHDIR} \
		-I${.CURDIR}/../../../cddl/contrib/opensolaris/uts/common \
		-I${.CURDIR}/../../.. -DDIS_MEM

CFLAGS+=	-DSMP

EXPORT_SYMS=	dtrace_register \
		dtrace_unregister \
		dtrace_probe_lookup

dtrace_asm.o:  assym.s

.include <bsd.kmod.mk>

CFLAGS+=	-include ${.CURDIR}/../../../cddl/compat/opensolaris/sys/debug_compat.h

CWARNFLAGS+=	-Wno-parentheses
CWARNFLAGS+=	-Wno-uninitialized
CWARNFLAGS+=	-Wno-cast-qual
CWARNFLAGS+=	-Wno-unused
