OSDN Git Service

a5357f0ecf6e398ba0c846399d099217e22421b3
[pf3gnuchains/gcc-fork.git] / gcc / config / avr / t-avr
1 # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
2 # 2009, 2010, 2011 Free Software Foundation, Inc.
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
20 driver-avr.o: $(srcdir)/config/avr/driver-avr.c \
21   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
22         $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
23
24 avr-devices.o: $(srcdir)/config/avr/avr-devices.c \
25   $(srcdir)/config/avr/avr-mcus.def \
26   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
27         $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
28
29 avr-c.o: $(srcdir)/config/avr/avr-c.c \
30   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(C_COMMON_H)
31         $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
32
33 $(srcdir)/config/avr/avr-tables.opt: $(srcdir)/config/avr/genopt.sh \
34   $(srcdir)/config/avr/avr-mcus.def
35         $(SHELL) $(srcdir)/config/avr/genopt.sh $(srcdir)/config/avr > \
36                 $(srcdir)/config/avr/avr-tables.opt
37
38 LIB1ASMSRC = avr/libgcc.S
39 LIB1ASMFUNCS = \
40         _mulqi3 \
41         _mulhi3 \
42         _mulhisi3 \
43         _umulhisi3 \
44         _xmulhisi3_exit \
45         _mulsi3 \
46         _udivmodqi4 \
47         _divmodqi4 \
48         _udivmodhi4 \
49         _divmodhi4 \
50         _udivmodsi4 \
51         _divmodsi4 \
52         _prologue \
53         _epilogue \
54         _exit \
55         _cleanup \
56         _tablejump \
57         _tablejump_elpm \
58         _copy_data \
59         _clear_bss \
60         _ctors \
61         _dtors \
62         _ffssi2 \
63         _ffshi2 \
64         _loop_ffsqi2 \
65         _ctzsi2 \
66         _ctzhi2 \
67         _clzdi2 \
68         _clzsi2 \
69         _clzhi2 \
70         _paritydi2 \
71         _paritysi2 \
72         _parityhi2 \
73         _popcounthi2 \
74         _popcountsi2 \
75         _popcountdi2 \
76         _popcountqi2 \
77         _bswapsi2 \
78         _bswapdi2 \
79         _ashldi3 \
80         _ashrdi3 \
81         _lshrdi3 \
82         _fmul _fmuls _fmulsu
83
84 LIB2FUNCS_EXCLUDE = \
85         _clz
86
87 # We do not have the DF type.
88 # Most of the C functions in libgcc2 use almost all registers,
89 # so use -mcall-prologues for smaller code size.
90 TARGET_LIBGCC2_CFLAGS = -DDF=SF -Dinhibit_libc -mcall-prologues -Os
91
92 fp-bit.c: $(srcdir)/config/fp-bit.c $(srcdir)/config/avr/t-avr
93         echo '#define FLOAT' > fp-bit.c
94         echo '#define FLOAT_ONLY' >> fp-bit.c
95         echo '#define CMPtype QItype' >> fp-bit.c
96         echo '#define DF SF' >> fp-bit.c
97         echo '#define DI SI' >> fp-bit.c
98         echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
99         echo '#define SMALL_MACHINE' >> fp-bit.c
100         echo 'typedef int QItype __attribute__ ((mode (QI)));' >> fp-bit.c
101         cat $(srcdir)/config/fp-bit.c >> fp-bit.c
102
103 FPBIT = fp-bit.c
104
105 MULTILIB_OPTIONS = mmcu=avr2/mmcu=avr25/mmcu=avr3/mmcu=avr31/mmcu=avr35/mmcu=avr4/mmcu=avr5/mmcu=avr51/mmcu=avr6
106 MULTILIB_DIRNAMES = avr2 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6
107
108 # The many avr2 matches are not listed here - this is the default.
109 MULTILIB_MATCHES = \
110         mmcu?avr25=mmcu?ata6289 \
111         mmcu?avr25=mmcu?attiny13 \
112         mmcu?avr25=mmcu?attiny13a \
113         mmcu?avr25=mmcu?attiny2313 \
114         mmcu?avr25=mmcu?attiny2313a \
115         mmcu?avr25=mmcu?attiny4313 \
116         mmcu?avr25=mmcu?attiny24 \
117         mmcu?avr25=mmcu?attiny24a \
118         mmcu?avr25=mmcu?attiny44 \
119         mmcu?avr25=mmcu?attiny44a \
120         mmcu?avr25=mmcu?attiny84 \
121         mmcu?avr25=mmcu?attiny84a \
122         mmcu?avr25=mmcu?attiny25 \
123         mmcu?avr25=mmcu?attiny45 \
124         mmcu?avr25=mmcu?attiny85 \
125         mmcu?avr25=mmcu?attiny261 \
126         mmcu?avr25=mmcu?attiny261a \
127         mmcu?avr25=mmcu?attiny461 \
128         mmcu?avr25=mmcu?attiny461a \
129         mmcu?avr25=mmcu?attiny861 \
130         mmcu?avr25=mmcu?attiny861a \
131         mmcu?avr25=mmcu?attiny43u \
132         mmcu?avr25=mmcu?attiny87 \
133         mmcu?avr25=mmcu?attiny48 \
134         mmcu?avr25=mmcu?attiny88 \
135         mmcu?avr25=mmcu?at86rf401 \
136         mmcu?avr3=mmcu?at43usb355 \
137         mmcu?avr3=mmcu?at76c711 \
138         mmcu?avr31=mmcu?atmega103 \
139         mmcu?avr31=mmcu?at43usb320 \
140         mmcu?avr35=mmcu?at90usb82 \
141         mmcu?avr35=mmcu?at90usb162 \
142         mmcu?avr35=mmcu?atmega8u2 \
143         mmcu?avr35=mmcu?atmega16u2 \
144         mmcu?avr35=mmcu?atmega32u2 \
145         mmcu?avr35=mmcu?attiny167 \
146         mmcu?avr4=mmcu?atmega48 \
147         mmcu?avr4=mmcu?atmega48a \
148         mmcu?avr4=mmcu?atmega48p \
149         mmcu?avr4=mmcu?atmega8 \
150         mmcu?avr4=mmcu?atmega8515 \
151         mmcu?avr4=mmcu?atmega8535 \
152         mmcu?avr4=mmcu?atmega88 \
153         mmcu?avr4=mmcu?atmega88a \
154         mmcu?avr4=mmcu?atmega88p \
155         mmcu?avr4=mmcu?atmega88pa \
156         mmcu?avr4=mmcu?atmega8hva \
157         mmcu?avr4=mmcu?at90pwm1 \
158         mmcu?avr4=mmcu?at90pwm2 \
159         mmcu?avr4=mmcu?at90pwm2b \
160         mmcu?avr4=mmcu?at90pwm3 \
161         mmcu?avr4=mmcu?at90pwm3b \
162         mmcu?avr4=mmcu?at90pwm81 \
163         mmcu?avr5=mmcu?atmega16 \
164         mmcu?avr5=mmcu?atmega16a \
165         mmcu?avr5=mmcu?atmega161 \
166         mmcu?avr5=mmcu?atmega162 \
167         mmcu?avr5=mmcu?atmega163 \
168         mmcu?avr5=mmcu?atmega164a \
169         mmcu?avr5=mmcu?atmega164p \
170         mmcu?avr5=mmcu?atmega165 \
171         mmcu?avr5=mmcu?atmega165a \
172         mmcu?avr5=mmcu?atmega165p \
173         mmcu?avr5=mmcu?atmega168 \
174         mmcu?avr5=mmcu?atmega168a \
175         mmcu?avr5=mmcu?atmega168p \
176         mmcu?avr5=mmcu?atmega169 \
177         mmcu?avr5=mmcu?atmega169a \
178         mmcu?avr5=mmcu?atmega169p \
179         mmcu?avr5=mmcu?atmega169pa \
180         mmcu?avr5=mmcu?atmega32 \
181         mmcu?avr5=mmcu?atmega323 \
182         mmcu?avr5=mmcu?atmega324a \
183         mmcu?avr5=mmcu?atmega324p \
184         mmcu?avr5=mmcu?atmega324pa \
185         mmcu?avr5=mmcu?atmega325 \
186         mmcu?avr5=mmcu?atmega325a \
187         mmcu?avr5=mmcu?atmega325p \
188         mmcu?avr5=mmcu?atmega3250 \
189         mmcu?avr5=mmcu?atmega3250a \
190         mmcu?avr5=mmcu?atmega3250p \
191         mmcu?avr5=mmcu?atmega328 \
192         mmcu?avr5=mmcu?atmega328p \
193         mmcu?avr5=mmcu?atmega329 \
194         mmcu?avr5=mmcu?atmega329a \
195         mmcu?avr5=mmcu?atmega329p \
196         mmcu?avr5=mmcu?atmega329pa \
197         mmcu?avr5=mmcu?atmega3290 \
198         mmcu?avr5=mmcu?atmega3290a \
199         mmcu?avr5=mmcu?atmega3290p \
200         mmcu?avr5=mmcu?atmega406 \
201         mmcu?avr5=mmcu?atmega64  \
202         mmcu?avr5=mmcu?atmega640 \
203         mmcu?avr5=mmcu?atmega644 \
204         mmcu?avr5=mmcu?atmega644a \
205         mmcu?avr5=mmcu?atmega644p \
206         mmcu?avr5=mmcu?atmega644pa \
207         mmcu?avr5=mmcu?atmega645 \
208         mmcu?avr5=mmcu?atmega645a \
209         mmcu?avr5=mmcu?atmega645p \
210         mmcu?avr5=mmcu?atmega6450 \
211         mmcu?avr5=mmcu?atmega6450a \
212         mmcu?avr5=mmcu?atmega6450p \
213         mmcu?avr5=mmcu?atmega649 \
214         mmcu?avr5=mmcu?atmega649a \
215         mmcu?avr5=mmcu?atmega649p \
216         mmcu?avr5=mmcu?atmega6490 \
217         mmcu?avr5=mmcu?atmega6490a \
218         mmcu?avr5=mmcu?atmega6490p \
219         mmcu?avr5=mmcu?atmega16hva \
220         mmcu?avr5=mmcu?atmega16hva2 \
221         mmcu?avr5=mmcu?atmega16hvb \
222         mmcu?avr5=mmcu?atmega32hvb \
223         mmcu?avr5=mmcu?atmega64hve \
224         mmcu?avr5=mmcu?at90can32 \
225         mmcu?avr5=mmcu?at90can64 \
226         mmcu?avr5=mmcu?at90pwm216 \
227         mmcu?avr5=mmcu?at90pwm316 \
228         mmcu?avr5=mmcu?atmega32c1 \
229         mmcu?avr5=mmcu?atmega64c1 \
230         mmcu?avr5=mmcu?atmega16m1 \
231         mmcu?avr5=mmcu?atmega32m1 \
232         mmcu?avr5=mmcu?atmega64m1 \
233         mmcu?avr5=mmcu?atmega16u4 \
234         mmcu?avr5=mmcu?atmega32u4 \
235         mmcu?avr5=mmcu?atmega32u6 \
236         mmcu?avr5=mmcu?at90scr100 \
237         mmcu?avr5=mmcu?at90usb646 \
238         mmcu?avr5=mmcu?at90usb647 \
239         mmcu?avr5=mmcu?at94k \
240         mmcu?avr5=mmcu?m3000 \
241         mmcu?avr51=mmcu?atmega128 \
242         mmcu?avr51=mmcu?atmega1280 \
243         mmcu?avr51=mmcu?atmega1281 \
244         mmcu?avr51=mmcu?atmega1284p \
245         mmcu?avr51=mmcu?atmega128rfa1 \
246         mmcu?avr51=mmcu?at90can128 \
247         mmcu?avr51=mmcu?at90usb1286 \
248         mmcu?avr51=mmcu?at90usb1287 \
249         mmcu?avr6=mmcu?atmega2560 \
250         mmcu?avr6=mmcu?atmega2561
251
252 MULTILIB_EXCEPTIONS =
253
254 LIBGCC = stmp-multilib
255 INSTALL_LIBGCC = install-multilib