xref: /dragonfly/gnu/lib/gcc80/libgcc/Makefile (revision 2233c95bde434daa782d51440e2219ed852a02dd)
1.include "../Makefile.inc"
2.include "Makefile.src"
3.PATH: ${GCCDIR}/libgcc
4.PATH: ${GCCDIR}/libgcc/soft-fp
5.PATH: ${GCCDIR}/libgcc/config/i386
6
7LIB=                gcc
8
9# this is a special case
10NOSHARED= YES
11
12CFLAGS+=  -I${.CURDIR}
13CFLAGS+=  -I${.OBJDIR}
14CFLAGS+=  -I${GCCDIR}/libgcc
15CFLAGS+=  -I${GCCDIR}/libgcc/config/i386
16CFLAGS+=  -I../csu
17CFLAGS+=  -fbuilding-libgcc
18CFLAGS+=  -fno-stack-protector
19CFLAGS+=  -fvisibility=hidden
20CFLAGS+=  -fpic
21CFLAGS+=  -DPIC
22CFLAGS+=  -DIN_GCC
23CFLAGS+=  -DIN_LIBGCC2
24CFLAGS+=  -DHAVE_CC_TLS
25CFLAGS+=  -DHIDE_EXPORTS
26
27# FUNCS and SOFTFUNCS defined in Makefile.src
28OBJS=               ${FUNCS:S/$/.o/} ${FUNCS_ST:S/$/.o/}
29SRCS=               ${SOFTFUNCS:S/$/.c/}
30
31#generated sources
32SRCS+=              gthr-default.h sfp-machine.h
33
34# GCC's libgcc generates source files which depend on generated
35# header files, which means we have to generate our tools set before
36# we can build libgcc.  The toolset is normally built afterwards.
37#
38# XXX for the world stage we could theoretically use the cc_tools generated
39# in the btools stage, but it's easier to regenerate them.
40#
41# Assumed to be built prior to this makefile:
42#   gnu/usr.bin/cc80/cc_prep
43#   gnu/usr.bin/cc80/cc_tools
44#   gnu/lib/gcc80/csu
45
46# derived from generated build/gcc/Makefile
47EXTRA_HEADERS = \
48          ${GCCDIR}/gcc/config/i386/cpuid.h \
49          ${GCCDIR}/gcc/config/i386/mmintrin.h \
50          ${GCCDIR}/gcc/config/i386/mm3dnow.h \
51          ${GCCDIR}/gcc/config/i386/xmmintrin.h \
52          ${GCCDIR}/gcc/config/i386/emmintrin.h \
53          ${GCCDIR}/gcc/config/i386/pmmintrin.h \
54          ${GCCDIR}/gcc/config/i386/tmmintrin.h \
55          ${GCCDIR}/gcc/config/i386/ammintrin.h \
56          ${GCCDIR}/gcc/config/i386/smmintrin.h \
57          ${GCCDIR}/gcc/config/i386/nmmintrin.h \
58          ${GCCDIR}/gcc/config/i386/bmmintrin.h \
59          ${GCCDIR}/gcc/config/i386/fma4intrin.h \
60          ${GCCDIR}/gcc/config/i386/wmmintrin.h \
61          ${GCCDIR}/gcc/config/i386/immintrin.h \
62          ${GCCDIR}/gcc/config/i386/x86intrin.h \
63          ${GCCDIR}/gcc/config/i386/avxintrin.h \
64          ${GCCDIR}/gcc/config/i386/xopintrin.h \
65          ${GCCDIR}/gcc/config/i386/ia32intrin.h \
66          ${GCCDIR}/gcc/config/i386/cross-stdarg.h \
67          ${GCCDIR}/gcc/config/i386/lwpintrin.h \
68          ${GCCDIR}/gcc/config/i386/popcntintrin.h \
69          ${GCCDIR}/gcc/config/i386/lzcntintrin.h \
70          ${GCCDIR}/gcc/config/i386/bmiintrin.h \
71          ${GCCDIR}/gcc/config/i386/bmi2intrin.h \
72          ${GCCDIR}/gcc/config/i386/tbmintrin.h \
73          ${GCCDIR}/gcc/config/i386/avx2intrin.h \
74          ${GCCDIR}/gcc/config/i386/avx512fintrin.h \
75          ${GCCDIR}/gcc/config/i386/fmaintrin.h \
76          ${GCCDIR}/gcc/config/i386/f16cintrin.h \
77          ${GCCDIR}/gcc/config/i386/rtmintrin.h \
78          ${GCCDIR}/gcc/config/i386/xtestintrin.h \
79          ${GCCDIR}/gcc/config/i386/rdseedintrin.h \
80          ${GCCDIR}/gcc/config/i386/prfchwintrin.h \
81          ${GCCDIR}/gcc/config/i386/adxintrin.h \
82          ${GCCDIR}/gcc/config/i386/fxsrintrin.h \
83          ${GCCDIR}/gcc/config/i386/xsaveintrin.h \
84          ${GCCDIR}/gcc/config/i386/xsaveoptintrin.h \
85          ${GCCDIR}/gcc/config/i386/avx512cdintrin.h \
86          ${GCCDIR}/gcc/config/i386/avx512erintrin.h \
87          ${GCCDIR}/gcc/config/i386/avx512pfintrin.h \
88          ${GCCDIR}/gcc/config/i386/shaintrin.h \
89          ${GCCDIR}/gcc/config/i386/clflushoptintrin.h \
90          ${GCCDIR}/gcc/config/i386/xsavecintrin.h \
91          ${GCCDIR}/gcc/config/i386/xsavesintrin.h \
92          ${GCCDIR}/gcc/config/i386/avx512dqintrin.h \
93          ${GCCDIR}/gcc/config/i386/avx512bwintrin.h \
94          ${GCCDIR}/gcc/config/i386/avx512vlintrin.h \
95          ${GCCDIR}/gcc/config/i386/avx512vlbwintrin.h \
96          ${GCCDIR}/gcc/config/i386/avx512vldqintrin.h \
97          ${GCCDIR}/gcc/config/i386/avx512ifmaintrin.h \
98          ${GCCDIR}/gcc/config/i386/avx512ifmavlintrin.h \
99          ${GCCDIR}/gcc/config/i386/avx512vbmiintrin.h \
100          ${GCCDIR}/gcc/config/i386/avx512vbmivlintrin.h \
101          ${GCCDIR}/gcc/config/i386/avx5124fmapsintrin.h \
102          ${GCCDIR}/gcc/config/i386/avx5124vnniwintrin.h \
103          ${GCCDIR}/gcc/config/i386/avx512vpopcntdqintrin.h \
104          ${GCCDIR}/gcc/config/i386/clwbintrin.h \
105          ${GCCDIR}/gcc/config/i386/mwaitxintrin.h \
106          ${GCCDIR}/gcc/config/i386/clzerointrin.h \
107          ${GCCDIR}/gcc/config/i386/pkuintrin.h \
108          ${GCCDIR}/gcc/config/i386/sgxintrin.h \
109          ${GCCDIR}/gcc/config/i386/cetintrin.h \
110          ${GCCDIR}/gcc/config/i386/gfniintrin.h \
111          ${GCCDIR}/gcc/config/i386/cet.h \
112          ${GCCDIR}/gcc/config/i386/avx512vbmi2intrin.h \
113          ${GCCDIR}/gcc/config/i386/avx512vbmi2vlintrin.h \
114          ${GCCDIR}/gcc/config/i386/avx512vnniintrin.h \
115          ${GCCDIR}/gcc/config/i386/avx512vnnivlintrin.h \
116          ${GCCDIR}/gcc/config/i386/vaesintrin.h \
117          ${GCCDIR}/gcc/config/i386/vpclmulqdqintrin.h \
118          ${GCCDIR}/gcc/config/i386/avx512vpopcntdqvlintrin.h \
119          ${GCCDIR}/gcc/config/i386/avx512bitalgintrin.h \
120          ${GCCDIR}/gcc/config/i386/pconfigintrin.h \
121          ${GCCDIR}/gcc/config/i386/wbnoinvdintrin.h \
122          ${GCCDIR}/gcc/config/i386/movdirintrin.h \
123          ${GCCDIR}/gcc/ginclude/stdatomic.h \
124          ${GCCDIR}/gcc/ginclude/stdfix.h
125
126#generated sources
127SRCS+=    mm_malloc.h unwind.h
128
129INCS=               ${EXTRA_HEADERS} mm_malloc.h unwind.h
130INCSDIR=  /usr/libdata/gcc${GCCSHORTVER}
131
132mm_malloc.h: ${GCCDIR}/gcc/config/i386/gmm_malloc.h
133          cp ${.ALLSRC} ${.TARGET}
134
135gthr-default.h: gthr-posix.h
136          cp ${.ALLSRC} ${.TARGET}
137
138sfp-machine.h: ${GCCDIR}/libgcc/config/i386/sfp-machine.h
139          cp ${.ALLSRC} ${.TARGET}
140
141enable-execute-stack.c: enable-execute-stack-mprotect.c
142          cp ${.ALLSRC} ${.TARGET}
143
144unwind.h: unwind-generic.h
145          cp ${.ALLSRC} ${.TARGET}
146
147CLEANFILES+=        mm_malloc.h unwind.h gthr-default.h enable-execute-stack.c
148
149.include <bsd.lib.mk>
150