]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/config/arc/t-arc
re PR bootstrap/11043 ([arc-elf32] make fails due to missing rules)
[thirdparty/gcc.git] / gcc / config / arc / t-arc
1 LIB1ASMSRC = arc/lib1funcs.asm
2 LIB1ASMFUNCS = _mulsi3 _umulsidi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _divmod_tools
3
4 # We need libgcc routines to be mangled according to which cpu they
5 # were compiled for.
6 # ??? -mmangle-cpu passed by default for now.
7 #LIBGCC2_CFLAGS = -g1 -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) -mmangle-cpu
8
9 # We want fine grained libraries, so use the new code to build the
10 # floating point emulation libraries.
11 FPBIT = fp-bit.c
12 DPBIT = dp-bit.c
13
14 dp-bit.c: $(srcdir)/config/fp-bit.c
15 echo '#ifndef __big_endian__' > dp-bit.c
16 echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
17 echo '#endif' >> dp-bit.c
18 cat $(srcdir)/config/fp-bit.c >> dp-bit.c
19
20 fp-bit.c: $(srcdir)/config/fp-bit.c
21 echo '#define FLOAT' > fp-bit.c
22 echo '#ifndef __big_endian__' >> fp-bit.c
23 echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
24 echo '#endif' >> fp-bit.c
25 cat $(srcdir)/config/fp-bit.c >> fp-bit.c
26
27 # .init/.fini section routines
28
29 crtinit.o: $(srcdir)/config/arc/initfini.c $(GCC_PASSES) $(CONFIG_H)
30 $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(CRTSTUFF_T_CFLAGS) \
31 -DCRT_INIT -finhibit-size-directive -fno-inline-functions \
32 -g0 -c $(srcdir)/config/arc/initfini.c -o crtinit.o
33
34 crtfini.o: $(srcdir)/config/arc/initfini.c $(GCC_PASSES) $(CONFIG_H)
35 $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(CRTSTUFF_T_CFLAGS) \
36 -DCRT_FINI -finhibit-size-directive -fno-inline-functions \
37 -g0 -c $(srcdir)/config/arc/initfini.c -o crtfini.o
38
39 MULTILIB_OPTIONS = EB
40 MULTILIB_DIRNAMES = be
41
42 # We need our own versions to build multiple copies of crt*.o.
43 # ??? Use new support in Makefile.
44
45 LIBGCC = stmp-multilib-arc
46 INSTALL_LIBGCC = install-multilib-arc
47
48 stmp-multilib-arc: stmp-multilib
49 for i in `$(GCC_FOR_TARGET) --print-multi-lib`; do \
50 dir=`echo $$i | sed -e 's/;.*$$//'`; \
51 flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
52 $(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
53 CC="$(CC)" CFLAGS="$(CFLAGS)" \
54 BUILD_PREFIX="$(BUILD_PREFIX)" BUILD_PREFIX_1="$(BUILD_PREFIX_1)" \
55 GCC_CFLAGS="$(GCC_CFLAGS) $${flags}" \
56 INCLUDES="$(INCLUDES)" CRTSTUFF_T_CFLAGS=$(CRTSTUFF_T_CFLAGS) \
57 dir="$${dir}" crtinit.o crtfini.o; \
58 if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
59 done
60 touch stmp-multilib-arc
61
62 install-multilib-arc: install-multilib
63 for i in `$(GCC_FOR_TARGET) --print-multi-lib`; do \
64 dir=`echo $$i | sed -e 's/;.*$$//'`; \
65 rm -f $(DESTDIR)$(libsubdir)/$${dir}/crtinit.o; \
66 $(INSTALL_DATA) $${dir}/crtinit.o $(DESTDIR)$(libsubdir)/$${dir}/crtinit.o; \
67 chmod a-x $(DESTDIR)$(libsubdir)/$${dir}/crtinit.o; \
68 rm -f $(DESTDIR)$(libsubdir)/$${dir}/crtfini.o; \
69 $(INSTALL_DATA) $${dir}/crtfini.o $(DESTDIR)$(libsubdir)/$${dir}/crtfini.o; \
70 chmod a-x $(DESTDIR)$(libsubdir)/$${dir}/crtfini.o; \
71 done