1 # Name of assembly file containing libgcc1 functions.
2 # This entry must be present, but it can be empty if the target does
3 # not need any assembler functions to support its code generation.
5 # Alternatively if assembler functions *are* needed then define the
7 CROSS_LIBGCC1 = libgcc1-asm.a
8 LIB1ASMSRC = frv/lib1funcs.asm
9 LIB1ASMFUNCS = _cmpll _cmpf _cmpd _addll _subll _andll _orll _xorll _notll _cmov
10 LIB2FUNCS_EXTRA = cmovh.c cmovw.c cmovd.c modi.c umodi.c uitof.c uitod.c ulltof.c ulltod.c
12 # We want fine grained libraries, so use the new code to build the
13 # floating point emulation libraries.
17 # If any special flags are necessary when building libgcc2 put them here.
18 TARGET_LIBGCC2_CFLAGS =
20 fp-bit.c: $(srcdir)/config/fp-bit.c
21 echo '#define FLOAT' > fp-bit.c
22 echo '#include "config/frv/frv-abi.h"' >> fp-bit.c
23 cat $(srcdir)/config/fp-bit.c >> fp-bit.c
25 dp-bit.c: $(srcdir)/config/fp-bit.c
26 echo '#include "config/frv/frv-abi.h"' > dp-bit.c
27 cat $(srcdir)/config/fp-bit.c >> dp-bit.c
29 cmovh.c: $(srcdir)/config/frv/cmovh.c
30 $(LN_S) $(srcdir)/config/frv/cmovh.c .
32 cmovw.c: $(srcdir)/config/frv/cmovw.c
33 $(LN_S) $(srcdir)/config/frv/cmovw.c .
35 cmovd.c: $(srcdir)/config/frv/cmovd.c
36 $(LN_S) $(srcdir)/config/frv/cmovd.c .
38 modi.c: $(srcdir)/config/frv/modi.c
39 $(LN_S) $(srcdir)/config/frv/modi.c .
41 umodi.c: $(srcdir)/config/frv/umodi.c
42 $(LN_S) $(srcdir)/config/frv/umodi.c .
44 uitof.c: $(srcdir)/config/frv/uitof.c
45 $(LN_S) $(srcdir)/config/frv/uitof.c .
47 uitod.c: $(srcdir)/config/frv/uitod.c
48 $(LN_S) $(srcdir)/config/frv/uitod.c .
50 ulltof.c: $(srcdir)/config/frv/ulltof.c
51 $(LN_S) $(srcdir)/config/frv/ulltof.c .
53 ulltod.c: $(srcdir)/config/frv/ulltod.c
54 $(LN_S) $(srcdir)/config/frv/ulltod.c .
56 # Build frvbegin.o and frvend.o
57 EXTRA_MULTILIB_PARTS=frvbegin.o frvend.o
59 # Compile two additional files that are linked with every program
60 # linked using GCC on systems using COFF or ELF, for the sake of C++
63 FRVSTUFF_CFLAGS = $(TARGET_LIBGCC2_CFLAGS)
65 $(T)frvbegin$(objext): $(srcdir)/config/frv/frvbegin.c $(GCC_PASSES) \
66 $(CONFIG_H) defaults.h unwind-dw2-fde.h gbl-ctors.h
67 $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) $(FRVSTUFF_CFLAGS) \
68 -c $(srcdir)/config/frv/frvbegin.c -o $(T)frvbegin$(objext)
70 $(T)frvend$(objext): $(srcdir)/config/frv/frvend.c $(GCC_PASSES) \
71 $(CONFIG_H) defaults.h unwind-dw2-fde.h gbl-ctors.h
72 $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) $(FRVSTUFF_CFLAGS) \
73 -c $(srcdir)/config/frv/frvend.c -o $(T)frvend$(objext)
75 # Enable the following if multilibs are needed.
76 # See gcc/genmultilib, gcc/gcc.texi and gcc/tm.texi for a
77 # description of the options and their values.
79 #MULTILIB_OPTIONS = mcpu=fr500/mcpu=tomcat/mcpu=simple/mcpu=frv msoft-float mdword/mno-dword
80 #MULTILIB_DIRNAMES = fr500 tomcat simple frv nof dw no-dw
81 #MULTILIB_MATCHES = mcpu?simple=mcpu?fr300 mno-double=mcpu?fr500 mcpu?frv=mdouble
82 #MULTILIB_EXCEPTIONS = *mcpu=simple/*msoft-float* *mcpu=frv/*msoft-float*
83 #MULTILIB_EXTRA_OPTS = mlibrary-pic
85 MULTILIB_OPTIONS = mcpu=fr400/mcpu=fr550 mno-pack mlibrary-pic/mfdpic
86 MULTILIB_DIRNAMES = fr400 fr550 unpacked pic fdpic
87 MULTILIB_MATCHES = mcpu?simple=mcpu?fr300 \
88 mlibrary-pic=multilib-library-pic \
89 mcpu?fr400=mcpu?fr405 mcpu?fr400=mcpu?fr450
90 MULTILIB_EXCEPTIONS = mcpu=frv/mno-pack* mcpu=simple/mno-pack*
92 LIBGCC = stmp-multilib
93 INSTALL_LIBGCC = install-multilib
95 EXTRA_HEADERS = $(srcdir)/config/frv/frv-asm.h