lib/libexecinfo: Fix static and profiled archives.
[dragonfly.git] / lib / libexecinfo / Makefile
blob53f88e0c46e5132a8882b63029a8d2889e0be8ce
1 # $FreeBSD: head/lib/libexecinfo/Makefile 275024 2014-11-25 11:07:26Z bapt $
3 LIB= execinfo
4 SHLIB_MAJOR= 1
6 INCS= execinfo.h
7 SRCS= backtrace.c symtab.c unwind.c
8 MAN= backtrace.3
10 MLINKS+= backtrace.3 backtrace_symbols.3
11 MLINKS+= backtrace.3 backtrace_symbols_fmt.3
12 MLINKS+= backtrace.3 backtrace_symbols_fd.3
13 MLINKS+= backtrace.3 backtrace_symbols_fd_fmt.3
15 CONLIBS= ${.OBJDIR}/../libelf/libelf.a
16 DPADD= ${CONLIBS:.a=_pic.a}
17 LDADD= ${CONLIBS:.a=_pic.a}
18 ARADD= ${CONLIBS}
20 TOOLCHAINDIR= ${.CURDIR}/../../contrib/elftoolchain
21 CFLAGS+= -I${TOOLCHAINDIR}/libelf -I${TOOLCHAINDIR}/common
23 # Override bsd.lib.mk scripts
24 lib${LIB}.a: ${SRCS:.c=.o} script.ar
25 @${ECHO} building static ${LIB} library via script
26 rm -f ${.TARGET}
27 ${AR} -M < script.ar
28 ${RANLIB} ${.TARGET}
30 lib${LIB}_p.a: ${SRCS:.c=.po} script_p.ar
31 @${ECHO} building profiled ${LIB} library via script
32 rm -f ${.TARGET}
33 ${AR} -M < script_p.ar
34 ${RANLIB} ${.TARGET}
36 script.ar:
37 @echo "CREATE lib${LIB}.a" > ${.TARGET}
38 .for arc in ${CONLIBS}
39 @echo "ADDLIB ${arc}" >> ${.TARGET}
40 .endfor
41 .for obj in ${SRCS:.c=.o}
42 @echo "ADDMOD ${obj}" >> ${.TARGET}
43 .endfor
44 @echo "SAVE" >> ${.TARGET}
45 @echo "END" >> ${.TARGET}
47 script_p.ar:
48 @echo "CREATE lib${LIB}_p.a" > ${.TARGET}
49 .for arc in ${CONLIBS:.a=_p.a}
50 @echo "ADDLIB ${arc}" >> ${.TARGET}
51 .endfor
52 .for obj in ${SRCS:.c=.po}
53 @echo "ADDMOD ${obj}" >> ${.TARGET}
54 .endfor
55 @echo "SAVE" >> ${.TARGET}
56 @echo "END" >> ${.TARGET}
58 GENFILES= script.ar script_p.ar
59 CLEANFILES= ${GENFILES}
60 beforedepend: ${GENFILES}
62 .include <bsd.lib.mk>