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