t-avr revision 1.1
1# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
2# 2009 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
20driver-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
24avr-devices.o: $(srcdir)/config/avr/avr-devices.c \
25  $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
26	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
27	
28
29avr-c.o: $(srcdir)/config/avr/avr-c.c \
30  $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
31	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
32	
33
34
35LIB1ASMSRC = avr/libgcc.S
36LIB1ASMFUNCS = \
37	_mulqi3 \
38	_mulhi3 \
39	_mulsi3 \
40	_udivmodqi4 \
41	_divmodqi4 \
42	_udivmodhi4 \
43	_divmodhi4 \
44	_udivmodsi4 \
45	_divmodsi4 \
46	_prologue \
47	_epilogue \
48	_exit \
49	_cleanup \
50	_tablejump \
51	_tablejump_elpm \
52	_copy_data \
53	_clear_bss \
54	_ctors \
55	_dtors
56
57# We do not have the DF type.
58# Most of the C functions in libgcc2 use almost all registers,
59# so use -mcall-prologues for smaller code size.
60TARGET_LIBGCC2_CFLAGS = -DDF=SF -Dinhibit_libc -mcall-prologues -Os
61
62fp-bit.c: $(srcdir)/config/fp-bit.c $(srcdir)/config/avr/t-avr
63	echo '#define FLOAT' > fp-bit.c
64	echo '#define FLOAT_ONLY' >> fp-bit.c
65	echo '#define CMPtype QItype' >> fp-bit.c
66	echo '#define DF SF' >> fp-bit.c
67	echo '#define DI SI' >> fp-bit.c
68	echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
69	echo '#define SMALL_MACHINE' >> fp-bit.c
70	echo 'typedef int QItype __attribute__ ((mode (QI)));' >> fp-bit.c
71	cat $(srcdir)/config/fp-bit.c >> fp-bit.c
72
73FPBIT = fp-bit.c
74
75MULTILIB_OPTIONS = mmcu=avr2/mmcu=avr25/mmcu=avr3/mmcu=avr31/mmcu=avr35/mmcu=avr4/mmcu=avr5/mmcu=avr51/mmcu=avr6
76MULTILIB_DIRNAMES = avr2 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6
77
78# The many avr2 matches are not listed here - this is the default.
79MULTILIB_MATCHES = \
80	mmcu?avr25=mmcu?ata6289 \
81	mmcu?avr25=mmcu?attiny13 \
82	mmcu?avr25=mmcu?attiny13a \
83	mmcu?avr25=mmcu?attiny2313 \
84	mmcu?avr25=mmcu?attiny24 \
85	mmcu?avr25=mmcu?attiny44 \
86	mmcu?avr25=mmcu?attiny84 \
87	mmcu?avr25=mmcu?attiny25 \
88	mmcu?avr25=mmcu?attiny45 \
89	mmcu?avr25=mmcu?attiny85 \
90	mmcu?avr25=mmcu?attiny261 \
91	mmcu?avr25=mmcu?attiny461 \
92	mmcu?avr25=mmcu?attiny861 \
93	mmcu?avr25=mmcu?attiny43u \
94	mmcu?avr25=mmcu?attiny87 \
95	mmcu?avr25=mmcu?attiny48 \
96	mmcu?avr25=mmcu?attiny88 \
97	mmcu?avr25=mmcu?at86rf401 \
98	mmcu?avr3=mmcu?at43usb355 \
99	mmcu?avr3=mmcu?at76c711 \
100	mmcu?avr31=mmcu?atmega103 \
101	mmcu?avr31=mmcu?at43usb320 \
102	mmcu?avr35=mmcu?at90usb82 \
103	mmcu?avr35=mmcu?at90usb162 \
104	mmcu?avr35=mmcu?atmega8u2 \
105	mmcu?avr35=mmcu?atmega16u2 \
106	mmcu?avr35=mmcu?atmega32u2 \
107	mmcu?avr35=mmcu?attiny167 \
108	mmcu?avr35=mmcu?attiny327 \
109	mmcu?avr4=mmcu?atmega48 \
110	mmcu?avr4=mmcu?atmega48p \
111	mmcu?avr4=mmcu?atmega8 \
112	mmcu?avr4=mmcu?atmega8515 \
113	mmcu?avr4=mmcu?atmega8535 \
114	mmcu?avr4=mmcu?atmega88 \
115	mmcu?avr4=mmcu?atmega88p \
116	mmcu?avr4=mmcu?atmega8hva \
117	mmcu?avr4=mmcu?atmega4hvd \
118	mmcu?avr4=mmcu?atmega8hvd \
119	mmcu?avr4=mmcu?atmega8c1 \
120	mmcu?avr4=mmcu?atmega8m1 \
121	mmcu?avr4=mmcu?at90pwm1 \
122	mmcu?avr4=mmcu?at90pwm2 \
123	mmcu?avr4=mmcu?at90pwm2b \
124	mmcu?avr4=mmcu?at90pwm3 \
125	mmcu?avr4=mmcu?at90pwm3b \
126	mmcu?avr4=mmcu?at90pwm81 \
127	mmcu?avr5=mmcu?atmega16 \
128	mmcu?avr5=mmcu?atmega161 \
129	mmcu?avr5=mmcu?atmega162 \
130	mmcu?avr5=mmcu?atmega163 \
131	mmcu?avr5=mmcu?atmega164p \
132	mmcu?avr5=mmcu?atmega165 \
133	mmcu?avr5=mmcu?atmega165p \
134	mmcu?avr5=mmcu?atmega168 \
135	mmcu?avr5=mmcu?atmega168p \
136	mmcu?avr5=mmcu?atmega169 \
137	mmcu?avr5=mmcu?atmega169p \
138	mmcu?avr5=mmcu?atmega32 \
139	mmcu?avr5=mmcu?atmega323 \
140	mmcu?avr5=mmcu?atmega324p \
141	mmcu?avr5=mmcu?atmega325 \
142	mmcu?avr5=mmcu?atmega325p \
143	mmcu?avr5=mmcu?atmega3250 \
144	mmcu?avr5=mmcu?atmega3250p \
145	mmcu?avr5=mmcu?atmega328p \
146	mmcu?avr5=mmcu?atmega329 \
147	mmcu?avr5=mmcu?atmega329p \
148	mmcu?avr5=mmcu?atmega3290 \
149	mmcu?avr5=mmcu?atmega3290p \
150	mmcu?avr5=mmcu?atmega406 \
151	mmcu?avr5=mmcu?atmega64  \
152	mmcu?avr5=mmcu?atmega640 \
153	mmcu?avr5=mmcu?atmega644 \
154	mmcu?avr5=mmcu?atmega644p \
155	mmcu?avr5=mmcu?atmega645 \
156	mmcu?avr5=mmcu?atmega6450 \
157	mmcu?avr5=mmcu?atmega649 \
158	mmcu?avr5=mmcu?atmega6490 \
159	mmcu?avr5=mmcu?atmega16hva \
160	mmcu?avr5=mmcu?atmega16hvb \
161	mmcu?avr5=mmcu?atmega32hvb \
162	mmcu?avr5=mmcu?at90can32 \
163	mmcu?avr5=mmcu?at90can64 \
164	mmcu?avr5=mmcu?at90pwm216 \
165	mmcu?avr5=mmcu?at90pwm316 \
166	mmcu?avr5=mmcu?atmega16c1 \
167	mmcu?avr5=mmcu?atmega32c1 \
168	mmcu?avr5=mmcu?atmega64c1 \
169	mmcu?avr5=mmcu?atmega16m1 \
170	mmcu?avr5=mmcu?atmega32m1 \
171	mmcu?avr5=mmcu?atmega64m1 \
172	mmcu?avr5=mmcu?atmega16u4 \
173	mmcu?avr5=mmcu?atmega32u4 \
174	mmcu?avr5=mmcu?atmega32u6 \
175	mmcu?avr5=mmcu?at90scr100 \
176	mmcu?avr5=mmcu?at90usb646 \
177	mmcu?avr5=mmcu?at90usb647 \
178	mmcu?avr5=mmcu?at94k \
179	mmcu?avr51=mmcu?atmega128 \
180	mmcu?avr51=mmcu?atmega1280 \
181	mmcu?avr51=mmcu?atmega1281 \
182	mmcu?avr51=mmcu?atmega1284p \
183	mmcu?avr51=mmcu?atmega128rfa1 \
184	mmcu?avr51=mmcu?at90can128 \
185	mmcu?avr51=mmcu?at90usb1286 \
186	mmcu?avr51=mmcu?at90usb1287 \
187	mmcu?avr51=mmcu?m3000f \
188	mmcu?avr51=mmcu?m3000s \
189	mmcu?avr51=mmcu?m3001b \
190 	mmcu?avr6=mmcu?atmega2560 \
191 	mmcu?avr6=mmcu?atmega2561
192
193MULTILIB_EXCEPTIONS =
194
195LIBGCC = stmp-multilib
196INSTALL_LIBGCC = install-multilib
197