1 1.3 mrg # $NetBSD: Makefile,v 1.3 2015/09/23 04:24:01 mrg Exp $ 2 1.1 mrg 3 1.1 mrg USE_SHLIBDIR= yes 4 1.1 mrg REQUIRETOOLS= yes 5 1.1 mrg NOLINT= # defined 6 1.1 mrg 7 1.1 mrg LIB= gcc_s 8 1.1 mrg NOSTATICLIB= # defined 9 1.1 mrg NOPROFILE= # defined 10 1.1 mrg NOPICINSTALL= # defined 11 1.1 mrg 12 1.3 mrg .include "../../../Makefile.gcc_path" 13 1.1 mrg .include <bsd.own.mk> 14 1.1 mrg 15 1.1 mrg .if ${MKGCC} != "no" 16 1.1 mrg 17 1.1 mrg .cc: # disable .cc->NULL transform 18 1.1 mrg 19 1.1 mrg SHLIB_MAJOR= 1 20 1.1 mrg SHLIB_MINOR= 0 21 1.1 mrg 22 1.1 mrg LDFLAGS+= -nodefaultlibs 23 1.1 mrg LDFLAGS+= -Wl,--version-script=${.OBJDIR}/libgcc.map 24 1.1 mrg 25 1.1 mrg # XXX handle this better? 26 1.3 mrg # XXX handle this better? GCC 4.8 moved them. 27 1.1 mrg .if ${MACHINE} == "emips" 28 1.1 mrg G_LIB2ADD_HACK+= ${GNUHOSTDIST}/gcc/config/floatunsidf.c \ 29 1.1 mrg ${GNUHOSTDIST}/gcc/config/floatunsisf.c 30 1.1 mrg .endif 31 1.1 mrg 32 1.1 mrg SRCS+= ${LIB2FUNCS} ${LIB2DIVMOD} ${LIB2_EH} ${LIB2_EHASM} \ 33 1.1 mrg ${G_LIB2ADD:T:S/.asm/.S/} ${G_LIB2ADD_HACK:T:S/.asm/.S/} \ 34 1.3 mrg ${G_LIB2ADD_ST:T} ${LIB1ASMFUNCS} 35 1.1 mrg 36 1.1 mrg COPTS.unwind-dw2.c = -Wno-stack-protector 37 1.1 mrg 38 1.1 mrg DPADD+= libgcc.map 39 1.1 mrg CLEANFILES+= libgcc.map 40 1.1 mrg 41 1.1 mrg .include <bsd.lib.mk> 42 1.1 mrg 43 1.1 mrg .if ${MKPICLIB} != "no" 44 1.1 mrg LIBGCC_S_OBJS= ${SOBJS} 45 1.1 mrg .else 46 1.1 mrg LIBGCC_S_OBJS= ${OBJS} 47 1.1 mrg .endif 48 1.1 mrg 49 1.3 mrg LIBGCC_STD_VER_IN= ${GNUHOSTDIST}/libgcc/libgcc-std.ver.in 50 1.3 mrg CLEANFILES+= libgcc-std.ver 51 1.3 mrg 52 1.3 mrg libgcc-std.ver: ${LIBGCC_STD_VER_IN} 53 1.3 mrg ${_MKTARGET_CREATE} 54 1.3 mrg ${TOOL_SED} -e 's/__PFX__/__/g' -e 's/__FIXPTPFX__/__/g' < ${LIBGCC_STD_VER_IN} > ${.TARGET}.tmp 55 1.3 mrg mv ${.TARGET}.tmp ${.TARGET} 56 1.3 mrg 57 1.1 mrg libgcc.map: ${LIBGCC_S_OBJS} ${G_SHLIB_MKMAP} ${G_SHLIB_MAPFILES} 58 1.1 mrg { \ 59 1.1 mrg ${NM} ${G_SHLIB_NM_FLAGS} ${LIBGCC_S_OBJS}; \ 60 1.1 mrg echo %%; \ 61 1.3 mrg for f in ${G_SHLIB_MAPFILES}; do \ 62 1.3 mrg if [ -f ${.OBJDIR}/$${f} ]; then \ 63 1.3 mrg cat ${.OBJDIR}/$${f}; \ 64 1.3 mrg else \ 65 1.3 mrg cat $${f}; \ 66 1.3 mrg fi; \ 67 1.3 mrg done | \ 68 1.1 mrg ${TOOL_SED} -e "/^[ ]*#/d" \ 69 1.1 mrg -e 's/^%\(if\|else\|elif\|endif\|define\)/#\1/' | \ 70 1.1 mrg ${CC} ${G_LIBGCC2_CFLAGS} ${G_INCLUDES} -E -xassembler-with-cpp -; \ 71 1.1 mrg } | ${TOOL_AWK} -f ${G_SHLIB_MKMAP} > ${.TARGET}.tmp 72 1.1 mrg mv ${.TARGET}.tmp ${.TARGET} 73 1.1 mrg 74 1.1 mrg .else 75 1.1 mrg .include <bsd.prog.mk> # do nothing 76 1.1 mrg .endif 77