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