xref: /dragonfly/gnu/lib/gcc80/libgcc/Makefile.src (revision 2233c95bde434daa782d51440e2219ed852a02dd)
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