1# $NetBSD: Makefile,v 1.13 2023/06/03 09:09:14 lukem Exp $
2# $FreeBSD: src/sys/modules/dtrace/dtrace/Makefile,v 1.2.2.1 2009/08/03 08:13:06 kensmith Exp $
3
4.include "../../Makefile.inc"
5.include "../../Makefile.assym"
6
7.include <bsd.own.mk>
8
9OSNETDIR=${NETBSDSRCDIR}/external/cddl/osnet
10
11.if exists(${OSNETDIR}/dev/dtrace/${MACHINE})
12ARCH=${MACHINE}
13.elif exists(${OSNETDIR}/dev/dtrace/${MACHINE_CPU})
14ARCH=${MACHINE_CPU}
15.else
16.error ${MACHINE} or ${MACHINE_CPU} not supported.
17.endif
18
19.PATH: ${OSNETDIR}/dist/uts/common/dtrace
20.PATH: ${OSNETDIR}/dev/dtrace
21.PATH: ${OSNETDIR}/dev/dtrace/${ARCH}
22
23COPTS.dtrace.c += ${CC_WNO_CAST_FUNCTION_TYPE}
24
25KMOD=		dtrace
26SRCS=		dtrace.c \
27		dtrace_xoroshiro128_plus.c \
28		dtrace_asm.S \
29		dtrace_subr.c
30
31.if ${MACHINE} == "amd64" || ${MACHINE} == "i386"
32.PATH: ${OSNETDIR}/dev/dtrace/x86
33SRCS+=		dis_tables.c \
34		instr_size.c
35CPPFLAGS+=	-I${OSNETDIR}/dev/dtrace/x86
36.endif
37
38CPPFLAGS+=	-I${OSNETDIR}/sys \
39		-I${OSNETDIR}/dev/dtrace \
40		-I${OSNETDIR}/dev/dtrace/${ARCH} \
41		-I${OSNETDIR}/dist/uts/common \
42		-I${OSNETDIR}/dist/common/util \
43		-DDIS_MEM
44
45CPPFLAGS+=	-Wno-unknown-pragmas \
46		-Wno-shadow \
47		-Wno-unused-variable \
48		-Wno-unused-function
49
50CPPFLAGS+=	${${ACTIVE_CC} == "gcc" :? -Wno-discarded-qualifiers :}
51CPPFLAGS+=	${${ACTIVE_CC} == "clang" :? \
52			-Wno-sometimes-uninitialized \
53			-Wno-incompatible-pointer-types-discards-qualifiers :}
54
55COPTS.dis_tables.c+= \
56		-Wno-missing-field-initializers \
57		-Wno-cast-qual \
58		-Wno-parentheses \
59		-Wno-uninitialized
60
61COPTS.dtrace.c+=	${${ACTIVE_CC} == "gcc" :? -Wno-unused-but-set-variable :}
62
63COPTS.dtrace_subr.c+= \
64		-Wno-unused-value
65
66EXPORT_SYMS=	dtrace_register \
67		dtrace_unregister \
68		dtrace_probe_lookup
69
70WARNS=		3
71
72.include <bsd.kmodule.mk>
73