1# $NetBSD: Makefile,v 1.11 2024/11/23 13:41:01 riastradh Exp $
2
3.include <bsd.own.mk>
4
5LIBEXECINFO_MACHINE_ARCH?= ${MACHINE_ARCH}
6USE_UNWIND=yes
7WARNS?=4
8INCSDIR=/usr/include
9INCS=execinfo.h
10
11#CPPFLAGS+='-D__RCSID(a)=' -D_GNU_SOURCE '-D__printflike(a,b)='
12#CPPFLAGS+=-I/usr/include/libelf
13#COPTS+=-std=gnu99
14
15LIBDPLIBS+= elf	${NETBSDSRCDIR}/external/bsd/elftoolchain/lib/libelf
16
17LIB=execinfo
18SRCS=symtab.c backtrace.c
19MAN= backtrace.3
20
21.if ${USE_UNWIND} == "yes"
22SRCS+=unwind.c
23.if !empty(LIBEXECINFO_MACHINE_ARCH:Mearm*)
24SRCS+=unwind_arm_ehabi_stub.c
25.endif
26.else
27SRCS+=builtin.c
28.endif
29
30EXPSYM_SRCS+=	execinfo.common.expsym
31
32.if exists(${.CURDIR}/symbol_${LIBEXECINFO_MACHINE_ARCH}.c)
33SRCS+=symbol_${LIBEXECINFO_MACHINE_ARCH}.c
34EXPSYM_SRCS+=	execinfo.${LIBEXECINFO_MACHINE_ARCH}.expsym
35.endif
36
37LIB_EXPSYM=	execinfo.expsym
38execinfo.expsym: ${EXPSYM_SRCS}
39	${_MKTARGET_CREATE}
40	LC_ALL=C sort -m ${.ALLSRC} >${.TARGET}.tmp && \
41	${MV} ${.TARGET}.tmp ${.TARGET}
42CLEANFILES+=	execinfo.expsym execinfo.expsym.tmp
43
44MLINKS+= backtrace.3 backtrace_symbols.3
45MLINKS+= backtrace.3 backtrace_symbols_fmt.3
46MLINKS+= backtrace.3 backtrace_symbols_fd.3
47MLINKS+= backtrace.3 backtrace_symbols_fd_fmt.3
48
49.include <bsd.lib.mk>
50