1ebe86aacSJohn Birrell 26de02228SDomagoj StolfaSHLIBDIR?= /lib 36de02228SDomagoj Stolfa 46de02228SDomagoj Stolfa.include <src.opts.mk> 56de02228SDomagoj Stolfa 6acc37ca1SEnji Cooper.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/common 7acc37ca1SEnji Cooper.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libgen/common 8ebe86aacSJohn Birrell 979ac3c12SEmmanuel VadotPACKAGE= dtrace 10ebe86aacSJohn BirrellLIB= dtrace 116de02228SDomagoj Stolfa 12ebe86aacSJohn BirrellSRCS= dt_aggregate.c \ 13ebe86aacSJohn Birrell dt_as.c \ 14ebe86aacSJohn Birrell dt_buf.c \ 15ebe86aacSJohn Birrell dt_cc.c \ 16ebe86aacSJohn Birrell dt_cg.c \ 17ebe86aacSJohn Birrell dt_consume.c \ 18ebe86aacSJohn Birrell dt_decl.c \ 19ebe86aacSJohn Birrell dt_dis.c \ 20ebe86aacSJohn Birrell dt_dof.c \ 21ebe86aacSJohn Birrell dt_error.c \ 22ebe86aacSJohn Birrell dt_errtags.c \ 23ebe86aacSJohn Birrell dt_grammar.y \ 24ebe86aacSJohn Birrell dt_handle.c \ 25ebe86aacSJohn Birrell dt_ident.c \ 260f2bd1e8SRui Paulo dt_isadep.c \ 27ebe86aacSJohn Birrell dt_inttab.c \ 28ebe86aacSJohn Birrell dt_lex.l \ 29ebe86aacSJohn Birrell dt_link.c \ 30ebe86aacSJohn Birrell dt_list.c \ 31ebe86aacSJohn Birrell dt_map.c \ 32ebe86aacSJohn Birrell dt_module.c \ 33ebe86aacSJohn Birrell dt_names.c \ 34ebe86aacSJohn Birrell dt_open.c \ 35ebe86aacSJohn Birrell dt_options.c \ 36ebe86aacSJohn Birrell dt_parser.c \ 37ebe86aacSJohn Birrell dt_pcb.c \ 38ebe86aacSJohn Birrell dt_pid.c \ 3909e6105fSMark Johnston dt_pq.c \ 40ebe86aacSJohn Birrell dt_pragma.c \ 4154727873SPedro F. Giffuni dt_print.c \ 42ebe86aacSJohn Birrell dt_printf.c \ 43ebe86aacSJohn Birrell dt_proc.c \ 44ebe86aacSJohn Birrell dt_program.c \ 45ebe86aacSJohn Birrell dt_provider.c \ 46ebe86aacSJohn Birrell dt_regset.c \ 47ebe86aacSJohn Birrell dt_string.c \ 48ebe86aacSJohn Birrell dt_strtab.c \ 49ebe86aacSJohn Birrell dt_subr.c \ 50650f66acSMark Johnston dt_sugar.c \ 51ebe86aacSJohn Birrell dt_work.c \ 52ebe86aacSJohn Birrell dt_xlator.c \ 53457c7edfSOleksandr Tymoshenko gmatch.c 54ebe86aacSJohn Birrell 55ebe86aacSJohn BirrellDSRCS= errno.d \ 563fac94baSGeorge V. Neville-Neil io.d \ 5757f60867SMark Johnston ip.d \ 58ebe86aacSJohn Birrell psinfo.d \ 591e88cc8bSMichael Tuexen sctp.d \ 60d4a115afSMark Johnston siftr.d \ 61ebe86aacSJohn Birrell signal.d \ 6257f60867SMark Johnston tcp.d \ 63958f4928SGeorge V. Neville-Neil socket.d \ 6457f60867SMark Johnston udp.d \ 657bda9663SMichael Tuexen udplite.d \ 66ebe86aacSJohn Birrell unistd.d 67ebe86aacSJohn Birrell 68144cd65bSBryan DreweryFILES= ${DSRCS} 69144cd65bSBryan DreweryFILESDIR= /usr/lib/dtrace 70144cd65bSBryan DreweryFILESMODE= ${NOBINMODE} 71144cd65bSBryan Drewery 721f6612b4SAlex RichardsonINCSGROUPS= INCS SYSINCS 731f6612b4SAlex RichardsonSYSINCSDIR= ${INCLUDEDIR}/sys 741f6612b4SAlex RichardsonINCS+= ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h 751f6612b4SAlex RichardsonSYSINCS+= ${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h 761f6612b4SAlex RichardsonSYSINCS+= ${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/sys/ctf_api.h 771f6612b4SAlex Richardson 784ef20db2SUlrich SpörleinWARNS?= 1 79ebe86aacSJohn Birrell 809e5787d2SMatt MacyCFLAGS+= -DIN_BASE 819e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include 829e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/ 839e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/os/freebsd 849e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys 859e5787d2SMatt MacyCFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h 869e5787d2SMatt MacyCFLAGS+= -DHAVE_ISSETUGID 879e5787d2SMatt Macy 889e5787d2SMatt Macy 890f2bd1e8SRui PauloCFLAGS+= -I${.OBJDIR} -I${.CURDIR} \ 90acc37ca1SEnji Cooper -I${SRCTOP}/sys/cddl/dev/dtrace/${MACHINE_ARCH} \ 912179a159SChristos Margiolis -I${SRCTOP}/sys/cddl/dev/kinst \ 92acc37ca1SEnji Cooper -I${SRCTOP}/sys/cddl/compat/opensolaris \ 93acc37ca1SEnji Cooper -I${SRCTOP}/cddl/compat/opensolaris/include \ 94ebe86aacSJohn Birrell -I${OPENSOLARIS_USR_DISTDIR}/head \ 95ebe86aacSJohn Birrell -I${OPENSOLARIS_USR_DISTDIR}/lib/libctf/common \ 96ebe86aacSJohn Birrell -I${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common \ 97ebe86aacSJohn Birrell -I${OPENSOLARIS_SYS_DISTDIR}/uts/common 98ebe86aacSJohn Birrell 99ebe86aacSJohn Birrell#CFLAGS+= -DYYDEBUG 100ebe86aacSJohn Birrell 101b78ee15eSRuslan Bukin.if ${MACHINE_CPUARCH} == "aarch64" 102b78ee15eSRuslan BukinCFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/aarch64 103acc37ca1SEnji Cooper.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/aarch64 104acc37ca1SEnji Cooper.PATH: ${SRCTOP}/sys/cddl/dev/dtrace/aarch64 105b78ee15eSRuslan Bukin.elif ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" 106acc37ca1SEnji CooperCFLAGS+= -I${SRCTOP}/sys/cddl/dev/dtrace/x86 1070f2bd1e8SRui PauloCFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/intel -DDIS_MEM 108acc37ca1SEnji Cooper.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/i386 109acc37ca1SEnji Cooper.PATH: ${SRCTOP}/sys/cddl/dev/dtrace/${MACHINE_ARCH} 110acc37ca1SEnji Cooper.PATH: ${SRCTOP}/sys/cddl/dev/dtrace/x86 111fcb56067SGeorge V. Neville-Neil.elif ${MACHINE_CPUARCH} == "arm" 112fcb56067SGeorge V. Neville-NeilCFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/arm 113acc37ca1SEnji Cooper.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/arm 114acc37ca1SEnji Cooper.PATH: ${SRCTOP}/sys/cddl/dev/dtrace/arm 115c7570492SJustin Hibbits.elif ${MACHINE_CPUARCH} == "powerpc" 116c7570492SJustin HibbitsCFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/powerpc 117acc37ca1SEnji Cooper.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/powerpc 118acc37ca1SEnji Cooper.PATH: ${SRCTOP}/sys/cddl/dev/dtrace/powerpc 119fed1ca4bSRuslan Bukin.elif ${MACHINE_CPUARCH} == "riscv" 120fed1ca4bSRuslan BukinCFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/riscv 121acc37ca1SEnji Cooper.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/riscv 122acc37ca1SEnji Cooper.PATH: ${SRCTOP}/sys/cddl/dev/dtrace/riscv 123ebe86aacSJohn Birrell.else 124ebe86aacSJohn Birrell# temporary hack 125ebe86aacSJohn BirrellCFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/intel 126ebe86aacSJohn Birrell.endif 127ebe86aacSJohn Birrell 1280f2bd1e8SRui Paulo.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64" 129080e56a6SChristos MargiolisSRCS+= dis_tables.c instr_size.c 1300f2bd1e8SRui PauloDSRCS+= regs_x86.d 1310f2bd1e8SRui Paulo.endif 1320f2bd1e8SRui Paulo 133080e56a6SChristos Margiolis.if ${MACHINE_CPUARCH} == "riscv" 134080e56a6SChristos MargiolisSRCS+= instr_size.c 1351fef7abdSChristos MargiolisDSRCS+= regs_riscv.d 136080e56a6SChristos Margiolis.endif 137080e56a6SChristos Margiolis 138db05f9fbSChristos Margiolis.if ${MACHINE_CPUARCH} == "aarch64" 139db05f9fbSChristos MargiolisSRCS+= instr_size.c 14021a16d55SChristos MargiolisDSRCS+= regs_aarch64.d 141db05f9fbSChristos Margiolis.endif 142db05f9fbSChristos Margiolis 143ebe86aacSJohn BirrellYFLAGS+=-d 144ebe86aacSJohn Birrell 1456de02228SDomagoj Stolfa.if ${MK_DTRACE_ASAN} != "no" 1466de02228SDomagoj StolfaCFLAGS+= -fsanitize=address -fsanitize=undefined 1476de02228SDomagoj StolfaLDFLAGS+= -fsanitize=address -fsanitize=undefined 1486de02228SDomagoj Stolfa.endif 1496de02228SDomagoj Stolfa 150*aef45041SDomagoj StolfaLIBADD= ctf elf proc pthread rtld_db xo 15153d5099dSBaptiste Daroussin 152ebe86aacSJohn BirrellCLEANFILES= dt_errtags.c dt_names.c 153ebe86aacSJohn Birrell 154ebe86aacSJohn Birrell.include <bsd.lib.mk> 155e2072706SMark Johnston 156e2072706SMark Johnstondt_errtags.c: ${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common/dt_errtags.h 157e2072706SMark Johnston sh ${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common/mkerrtags.sh < ${.ALLSRC} > ${.TARGET} 158e2072706SMark Johnston 159e2072706SMark Johnstondt_names.c: ${OPENSOLARIS_SYS_DISTDIR}/uts/common/sys/dtrace.h 160e2072706SMark Johnston sh ${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common/mknames.sh < ${.ALLSRC} > ${.TARGET} 161