xref: /dragonfly/gnu/lib/gcc80/libgcc/Makefile.src (revision 5fb3968e)
1# build/x86-64-portbuild-dragonfly5.1/libgcc/Makefile
2# Library members defined in libgcc2.c.
3lib2funcs = _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _cmpdi2 _ucmpdi2		\
4	    _clear_cache _trampoline __main _absvsi2				\
5	    _absvdi2 _addvsi3 _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3	\
6	    _negvsi2 _negvdi2 _ctors _ffssi2 _ffsdi2 _clz _clzsi2 _clzdi2	\
7	    _ctzsi2 _ctzdi2 _popcount_tab _popcountsi2 _popcountdi2		\
8	    _paritysi2 _paritydi2 _powisf2 _powidf2 _powixf2 _powitf2		\
9	    _mulhc3 _mulsc3 _muldc3 _mulxc3 _multc3 _divhc3 _divsc3		\
10	    _divdc3 _divxc3 _divtc3 _bswapsi2 _bswapdi2 _clrsbsi2		\
11	    _clrsbdi2
12
13.for f in sf df xf
14lib2funcs+=	_fixuns${f}si
15lib2funcs+=	_fixuns${f}di
16lib2funcs+=	_fix${f}di
17lib2funcs+=	_floatdi${f}
18lib2funcs+=	_floatundi${f}
19nowsoft+=	extend${f}tf2
20.endfor
21
22.for f in si di ti
23nowsoft+=	fixtf${f}
24nowsoft+=	fixunstf${f}
25nowsoft+=	float${f}tf
26nowsoft+=	floatun${f}tf
27.endfor
28
29LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _divmoddi4 \
30		    _udivdi3 _umoddi3 _udivmoddi4 _udiv_w_sdiv
31
32# Defined in libgcc2.c, included only in the static library.
33LIB2FUNCS_ST = _eprintf __gcc_bcmp
34
35# softfp functions and enable-execute-stack don't use L_ definitions
36SOFTFUNCS=	addtf3 divtf3 eqtf2 getf2 letf2 multf3 negtf2 subtf3 unordtf2
37SOFTFUNCS+=	enable-execute-stack cpuinfo sfp-exceptions
38SOFTFUNCS+=	${nowsoft}
39SOFTFUNCS+=	trunctfsf2 trunctfdf2 trunctfxf2
40FUNCS=		${lib2funcs} ${LIB2_DIVMOD_FUNCS}
41FUNCS_ST=	${LIB2FUNCS_ST}
42
43# for now do not let the use of -flto
44.if ${CFLAGS:M-flto}
45CFLAGS+=	-fno-lto
46LDFLAGS+=	-flto
47.endif
48
49#stack_FLAGS=		-D__LIBGCC_TRAMPOLINE_SIZE__=${TRAMPSIZE}
50#stack_FLAGS_FILES=	enable-execute-stack.c
51
52FLAG_GROUPS=		raise
53raise_FLAGS=		-fexceptions -fnon-call-exceptions
54raise_FLAGS_FILES=	${LIB2_DIVMOD_FUNCS:S/$/.c/}
55
56${FUNCS_ST:S/$/.o/}: ${GCCDIR}/libgcc/libgcc2.c
57	${CC} ${STATIC_CFLAGS} ${CFLAGS} -DL${.TARGET:R} -c ${.ALLSRC} \
58		-o ${.TARGET}
59
60${FUNCS_ST:S/$/.po/}: ${GCCDIR}/libgcc/libgcc2.c
61	${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -DL${.TARGET:R} \
62		-c ${.ALLSRC} -o ${.TARGET}
63
64${FUNCS:S/$/.o/}: ${GCCDIR}/libgcc/libgcc2.c
65	${CC} ${STATIC_CFLAGS} ${CFLAGS} -DL${.TARGET:R} -c ${.ALLSRC} \
66		-o ${.TARGET}
67
68${FUNCS:S/$/.po/}: ${GCCDIR}/libgcc/libgcc2.c
69	${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -DL${.TARGET:R} \
70		-c ${.ALLSRC} -o ${.TARGET}
71
72${FUNCS:S/$/.So/}: ${GCCDIR}/libgcc/libgcc2.c
73	${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -DL${.TARGET:R} \
74		-c ${.ALLSRC} -o ${.TARGET}
75