]>
Commit | Line | Data |
---|---|---|
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 | ||
23 | TARGET_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 | ||
32 | CRTSTUFF_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 |
49 | m32rx: |
50 | mkdir $@ | |
6975bd2c KI |
51 | m32r2: |
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 |
59 | MULTILIB_OPTIONS = mmodel=small/mmodel=medium m32r/m32rx/m32r2 |
60 | MULTILIB_DIRNAMES = small medium m32r m32rx m32r2 | |
8c5ca3b9 DE |
61 | MULTILIB_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. | |
66 | MULTILIB_EXTRA_OPTS = msdata=sdata | |
67 | ||
3a30516d NC |
68 | EXTRA_MULTILIB_PARTS = crtinit.o crtfini.o |
69 | ||
8c5ca3b9 DE |
70 | LIBGCC = stmp-multilib |
71 | INSTALL_LIBGCC = install-multilib |