xref: /freebsd/sys/modules/dtrace/dtrace/Makefile (revision 63d1fd5970ec814904aa0f4580b10a0d302d08b2)
1# $FreeBSD$
2
3SYSDIR?=	${.CURDIR}/../../..
4
5ARCHDIR=	${MACHINE_CPUARCH}
6
7.PATH: ${SYSDIR}/cddl/contrib/opensolaris/uts/common/dtrace
8.PATH: ${SYSDIR}/cddl/compat/opensolaris/kern
9.PATH: ${SYSDIR}/cddl/kern
10.PATH: ${SYSDIR}/cddl/dev/dtrace
11.PATH: ${SYSDIR}/cddl/dev/dtrace/${ARCHDIR}
12
13KMOD=		dtrace
14SRCS=		dtrace.c \
15		dtrace_asm.S \
16		dtrace_subr.c
17
18.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
19.PATH: ${SYSDIR}/cddl/dev/dtrace/x86
20SRCS+=		dis_tables.c \
21		instr_size.c
22CFLAGS+=	-I${SYSDIR}/cddl/contrib/opensolaris/uts/intel \
23		-I${SYSDIR}/cddl/dev/dtrace/x86
24.endif
25
26SRCS+=		bus_if.h device_if.h vnode_if.h
27
28# Needed for dtrace_asm.S
29SRCS+=		assym.s
30
31# These are needed for assym.s
32SRCS+=		opt_compat.h opt_kstack_pages.h opt_nfs.h opt_hwpmc_hooks.h
33
34#This is needed for dtrace.c
35SRCS += 	opensolaris_taskq.c
36
37.if ${MACHINE_CPUARCH} == "i386"
38SRCS+=		opt_apic.h
39.endif
40
41CFLAGS+=	-I${SYSDIR}/cddl/compat/opensolaris \
42		-I${SYSDIR}/cddl/dev/dtrace \
43		-I${SYSDIR}/cddl/dev/dtrace/${ARCHDIR} \
44		-I${SYSDIR}/cddl/contrib/opensolaris/uts/common \
45		-I${SYSDIR}/cddl/contrib/opensolaris/common/util \
46		-I${SYSDIR} -DDIS_MEM
47
48CFLAGS+=	-DSMP
49
50EXPORT_SYMS=	dtrace_register \
51		dtrace_unregister \
52		dtrace_probe_lookup
53
54dtrace_asm.o:  assym.s
55
56.if ${MACHINE_CPUARCH} == "arm"
57assym.o: assym.s
58	${AS} -meabi=5 -o assym.o assym.s
59.endif
60
61.if ${MACHINE_CPUARCH} == "riscv"
62assym.o: assym.s
63.if ${TARGET_ARCH:Mriscv*sf}
64	${AS} -mfloat-abi=soft -o assym.o assym.s
65.else
66	${AS} -mfloat-abi=double -o assym.o assym.s
67.endif
68.endif
69
70.include <bsd.kmod.mk>
71
72CFLAGS+=	-include ${SYSDIR}/cddl/compat/opensolaris/sys/debug_compat.h
73
74CWARNFLAGS+=	-Wno-parentheses
75CWARNFLAGS+=	-Wno-uninitialized
76CWARNFLAGS+=	-Wno-cast-qual
77CWARNFLAGS+=	-Wno-unused
78