16de02228SDomagoj StolfaSHLIBDIR?= /lib 26de02228SDomagoj Stolfa 36de02228SDomagoj Stolfa.include <src.opts.mk> 46de02228SDomagoj Stolfa 5acc37ca1SEnji Cooper.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/common 6acc37ca1SEnji Cooper.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libgen/common 7ebe86aacSJohn Birrell 879ac3c12SEmmanuel VadotPACKAGE= dtrace 9ebe86aacSJohn BirrellLIB= dtrace 106de02228SDomagoj Stolfa 11ebe86aacSJohn BirrellSRCS= dt_aggregate.c \ 12ebe86aacSJohn Birrell dt_as.c \ 13ebe86aacSJohn Birrell dt_buf.c \ 14ebe86aacSJohn Birrell dt_cc.c \ 15ebe86aacSJohn Birrell dt_cg.c \ 16ebe86aacSJohn Birrell dt_consume.c \ 17ebe86aacSJohn Birrell dt_decl.c \ 18ebe86aacSJohn Birrell dt_dis.c \ 19ebe86aacSJohn Birrell dt_dof.c \ 20ebe86aacSJohn Birrell dt_error.c \ 21ebe86aacSJohn Birrell dt_errtags.c \ 22ebe86aacSJohn Birrell dt_grammar.y \ 23ebe86aacSJohn Birrell dt_handle.c \ 24ebe86aacSJohn Birrell dt_ident.c \ 250f2bd1e8SRui Paulo dt_isadep.c \ 26ebe86aacSJohn Birrell dt_inttab.c \ 27ebe86aacSJohn Birrell dt_lex.l \ 28ebe86aacSJohn Birrell dt_link.c \ 29ebe86aacSJohn Birrell dt_list.c \ 30ebe86aacSJohn Birrell dt_map.c \ 31ebe86aacSJohn Birrell dt_module.c \ 32ebe86aacSJohn Birrell dt_names.c \ 33ebe86aacSJohn Birrell dt_open.c \ 34ebe86aacSJohn Birrell dt_options.c \ 35ebe86aacSJohn Birrell dt_parser.c \ 36ebe86aacSJohn Birrell dt_pcb.c \ 37ebe86aacSJohn Birrell dt_pid.c \ 3809e6105fSMark Johnston dt_pq.c \ 39ebe86aacSJohn Birrell dt_pragma.c \ 4054727873SPedro F. Giffuni dt_print.c \ 41ebe86aacSJohn Birrell dt_printf.c \ 42ebe86aacSJohn Birrell dt_proc.c \ 43ebe86aacSJohn Birrell dt_program.c \ 44ebe86aacSJohn Birrell dt_provider.c \ 45ebe86aacSJohn Birrell dt_regset.c \ 46ebe86aacSJohn Birrell dt_string.c \ 47ebe86aacSJohn Birrell dt_strtab.c \ 48ebe86aacSJohn Birrell dt_subr.c \ 49650f66acSMark Johnston dt_sugar.c \ 50ebe86aacSJohn Birrell dt_work.c \ 51ebe86aacSJohn Birrell dt_xlator.c \ 52457c7edfSOleksandr Tymoshenko gmatch.c 53ebe86aacSJohn Birrell 54ebe86aacSJohn BirrellDSRCS= errno.d \ 553fac94baSGeorge V. Neville-Neil io.d \ 5657f60867SMark Johnston ip.d \ 57ebe86aacSJohn Birrell psinfo.d \ 581e88cc8bSMichael Tuexen sctp.d \ 59d4a115afSMark Johnston siftr.d \ 60ebe86aacSJohn Birrell signal.d \ 6157f60867SMark Johnston tcp.d \ 62958f4928SGeorge V. Neville-Neil socket.d \ 6357f60867SMark Johnston udp.d \ 647bda9663SMichael Tuexen udplite.d \ 65ebe86aacSJohn Birrell unistd.d 66ebe86aacSJohn Birrell 67144cd65bSBryan DreweryFILES= ${DSRCS} 68144cd65bSBryan DreweryFILESDIR= /usr/lib/dtrace 69144cd65bSBryan DreweryFILESMODE= ${NOBINMODE} 70144cd65bSBryan Drewery 711f6612b4SAlex RichardsonINCSGROUPS= INCS SYSINCS 721f6612b4SAlex RichardsonSYSINCSDIR= ${INCLUDEDIR}/sys 731f6612b4SAlex RichardsonINCS+= ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h 741f6612b4SAlex RichardsonSYSINCS+= ${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h 751f6612b4SAlex RichardsonSYSINCS+= ${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/sys/ctf_api.h 761f6612b4SAlex Richardson 774ef20db2SUlrich SpörleinWARNS?= 1 78ebe86aacSJohn Birrell 799e5787d2SMatt MacyCFLAGS+= -DIN_BASE 809e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include 819e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/ 829e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/os/freebsd 839e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys 849e5787d2SMatt MacyCFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h 859e5787d2SMatt MacyCFLAGS+= -DHAVE_ISSETUGID 869e5787d2SMatt Macy 879e5787d2SMatt Macy 880f2bd1e8SRui PauloCFLAGS+= -I${.OBJDIR} -I${.CURDIR} \ 89acc37ca1SEnji Cooper -I${SRCTOP}/sys/cddl/dev/dtrace/${MACHINE_ARCH} \ 902179a159SChristos Margiolis -I${SRCTOP}/sys/cddl/dev/kinst \ 91acc37ca1SEnji Cooper -I${SRCTOP}/sys/cddl/compat/opensolaris \ 92acc37ca1SEnji Cooper -I${SRCTOP}/cddl/compat/opensolaris/include \ 93ebe86aacSJohn Birrell -I${OPENSOLARIS_USR_DISTDIR}/head \ 94ebe86aacSJohn Birrell -I${OPENSOLARIS_USR_DISTDIR}/lib/libctf/common \ 95ebe86aacSJohn Birrell -I${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common \ 96ebe86aacSJohn Birrell -I${OPENSOLARIS_SYS_DISTDIR}/uts/common 97ebe86aacSJohn Birrell 98ebe86aacSJohn Birrell#CFLAGS+= -DYYDEBUG 99ebe86aacSJohn Birrell 100b78ee15eSRuslan Bukin.if ${MACHINE_CPUARCH} == "aarch64" 101b78ee15eSRuslan BukinCFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/aarch64 102acc37ca1SEnji Cooper.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/aarch64 103acc37ca1SEnji Cooper.PATH: ${SRCTOP}/sys/cddl/dev/dtrace/aarch64 104b78ee15eSRuslan Bukin.elif ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" 105acc37ca1SEnji CooperCFLAGS+= -I${SRCTOP}/sys/cddl/dev/dtrace/x86 1060f2bd1e8SRui PauloCFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/intel -DDIS_MEM 107acc37ca1SEnji Cooper.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/i386 108acc37ca1SEnji Cooper.PATH: ${SRCTOP}/sys/cddl/dev/dtrace/${MACHINE_ARCH} 109acc37ca1SEnji Cooper.PATH: ${SRCTOP}/sys/cddl/dev/dtrace/x86 110fcb56067SGeorge V. Neville-Neil.elif ${MACHINE_CPUARCH} == "arm" 111fcb56067SGeorge V. Neville-NeilCFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/arm 112acc37ca1SEnji Cooper.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/arm 113acc37ca1SEnji Cooper.PATH: ${SRCTOP}/sys/cddl/dev/dtrace/arm 114c7570492SJustin Hibbits.elif ${MACHINE_CPUARCH} == "powerpc" 115c7570492SJustin HibbitsCFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/powerpc 116acc37ca1SEnji Cooper.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/powerpc 117acc37ca1SEnji Cooper.PATH: ${SRCTOP}/sys/cddl/dev/dtrace/powerpc 118fed1ca4bSRuslan Bukin.elif ${MACHINE_CPUARCH} == "riscv" 119fed1ca4bSRuslan BukinCFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/riscv 120acc37ca1SEnji Cooper.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/riscv 121acc37ca1SEnji Cooper.PATH: ${SRCTOP}/sys/cddl/dev/dtrace/riscv 122ebe86aacSJohn Birrell.else 123ebe86aacSJohn Birrell# temporary hack 124ebe86aacSJohn BirrellCFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/intel 125ebe86aacSJohn Birrell.endif 126ebe86aacSJohn Birrell 1270f2bd1e8SRui Paulo.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64" 128080e56a6SChristos MargiolisSRCS+= dis_tables.c instr_size.c 1290f2bd1e8SRui PauloDSRCS+= regs_x86.d 1300f2bd1e8SRui Paulo.endif 1310f2bd1e8SRui Paulo 132080e56a6SChristos Margiolis.if ${MACHINE_CPUARCH} == "riscv" 133080e56a6SChristos MargiolisSRCS+= instr_size.c 1341fef7abdSChristos MargiolisDSRCS+= regs_riscv.d 135080e56a6SChristos Margiolis.endif 136080e56a6SChristos Margiolis 137db05f9fbSChristos Margiolis.if ${MACHINE_CPUARCH} == "aarch64" 138db05f9fbSChristos MargiolisSRCS+= instr_size.c 13921a16d55SChristos MargiolisDSRCS+= regs_aarch64.d 140db05f9fbSChristos Margiolis.endif 141db05f9fbSChristos Margiolis 142ebe86aacSJohn BirrellYFLAGS+=-d 143ebe86aacSJohn Birrell 1446de02228SDomagoj Stolfa.if ${MK_DTRACE_ASAN} != "no" 1456de02228SDomagoj StolfaCFLAGS+= -fsanitize=address -fsanitize=undefined 1466de02228SDomagoj StolfaLDFLAGS+= -fsanitize=address -fsanitize=undefined 1476de02228SDomagoj Stolfa.endif 1486de02228SDomagoj Stolfa 149*93f27766SDomagoj StolfaLIBADD= ctf elf proc pthread rtld_db xo 15053d5099dSBaptiste Daroussin 151ebe86aacSJohn BirrellCLEANFILES= dt_errtags.c dt_names.c 152ebe86aacSJohn Birrell 153ebe86aacSJohn Birrell.include <bsd.lib.mk> 154e2072706SMark Johnston 155e2072706SMark Johnstondt_errtags.c: ${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common/dt_errtags.h 156e2072706SMark Johnston sh ${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common/mkerrtags.sh < ${.ALLSRC} > ${.TARGET} 157e2072706SMark Johnston 158e2072706SMark Johnstondt_names.c: ${OPENSOLARIS_SYS_DISTDIR}/uts/common/sys/dtrace.h 159e2072706SMark Johnston sh ${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common/mknames.sh < ${.ALLSRC} > ${.TARGET} 160