1 # $NetBSD: Makefile,v 1.34 2025/09/18 03:36:00 mrg Exp $ 2 3 # $FreeBSD: head/cddl/lib/libdtrace/Makefile 314654 2017-03-04 11:30:04Z ngie $ 4 5 WARNS=1 6 .include <bsd.init.mk> 7 8 LIB= dtrace 9 10 SRCS= dt_aggregate.c \ 11 dt_as.c \ 12 dt_buf.c \ 13 dt_cc.c \ 14 dt_cg.c \ 15 dt_consume.c \ 16 dt_decl.c \ 17 dt_dis.c \ 18 dt_dof.c \ 19 dt_error.c \ 20 dt_errtags.c \ 21 dt_grammar.y \ 22 dt_handle.c \ 23 dt_ident.c \ 24 dt_inttab.c \ 25 dt_isadep.c \ 26 dt_lex.l \ 27 dt_link.c \ 28 dt_list.c \ 29 dt_map.c \ 30 dt_module.c \ 31 dt_names.c \ 32 dt_open.c \ 33 dt_options.c \ 34 dt_parser.c \ 35 dt_pcb.c \ 36 dt_pid.c \ 37 dt_pq.c \ 38 dt_pragma.c \ 39 dt_print.c \ 40 dt_printf.c \ 41 dt_proc.c \ 42 dt_program.c \ 43 dt_provider.c \ 44 dt_regset.c \ 45 dt_string.c \ 46 dt_strtab.c \ 47 dt_subr.c \ 48 dt_sugar.c \ 49 dt_work.c \ 50 dt_xlator.c \ 51 gmatch.c 52 53 DSRCS= errno.d \ 54 psinfo.d \ 55 signal.d \ 56 unistd.d 57 58 FILES= ${DSRCS} 59 FILESDIR= /usr/lib/dtrace 60 61 .PATH: ${.CURDIR}/../../dist/lib/libgen/common 62 .PATH: ${.CURDIR}/../../dist/lib/libdtrace/common 63 64 CPPFLAGS+= -I${.OBJDIR} \ 65 -I${.CURDIR} \ 66 -I${OSNETDIR}/sys \ 67 -I${OSNETDIR}/include \ 68 -I${OPENSOLARIS_USR_DISTDIR}/head \ 69 -I${OPENSOLARIS_USR_DISTDIR}/lib/libctf/common \ 70 -I${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common \ 71 -I${OPENSOLARIS_SYS_DISTDIR}/uts/common 72 73 COPTS.dt_aggregate.c += -Wno-stack-protector 74 COPTS.dt_consume.c += -Wno-stack-protector 75 COPTS.dt_decl.c += -Wno-stack-protector 76 COPTS.dt_dof.c += -Wno-stack-protector 77 COPTS.dt_handle.c += -Wno-stack-protector 78 COPTS.dt_ident.c += -Wno-stack-protector 79 COPTS.dt_link.c += -Wno-stack-protector 80 COPTS.dt_options.c += -Wno-stack-protector 81 COPTS.dt_parser.c += -Wno-stack-protector 82 COPTS.dt_pragma.c += -Wno-stack-protector 83 COPTS.dt_print.c += -Wno-stack-protector 84 COPTS.dt_printf.c += -Wno-stack-protector 85 COPTS.dt_program.c += -Wno-stack-protector 86 COPTS.dt_provider.c += -Wno-stack-protector 87 COPTS.dt_subr.c += -Wno-stack-protector 88 COPTS.dt_lex.c += ${CC_WNO_STRINGOP_TRUNCATION} 89 COPTS.dt_pid.c += ${CC_WNO_STRINGOP_TRUNCATION} 90 91 COPTS.dt_consume.c += -Wno-parentheses 92 COPTS.dt_consume.c += ${CC_WNO_MAYBE_UNINITIALIZED} 93 COPTS.dt_options.c += -Wno-parentheses 94 COPTS.dt_pid.c += ${${ACTIVE_CC} == "gcc" :? -Wno-unused-but-set-variable :} 95 COPTS.dt_isadep.c += -Wno-unused-variable 96 97 EXPSYM_SRCS+= dtrace.common.expsym 98 99 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 100 CPPFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/intel 101 CPPFLAGS+= -I${.CURDIR}/../../dev/dtrace/x86 102 .PATH: ${.CURDIR}/../../dist/lib/libdtrace/i386 ${.CURDIR}/../../dev/dtrace/x86 103 SRCS+= dis_tables.c 104 COPTS.dis_tables.c += -Wno-parentheses 105 COPTS.dis_tables.c += ${CC_WNO_MAYBE_UNINITIALIZED} 106 EXPSYM_SRCS+= dtrace.x86.expsym 107 .elif ${MACHINE_ARCH} == "sparc64" 108 CPPFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/sparc 109 .elif ${MACHINE_ARCH} == "aarch64" 110 CPPFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/aarch64 111 .PATH: ${.CURDIR}/../../dist/lib/libdtrace/aarch64 112 .elif ${MACHINE_CPU} == "arm" 113 CPPFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/arm 114 .PATH: ${.CURDIR}/../../dist/lib/libdtrace/arm 115 .elif ${MACHINE_CPU} == "mips" 116 CPPFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/mips 117 .PATH: ${.CURDIR}/../../dist/lib/libdtrace/mips 118 .endif 119 COPTS.dt_link.c += ${CC_WNO_FORMAT_TRUNCATION} 120 121 LIB_EXPSYM= dtrace.expsym 122 dtrace.expsym: ${EXPSYM_SRCS} 123 ${_MKTARGET_CREATE} 124 LC_ALL=C sort -m ${.ALLSRC} >${.TARGET}.tmp && \ 125 ${MV} ${.TARGET}.tmp ${.TARGET} 126 CLEANFILES+= dtrace.expsym dtrace.expsym.tmp 127 128 LFLAGS+=-l 129 130 YFLAGS+=-d 131 132 CLEANFILES= dt_errtags.c dt_names.c dt_grammar.h 133 134 MKERRTAGS=${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common/mkerrtags.sh 135 dt_errtags.c: ${MKERRTAGS} ${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common/dt_errtags.h 136 sh ${MKERRTAGS} < ${.ALLSRC:M*.h} > ${.TARGET} 137 138 MKNAMES=${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common/mknames.sh 139 dt_names.c: ${MKNAMES} ${OPENSOLARIS_SYS_DISTDIR}/uts/common/sys/dtrace.h 140 sh ${MKNAMES} < ${.ALLSRC:M*.h} > ${.TARGET} 141 142 beforedepend: dt_errtags.c dt_names.c 143 144 .SUFFIXES: .in 145 .in: 146 ${CPP} -D_KERNEL ${CPPFLAGS} $< | tr -d ' ' | tr '"' '@' | \ 147 ${TOOL_SED} -e 's/\&/\\\&/g' | grep '^s/' > ${.TARGET} 148 149 150 LIBDPLIBS= proc ${NETBSDSRCDIR}/external/bsd/libproc/lib 151 152 COPTS.dt_link.c+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-restrict :} 153 # GCC 14 is wrong. 154 COPTS.dt_open.c+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 14:? -Wuse-after-free :} 155 156 .include <bsd.lib.mk> 157