xref: /dflybsd-src/gnu/lib/gcc47/libgcc/Makefile (revision 434e73e2f3eeb01e9b94d549ad18a433ac8e2574)
1b450dd39SJohn Marino.include "../Makefile.inc"
2b450dd39SJohn Marino.include "Makefile.src"
3b450dd39SJohn Marino.PATH: ${GCCDIR}/libgcc
4b450dd39SJohn Marino.PATH: ${GCCDIR}/libgcc/soft-fp
5b450dd39SJohn Marino.PATH: ${GCCDIR}/libgcc/config/i386
6b450dd39SJohn Marino
7b450dd39SJohn MarinoLIB=		gcc
8b450dd39SJohn Marino
9b450dd39SJohn MarinoCFLAGS+=	-I${.CURDIR}
10b450dd39SJohn MarinoCFLAGS+=	-I${.OBJDIR}
11b450dd39SJohn MarinoCFLAGS+=	-I${GCCDIR}/libgcc
12b450dd39SJohn MarinoCFLAGS+=	-I${GCCDIR}/libgcc/config/i386
13b450dd39SJohn MarinoCFLAGS+=	-I../csu
14b450dd39SJohn MarinoCFLAGS+=	-fbuilding-libgcc
15b450dd39SJohn MarinoCFLAGS+=	-fno-stack-protector
16b450dd39SJohn MarinoCFLAGS+=	-fvisibility=hidden
1716348f31SJohn MarinoCFLAGS+=	-fpic
1816348f31SJohn MarinoCFLAGS+=	-DPIC
19b450dd39SJohn MarinoCFLAGS+=	-DIN_GCC
20b450dd39SJohn MarinoCFLAGS+=	-DIN_LIBGCC2
21b450dd39SJohn MarinoCFLAGS+=	-DHAVE_CC_TLS
22b450dd39SJohn MarinoCFLAGS+=	-DHIDE_EXPORTS
23b450dd39SJohn Marino
24b450dd39SJohn Marino# FUNCS and SOFTFUNCS defined in Makefile.src
25b450dd39SJohn MarinoSRCS+=		${FUNCS:S/$/.c/} ${SOFTFUNCS:S/$/.c/}
26b450dd39SJohn MarinoCLEANFILES+=	${FUNCS:S/$/.c/}
27b450dd39SJohn Marino
28b450dd39SJohn Marino#generated sources
29b450dd39SJohn MarinoSRCS+=	gthr-default.h sfp-machine.h
30b450dd39SJohn Marino
3164ed7155SJohn Marino# GCC's libgcc generates source files which depend on generated
32b450dd39SJohn Marino# header files, which means we have to generate our tools set before
33b450dd39SJohn Marino# we can build libgcc.  The toolset is normally built afterwards.
34b450dd39SJohn Marino#
35b450dd39SJohn Marino# XXX for the world stage we could theoretically use the cc_tools generated
36b450dd39SJohn Marino# in the btools stage, but it's easier to regenerate them.
37b450dd39SJohn Marino#
3864ed7155SJohn Marino# Assumed to be built prior to this makefile:
3964ed7155SJohn Marino#   gnu/usr.bin/cc47/cc_prep
4064ed7155SJohn Marino#   gnu/usr.bin/cc47/cc_tools
4164ed7155SJohn Marino#   gnu/lib/gcc47/csu
42b450dd39SJohn Marino
43b450dd39SJohn Marino.if ${GCC_CPU} == "i386"
44b450dd39SJohn MarinoEXTRA_HEADERS = \
45b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/ammintrin.h \
46b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/avx2intrin.h \
47b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/avxintrin.h \
48b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/bmi2intrin.h \
49b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/bmiintrin.h \
50b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/bmmintrin.h \
51b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/emmintrin.h \
52b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/f16cintrin.h \
53b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/fma4intrin.h \
54b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/fmaintrin.h \
55b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/ia32intrin.h \
56b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/immintrin.h \
57b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/lwpintrin.h \
58b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/lzcntintrin.h \
59b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/mmintrin.h \
60b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/nmmintrin.h \
61b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/pmmintrin.h \
62b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/popcntintrin.h \
63b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/smmintrin.h \
64b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/tbmintrin.h \
65b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/tmmintrin.h \
66b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/wmmintrin.h \
67b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/x86intrin.h \
68b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/xmmintrin.h \
69b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/xopintrin.h \
70b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/cpuid.h \
71b450dd39SJohn Marino	${GCCDIR}/gcc/config/i386/mm3dnow.h \
72*434e73e2SSascha Wildner	${GCCDIR}/gcc/config/i386/cross-stdarg.h
73b450dd39SJohn Marino
74b450dd39SJohn Marino#generated sources
75b450dd39SJohn MarinoSRCS+=	mm_malloc.h unwind.h
76b450dd39SJohn Marino
77b450dd39SJohn MarinoINCS=		${EXTRA_HEADERS} mm_malloc.h unwind.h
78b450dd39SJohn MarinoINCSDIR=	/usr/libdata/gcc${GCCSHORTVER}
79b450dd39SJohn Marino.endif
80b450dd39SJohn Marino
81b450dd39SJohn Marinomm_malloc.h: ${GCCDIR}/gcc/config/i386/gmm_malloc.h
82b450dd39SJohn Marino	cp ${.ALLSRC} ${.TARGET}
83b450dd39SJohn Marino
84b450dd39SJohn Marinogthr-default.h: gthr-posix.h
85b450dd39SJohn Marino	cp ${.ALLSRC} ${.TARGET}
86b450dd39SJohn Marino
87b450dd39SJohn Marinosfp-machine.h: ${GCCDIR}/libgcc/config/i386/sfp-machine.h
88b450dd39SJohn Marino	cp ${.ALLSRC} ${.TARGET}
89b450dd39SJohn Marino
90b450dd39SJohn Marinoenable-execute-stack.c: enable-execute-stack-freebsd.c
91b450dd39SJohn Marino	cp ${.ALLSRC} ${.TARGET}
92b450dd39SJohn Marino
93b450dd39SJohn Marinounwind.h: unwind-generic.h
94b450dd39SJohn Marino	cp ${.ALLSRC} ${.TARGET}
95b450dd39SJohn Marino
96b450dd39SJohn MarinoCLEANFILES+=	mm_malloc.h unwind.h gthr-default.h enable-execute-stack.c
97b450dd39SJohn Marino
98b450dd39SJohn Marino.include <bsd.lib.mk>
99