1SHLIBDIR?= /lib 2 3.include <src.opts.mk> 4 5.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/common 6.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libgen/common 7 8PACKAGE= dtrace 9LIB= dtrace 10 11SRCS= dt_aggregate.c \ 12 dt_as.c \ 13 dt_buf.c \ 14 dt_cc.c \ 15 dt_cg.c \ 16 dt_consume.c \ 17 dt_decl.c \ 18 dt_dis.c \ 19 dt_dof.c \ 20 dt_error.c \ 21 dt_errtags.c \ 22 dt_grammar.y \ 23 dt_handle.c \ 24 dt_ident.c \ 25 dt_isadep.c \ 26 dt_inttab.c \ 27 dt_lex.l \ 28 dt_link.c \ 29 dt_list.c \ 30 dt_map.c \ 31 dt_module.c \ 32 dt_names.c \ 33 dt_open.c \ 34 dt_options.c \ 35 dt_parser.c \ 36 dt_pcb.c \ 37 dt_pid.c \ 38 dt_pq.c \ 39 dt_pragma.c \ 40 dt_print.c \ 41 dt_printf.c \ 42 dt_proc.c \ 43 dt_program.c \ 44 dt_provider.c \ 45 dt_regset.c \ 46 dt_string.c \ 47 dt_strtab.c \ 48 dt_subr.c \ 49 dt_sugar.c \ 50 dt_work.c \ 51 dt_xlator.c \ 52 gmatch.c 53 54DSRCS= cam.d \ 55 errno.d \ 56 io.d \ 57 ip.d \ 58 priv.d \ 59 psinfo.d \ 60 sctp.d \ 61 siftr.d \ 62 signal.d \ 63 tcp.d \ 64 socket.d \ 65 udp.d \ 66 udplite.d \ 67 unistd.d 68 69FILES= ${DSRCS} 70FILESDIR= /usr/lib/dtrace 71FILESMODE= ${NOBINMODE} 72 73INCSGROUPS= INCS SYSINCS 74SYSINCSDIR= ${INCLUDEDIR}/sys 75INCS+= ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h 76SYSINCS+= ${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h 77SYSINCS+= ${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/sys/ctf_api.h 78 79WARNS?= 1 80 81CFLAGS+= -DIN_BASE 82CFLAGS+= -DSKIP_SPL_SYS_CONDVAR_H 83CFLAGS+= -I${ZFSTOP}/include 84CFLAGS+= -I${ZFSTOP}/lib/libspl/include/ 85CFLAGS+= -I${ZFSTOP}/lib/libspl/include/os/freebsd 86CFLAGS+= -I${SRCTOP}/sys 87CFLAGS+= -include ${ZFSTOP}/include/os/freebsd/spl/sys/ccompile.h 88CFLAGS+= -DHAVE_ISSETUGID 89 90 91CFLAGS+= -I${.OBJDIR} -I${.CURDIR} \ 92 -I${SRCTOP}/sys/cddl/dev/dtrace/${MACHINE_ARCH} \ 93 -I${SRCTOP}/sys/cddl/dev/kinst \ 94 -I${SRCTOP}/sys/cddl/compat/opensolaris \ 95 -I${SRCTOP}/cddl/compat/opensolaris/include \ 96 -I${OPENSOLARIS_USR_DISTDIR}/head \ 97 -I${OPENSOLARIS_USR_DISTDIR}/lib/libctf/common \ 98 -I${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common \ 99 -I${OPENSOLARIS_SYS_DISTDIR}/uts/common 100 101#CFLAGS+= -DYYDEBUG 102 103.if ${MACHINE_CPUARCH} == "aarch64" 104CFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/aarch64 105.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/aarch64 106.PATH: ${SRCTOP}/sys/cddl/dev/dtrace/aarch64 107.elif ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" 108CFLAGS+= -I${SRCTOP}/sys/cddl/dev/dtrace/x86 109CFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/intel -DDIS_MEM 110.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/i386 111.PATH: ${SRCTOP}/sys/cddl/dev/dtrace/${MACHINE_ARCH} 112.PATH: ${SRCTOP}/sys/cddl/dev/dtrace/x86 113.elif ${MACHINE_CPUARCH} == "arm" 114CFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/arm 115.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/arm 116.PATH: ${SRCTOP}/sys/cddl/dev/dtrace/arm 117.elif ${MACHINE_CPUARCH} == "powerpc" 118CFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/powerpc 119.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/powerpc 120.PATH: ${SRCTOP}/sys/cddl/dev/dtrace/powerpc 121.elif ${MACHINE_CPUARCH} == "riscv" 122CFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/riscv 123.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/riscv 124.PATH: ${SRCTOP}/sys/cddl/dev/dtrace/riscv 125.else 126# temporary hack 127CFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/intel 128.endif 129 130.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64" 131SRCS+= dis_tables.c instr_size.c 132DSRCS+= regs_x86.d 133.endif 134 135.if ${MACHINE_CPUARCH} == "riscv" 136SRCS+= instr_size.c 137DSRCS+= regs_riscv.d 138.endif 139 140.if ${MACHINE_CPUARCH} == "aarch64" 141SRCS+= instr_size.c 142DSRCS+= regs_aarch64.d 143.endif 144 145YFLAGS+=-d 146 147.if ${MK_DTRACE_ASAN} != "no" 148CFLAGS+= -fsanitize=address -fsanitize=undefined 149LDFLAGS+= -fsanitize=address -fsanitize=undefined 150.endif 151 152LIBADD= ctf elf proc pthread rtld_db xo 153 154CLEANFILES= dt_errtags.c dt_names.c priv.d 155 156.include <bsd.lib.mk> 157 158dt_errtags.c: ${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common/dt_errtags.h 159 sh ${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common/mkerrtags.sh < ${.ALLSRC} > ${.TARGET} 160 161dt_names.c: ${OPENSOLARIS_SYS_DISTDIR}/uts/common/sys/dtrace.h 162 sh ${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common/mknames.sh < ${.ALLSRC} > ${.TARGET} 163 164priv.d: mkpriv ${SRCTOP}/sys/sys/priv.h 165 sh ${.CURDIR}/mkpriv -o ${.TARGET} ${SRCTOP}/sys/sys/priv.h 166