xref: /freebsd/lib/libgcc_s/Makefile (revision 2eb4d8dc723da3cf7d735a3226ae49da4c8c5dbc)
1 # $FreeBSD$
2 
3 PACKAGE=	clibs
4 SHLIB_NAME=	libgcc_s.so.1
5 SHLIBDIR?=	/lib
6 
7 .include <bsd.opts.mk>
8 
9 MK_SSP=		no
10 WARNS?=	2
11 
12 LDFLAGS+=	-nodefaultlibs
13 LIBADD+=	c
14 
15 VERSION_DEF=	${.CURDIR}/Versions.def
16 SYMBOL_MAPS=	${.CURDIR}/Symbol.map
17 # Export ARM AEABI unwind routines needed by libc and libthr.
18 .if exists(${.CURDIR}/${MACHINE_CPUARCH}/Symbol.map)
19 SYMBOL_MAPS+=	${.CURDIR}/${MACHINE_CPUARCH}/Symbol.map
20 .else
21 SYMBOL_MAPS+=	${.CURDIR}/SymbolDefault.map
22 .endif
23 
24 .include "../libcompiler_rt/Makefile.inc"
25 .include "../libgcc_eh/Makefile.inc"
26 
27 # gcc has incompatible internal declarations for __divtc3 and __multc3, but has
28 # no option to silence its warning, so make warnings non-fatal.
29 MK_WERROR.gcc=	no
30 
31 LIBCSRCDIR=	${SRCTOP}/lib/libc
32 LIBMSRCDIR=	${SRCTOP}/lib/msun/src
33 CFLAGS+=	-I${LIBCSRCDIR}/include -I${LIBCSRCDIR}/${MACHINE_CPUARCH}
34 CFLAGS+=	-I${LIBMSRCDIR}
35 .PATH:		${LIBMSRCDIR}
36 SRCS+=		s_fabs.c
37 SRCS+=		s_fabsf.c
38 SRCS+=		s_fabsl.c
39 SRCS+=		s_fmax.c
40 SRCS+=		s_fmaxf.c
41 SRCS+=		s_logb.c
42 SRCS+=		s_logbf.c
43 SRCS+=		s_scalbn.c
44 SRCS+=		s_scalbnf.c
45 
46 # Don't include long double routines on architectures where long double
47 # is the same size as double.
48 .if ${MACHINE_CPUARCH} != "mips" && ${MACHINE_CPUARCH} != "arm" && \
49     ${MACHINE_CPUARCH} != "powerpc"
50 SRCS+=		s_fmaxl.c
51 SRCS+=		s_logbl.c
52 SRCS+=		s_scalbnl.c
53 .endif
54 
55 .include <bsd.lib.mk>
56