1 # $DragonFly: src/gnu/lib/gcc41/libgcc/Makefile,v 1.1 2006/09/27 12:10:33 corecode Exp $
3 .
include "../Makefile.inc"
4 .
include "${STOPDIR}/cc_tools/Makefile.tools"
8 CFLAGS
+= -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED
-DHAVE_GTHR_DEFAULT
14 INSTALL_PIC_ARCHIVE
= yes
16 FUNCS
= _eprintf __gcc_bcmp \
17 _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 \
18 _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi \
19 _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi \
20 _floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf _clear_cache \
21 _enable_execute_stack _trampoline __main _absvsi2 _absvdi2 _addvsi3 \
22 _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors \
23 _ffssi2 _ffsdi2 _clz _clzsi2 _clzdi2 _ctzsi2 _ctzdi2 _popcount_tab \
24 _popcountsi2 _popcountdi2 _paritysi2 _paritydi2 _powisf2 _powidf2 \
25 _powixf2 _powitf2 _mulsc3 _muldc3 _mulxc3 _multc3 _divsc3 _divdc3 \
28 SRCS
+= ${FUNCS
:S
/$/.c
/g
}
29 CLEANFILES
+= ${FUNCS
:S
/$/.c
/g
}
31 SRCS
+= unwind-dw2.c unwind-dw2-fde.c unwind-sjlj.c
32 SRCS
+= gthr-gnat.c unwind-c.c
34 SRCS
+= insn-flags.h insn-constants.h unwind.h
36 unwind.h
: unwind-generic.h
37 cp
${.ALLSRC
} ${.TARGET
}
43 echo
'#define L${.TARGET:T:R}' > ${.TARGET
}
44 echo
'#include "libgcc2.c"' >> ${.TARGET
}
47 .for F in _divdi3.c _moddi3.c _udivdi3.c _umoddi3.c _udiv_w_sdiv.c _udivmoddi4.c
49 ${CC} ${CFLAGS} -fnon-call-exceptions
-c
${.IMPSRC
}
52 depend
: cc_prep cc_tools
53 .ORDER
: cc_prep cc_tools
${SRCS}
55 # This is kinda messy, but it's easier then rearranging the top level
56 # build. gcc-4.1's libgcc generates source files which depend on generated
57 # header files, which means we have to generate our tools set before
58 # we can build libgcc. The toolset is normally built afterwards.
60 # XXX for the world stage we could theoretically use the cc_tools generated
61 # in the btools stage, but it's easier to regenerate them.
64 cd
${STOPDIR}/cc_prep
; ${MAKE} depend
67 cd
${STOPDIR}/cc_tools
; ${MAKE} depend
69 .if
${MACHINE_ARCH} == "i386"
70 .PATH
: ${GCCDIR}/gcc
/config
/i386
74 mm_malloc.h
: pmm_malloc.h
75 cp
${.ALLSRC
} ${.TARGET
}
77 CLEANFILES
+= mm_malloc.h
79 INCS
= emmintrin.h mmintrin.h pmmintrin.h xmmintrin.h mm_malloc.h
80 INCSDIR
= /usr
/libdata
/gcc41