OSDN Git Service

* config.gcc: Set default for xmake_file at top, not bottom.
[pf3gnuchains/gcc-fork.git] / gcc / config / mips / t-elf
1 CONFIG2_H       = $(srcdir)/config/mips/ecoff.h
2
3 # Suppress building libgcc1.a, since the MIPS compiler port is complete
4 # and does not need anything from libgcc1.a.
5 LIBGCC1 =
6
7 EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o
8 # Don't let CTOR_LIST end up in sdata section.
9 CRTSTUFF_T_CFLAGS = -G 0
10
11 # When building a cross compiler, put the mips16 support functions in
12 # libgcc1.a.
13 CROSS_LIBGCC1 = libgcc1-asm.a
14 LIB1ASMSRC = mips/mips16.S
15 LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \
16         _m16eqsf2 _m16nesf2 _m16gtsf2 _m16gesf2 _m16lesf2 _m16ltsf2 \
17         _m16fltsisf _m16fixsfsi \
18         _m16adddf3 _m16subdf3 _m16muldf3 _m16divdf3 \
19         _m16extsfdf2 _m16trdfsf2 \
20         _m16eqdf2 _m16nedf2 _m16gtdf2 _m16gedf2 _m16ledf2 _m16ltdf2 \
21         _m16fltsidf _m16fixdfsi \
22         _m16retsf _m16retdf \
23         _m16stub1 _m16stub2 _m16stub5 _m16stub6 _m16stub9 _m16stub10 \
24         _m16stubsf0 _m16stubsf1 _m16stubsf2 _m16stubsf5 _m16stubsf6 \
25         _m16stubsf9 _m16stubsf10 \
26         _m16stubdf0 _m16stubdf1 _m16stubdf2 _m16stubdf5 _m16stubdf6 \
27         _m16stubdf9 _m16stubdf10
28
29 # We must build libgcc2.a with -G 0, in case the user wants to link
30 # without the $gp register.
31 TARGET_LIBGCC2_CFLAGS = -G 0
32
33 # fp-bit and dp-bit are really part of libgcc1, but this will cause
34 # them to be built correctly, so... [taken from t-sparclite]
35 # We want fine grained libraries, so use the new code to build the
36 # floating point emulation libraries.
37 FPBIT = fp-bit.c
38 DPBIT = dp-bit.c
39
40 dp-bit.c: $(srcdir)/config/fp-bit.c
41         echo '#ifdef __MIPSEL__' > dp-bit.c
42         echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
43         echo '#endif' >> dp-bit.c
44         echo '#define US_SOFTWARE_GOFAST' >> dp-bit.c
45         cat $(srcdir)/config/fp-bit.c >> dp-bit.c
46
47 fp-bit.c: $(srcdir)/config/fp-bit.c
48         echo '#define FLOAT' > fp-bit.c
49         echo '#ifdef __MIPSEL__' >> fp-bit.c
50         echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
51         echo '#endif' >> fp-bit.c
52         echo '#define US_SOFTWARE_GOFAST' >> fp-bit.c
53         cat $(srcdir)/config/fp-bit.c >> fp-bit.c
54
55 # Build the libraries for both hard and soft floating point
56
57 MULTILIB_OPTIONS = msoft-float/msingle-float EL/EB mips1/mips3
58 MULTILIB_DIRNAMES = soft-float single el eb mips1 mips3
59 MULTILIB_MATCHES = msingle-float=m4650
60
61 LIBGCC = stmp-multilib
62 INSTALL_LIBGCC = install-multilib
63
64 # Add additional dependencies to recompile selected modules whenever the
65 # tm.h file changes.  The files compiled are:
66 #
67 #       gcc.c           (*_SPEC changes)
68 #       toplev.c        (new switches + assembly output changes)
69 #       sdbout.c        (debug format changes)
70 #       dbxout.c        (debug format changes)
71 #       dwarfout.c      (debug format changes)
72 #       final.c         (assembly output changes)
73 #       varasm.c        (assembly output changes)
74 #       cse.c           (cost functions)
75 #       insn-output.c   (possible ifdef changes in tm.h)
76 #       regclass.c      (fixed/call used register changes)
77 #       explow.c        (GO_IF_LEGITIMATE_ADDRESS)
78 #       recog.c         (GO_IF_LEGITIMATE_ADDRESS)
79 #       reload.c        (GO_IF_LEGITIMATE_ADDRESS)
80
81 gcc.o: $(CONFIG2_H)
82 toplev.o: $(CONFIG2_H)
83 sdbout.o: $(CONFIG2_H)
84 dbxout.o: $(CONFIG2_H)
85 dwarfout.o: $(CONFIG2_H)
86 final.o: $(CONFIG2_H)
87 varasm.o: $(CONFIG2_H)
88 cse.o: $(CONFIG2_H)
89 insn-output.o: $(CONFIG2_H)
90 regclass.o: $(CONFIG2_H)
91 explow.o: $(CONFIG2_H)
92 recog.o: $(CONFIG2_H)
93 reload.o: $(CONFIG2_H)