]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/m32r/t-m32r
Makefile.in (FPBIT_FUNCS, [...]): Remove.
[thirdparty/gcc.git] / gcc / config / m32r / t-m32r
CommitLineData
569dc494
RO
1# Copyright (C) 1997, 1998, 1999, 2001, 2003, 2011
2# Free Software Foundation, Inc.
ad41bd84
JM
3#
4# This file is part of GCC.
5#
6# GCC is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; either version 3, or (at your option)
9# any later version.
10#
11# GCC is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with GCC; see the file COPYING3. If not see
18# <http://www.gnu.org/licenses/>.
19
8c5ca3b9
DE
20# Turn off the SDA while compiling libgcc2. There are no headers for it
21# and we want maximal upward compatibility here.
22
23TARGET_LIBGCC2_CFLAGS = -G 0
24
8c5ca3b9
DE
25# We need to use -fpic when we are using gcc to compile the routines in
26# initfini.c. This is only really needed when we are going to use gcc/g++
27# to produce a shared library, but since we don't know ahead of time when
28# we will be doing that, we just always use -fpic when compiling the
29# routines in initfini.c.
30# -fpic currently isn't supported for the m32r.
31
32CRTSTUFF_T_CFLAGS =
33
34# .init/.fini section routines
35
3a30516d
NC
36$(T)crtinit.o: $(srcdir)/config/m32r/initfini.c $(GCC_PASSES) $(CONFIG_H)
37 $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) \
38 $(CRTSTUFF_T_CFLAGS) $(INCLUDES) -DCRT_INIT \
39 -finhibit-size-directive -fno-inline-functions -g0 \
40 -mmodel=medium -c $(srcdir)/config/m32r/initfini.c \
41 -o $(T)crtinit.o
42
43$(T)crtfini.o: $(srcdir)/config/m32r/initfini.c $(GCC_PASSES) $(CONFIG_H)
44 $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) \
45 $(CRTSTUFF_T_CFLAGS) $(INCLUDES) -DCRT_FINI \
46 -finhibit-size-directive -fno-inline-functions -g0 \
47 -mmodel=medium -c $(srcdir)/config/m32r/initfini.c \
48 -o $(T)crtfini.o
de41e41c
BE
49m32rx:
50 mkdir $@
6975bd2c
KI
51m32r2:
52 mkdir $@
de41e41c 53
8c5ca3b9
DE
54# -mmodel={small,medium} requires separate libraries.
55# We don't build libraries for the large model, instead we use the medium
56# libraries. The only difference is that the large model can handle jumps
57# more than 26 signed bits away.
58
6975bd2c
KI
59MULTILIB_OPTIONS = mmodel=small/mmodel=medium m32r/m32rx/m32r2
60MULTILIB_DIRNAMES = small medium m32r m32rx m32r2
8c5ca3b9
DE
61MULTILIB_MATCHES = mmodel?medium=mmodel?large
62
63# Set MULTILIB_EXTRA_OPTS so shipped libraries have small data in .sdata and
64# SHN_M32R_SCOMMON.
65# This is important for objects referenced in system header files.
66MULTILIB_EXTRA_OPTS = msdata=sdata
67
3a30516d
NC
68EXTRA_MULTILIB_PARTS = crtinit.o crtfini.o
69
8c5ca3b9
DE
70LIBGCC = stmp-multilib
71INSTALL_LIBGCC = install-multilib