xref: /netbsd-src/external/cddl/osnet/lib/libdtrace/Makefile (revision 901e7e84758515fbf39dfc064cb0b45ab146d8b0)
1#	$NetBSD: Makefile,v 1.32 2023/06/03 21:31:46 lukem Exp $
2
3# $FreeBSD: head/cddl/lib/libdtrace/Makefile 314654 2017-03-04 11:30:04Z ngie $
4
5WARNS=1
6.include <bsd.init.mk>
7
8LIB=		dtrace
9
10SRCS=		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
53DSRCS=		errno.d			\
54		psinfo.d		\
55		signal.d		\
56		unistd.d
57
58FILES=		${DSRCS}
59FILESDIR=	/usr/lib/dtrace
60
61.PATH:		${.CURDIR}/../../dist/lib/libgen/common
62.PATH:		${.CURDIR}/../../dist/lib/libdtrace/common
63
64CPPFLAGS+=	-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
73COPTS.dt_aggregate.c	+= -Wno-stack-protector
74COPTS.dt_consume.c	+= -Wno-stack-protector
75COPTS.dt_decl.c		+= -Wno-stack-protector
76COPTS.dt_dof.c		+= -Wno-stack-protector
77COPTS.dt_handle.c	+= -Wno-stack-protector
78COPTS.dt_ident.c	+= -Wno-stack-protector
79COPTS.dt_link.c		+= -Wno-stack-protector
80COPTS.dt_options.c	+= -Wno-stack-protector
81COPTS.dt_parser.c	+= -Wno-stack-protector
82COPTS.dt_pragma.c	+= -Wno-stack-protector
83COPTS.dt_print.c	+= -Wno-stack-protector
84COPTS.dt_printf.c	+= -Wno-stack-protector
85COPTS.dt_program.c	+= -Wno-stack-protector
86COPTS.dt_provider.c	+= -Wno-stack-protector
87COPTS.dt_subr.c		+= -Wno-stack-protector
88COPTS.dt_lex.c		+= ${CC_WNO_STRINGOP_TRUNCATION}
89COPTS.dt_pid.c		+= ${CC_WNO_STRINGOP_TRUNCATION}
90
91COPTS.dt_consume.c	+= -Wno-parentheses
92COPTS.dt_consume.c	+= ${CC_WNO_MAYBE_UNINITIALIZED}
93COPTS.dt_options.c	+= -Wno-parentheses
94COPTS.dt_pid.c		+= ${${ACTIVE_CC} == "gcc" :? -Wno-unused-but-set-variable :}
95COPTS.dt_isadep.c	+= -Wno-unused-variable
96
97.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
98CPPFLAGS+=	-I${OPENSOLARIS_SYS_DISTDIR}/uts/intel
99CPPFLAGS+=	-I${.CURDIR}/../../dev/dtrace/x86
100.PATH:		${.CURDIR}/../../dist/lib/libdtrace/i386 ${.CURDIR}/../../dev/dtrace/x86
101SRCS+=		dis_tables.c
102COPTS.dis_tables.c	+= -Wno-parentheses
103COPTS.dis_tables.c	+= ${CC_WNO_MAYBE_UNINITIALIZED}
104.elif ${MACHINE_ARCH} == "sparc64"
105CPPFLAGS+=	-I${OPENSOLARIS_SYS_DISTDIR}/uts/sparc
106.elif ${MACHINE_ARCH} == "aarch64"
107CPPFLAGS+=	-I${OPENSOLARIS_SYS_DISTDIR}/uts/aarch64
108.PATH:		${.CURDIR}/../../dist/lib/libdtrace/aarch64
109.elif ${MACHINE_CPU} == "arm"
110CPPFLAGS+=	-I${OPENSOLARIS_SYS_DISTDIR}/uts/arm
111.PATH:		${.CURDIR}/../../dist/lib/libdtrace/arm
112.elif ${MACHINE_CPU} == "mips"
113CPPFLAGS+=	-I${OPENSOLARIS_SYS_DISTDIR}/uts/mips
114.PATH:		${.CURDIR}/../../dist/lib/libdtrace/mips
115.endif
116COPTS.dt_link.c		+= ${CC_WNO_FORMAT_TRUNCATION}
117
118LFLAGS+=-l
119
120YFLAGS+=-d
121
122CLEANFILES=	dt_errtags.c dt_names.c dt_grammar.h
123
124MKERRTAGS=${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common/mkerrtags.sh
125dt_errtags.c: ${MKERRTAGS} ${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common/dt_errtags.h
126	sh ${MKERRTAGS} < ${.ALLSRC:M*.h} > ${.TARGET}
127
128MKNAMES=${OPENSOLARIS_USR_DISTDIR}/lib/libdtrace/common/mknames.sh
129dt_names.c: ${MKNAMES} ${OPENSOLARIS_SYS_DISTDIR}/uts/common/sys/dtrace.h
130	sh ${MKNAMES} < ${.ALLSRC:M*.h} > ${.TARGET}
131
132beforedepend:	dt_errtags.c dt_names.c
133
134.SUFFIXES: .in
135.in:
136	${CPP} -D_KERNEL ${CPPFLAGS} $< | tr -d ' ' | tr '"' '@' | \
137	    ${TOOL_SED} -e 's/\&/\\\&/g' | grep '^s/' > ${.TARGET}
138
139
140LIBDPLIBS=	proc	${NETBSDSRCDIR}/external/bsd/libproc/lib
141
142COPTS.dt_link.c+=	${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-restrict :}
143
144.include <bsd.lib.mk>
145