OSDN Git Service

2011-09-13 Paul Brook <paul@codesourcery.com>
[pf3gnuchains/gcc-fork.git] / gcc / config / c6x / t-c6x-elf
1 # Target Makefile Fragment for TI C6X using ELF.
2 # Copyright (C) 2010, 2011 Free Software Foundation, Inc.
3 # Contributed by CodeSourcery.
4 #
5 # This file is part of GCC.
6 #
7 # GCC is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License as published
9 # by the Free Software Foundation; either version 3, or (at your
10 # option) any later version.
11 #
12 # GCC is distributed in the hope that it will be useful, but WITHOUT
13 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
15 # License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with GCC; see the file COPYING3.  If not see
19 # <http://www.gnu.org/licenses/>.
20
21 LIB1ASMSRC = c6x/lib1funcs.asm
22 LIB1ASMFUNCS = _divsi3 _udivsi3 _umodsi3 _modsi3 _udivmodsi4 _divmodsi4
23 LIB1ASMFUNCS += _strasgi _strasgi_64plus _clzsi2 _clzdi2 _clz
24 LIB1ASMFUNCS += _push_rts _pop_rts _call_stub
25
26 LIB2FUNCS_EXCLUDE = _cmpdi2 _ucmpdi2 _gcc_bcmp _eprintf _clzsi _clzdi
27 EXTRA_HEADERS += $(srcdir)/ginclude/unwind-arm-common.h
28
29 LIB2FUNCS_EXTRA = $(srcdir)/config/c6x/gef.c \
30                   $(srcdir)/config/c6x/gtf.c \
31                   $(srcdir)/config/c6x/lef.c \
32                   $(srcdir)/config/c6x/ltf.c \
33                   $(srcdir)/config/c6x/eqf.c \
34                   $(srcdir)/config/c6x/ged.c \
35                   $(srcdir)/config/c6x/gtd.c \
36                   $(srcdir)/config/c6x/led.c \
37                   $(srcdir)/config/c6x/ltd.c \
38                   $(srcdir)/config/c6x/eqd.c
39
40 # Use this variant for fully testing all CPU types
41 #MULTILIB_OPTIONS     = mbig-endian march=c674x/march=c64x/march=c67x/march=c67x+/march=c62x
42 #MULTILIB_DIRNAMES    = be c674x c64x c67x c67x+ c62x
43
44 MULTILIB_OPTIONS     = mbig-endian march=c674x
45 MULTILIB_DIRNAMES    = be c674x
46 MULTILIB_EXCEPTIONS  =
47 MULTILIB_MATCHES     =
48
49 # Assemble startup files.
50 $(T)crti.o: $(srcdir)/config/c6x/crti.s $(GCC_PASSES)
51         $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
52         -c -o $(T)crti.o $(CRTSTUFF_T_CFLAGS) -x assembler-with-cpp \
53         $(srcdir)/config/c6x/crti.s
54
55 $(T)crtn.o: $(srcdir)/config/c6x/crtn.s $(GCC_PASSES)
56         $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
57         -c -o $(T)crtn.o $(CRTSTUFF_T_CFLAGS) -x assembler-with-cpp \
58         $(srcdir)/config/c6x/crtn.s
59
60 EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crtbeginS.o crtendS.o crti.o crtn.o
61
62 # Avoid failures when the user's GOT becomes too large.
63 CRTSTUFF_T_CFLAGS = -msdata=none
64 CRTSTUFF_T_CFLAGS_S = -msdata=none
65 TARGET_LIBGCC2_CFLAGS = -msdata=none
66
67 SHLIB_MAPFILES += $(srcdir)/config/c6x/libgcc-c6xeabi.ver