1# Specific names for AVR tools
2AR_FOR_TARGET = avr-ar
3RANLIB_FOR_TARGET = avr-ranlib
4
5LIB1ASMSRC = avr/libgcc.S
6LIB1ASMFUNCS = \
7	_mulqi3 \
8	_mulhi3 \
9	_mulsi3 \
10	_udivmodqi4 \
11	_divmodqi4 \
12	_udivmodhi4 \
13	_divmodhi4 \
14	_udivmodsi4 \
15	_divmodsi4 \
16	_prologue \
17	_epilogue \
18	_exit \
19	_cleanup \
20	_tablejump \
21	_copy_data \
22	_clear_bss \
23	_ctors \
24	_dtors
25
26# We do not have the DF type.
27# Most of the C functions in libgcc2 use almost all registers,
28# so use -mcall-prologues for smaller code size.
29TARGET_LIBGCC2_CFLAGS = -DDF=SF -Dinhibit_libc -mcall-prologues
30
31fp-bit.c: $(srcdir)/config/fp-bit.c $(srcdir)/config/avr/t-avr
32	echo '#define FLOAT' > fp-bit.c
33	echo '#define FLOAT_ONLY' >> fp-bit.c
34	echo '#define CMPtype QItype' >> fp-bit.c
35	echo '#define DF SF' >> fp-bit.c
36	echo '#define DI SI' >> fp-bit.c
37	echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
38	echo '#define SMALL_MACHINE' >> fp-bit.c
39	echo 'typedef int QItype __attribute__ ((mode (QI)));' >> fp-bit.c
40	cat $(srcdir)/config/fp-bit.c >> fp-bit.c
41
42FPBIT = fp-bit.c
43
44MULTILIB_OPTIONS = mmcu=avr2/mmcu=avr3/mmcu=avr4/mmcu=avr5
45MULTILIB_DIRNAMES = avr2 avr3 avr4 avr5
46
47# The many avr2 matches are not listed here - this is the default.
48MULTILIB_MATCHES = \
49	mmcu?avr3=mmcu?atmega103 mmcu?avr3=mmcu?atmega603 \
50	mmcu?avr3=mmcu?at43usb320 mmcu?avr3=mmcu?at43usb355 \
51	mmcu?avr3=mmcu?at76c711 \
52	mmcu?avr4=mmcu?atmega8515 mmcu?avr4=mmcu?atmega8535 \
53	mmcu?avr4=mmcu?atmega8 \
54	mmcu?avr5=mmcu?atmega161 mmcu?avr5=mmcu?atmega162 \
55	mmcu?avr5=mmcu?atmega163 mmcu?avr5=mmcu?atmega169 \
56	mmcu?avr5=mmcu?atmega16 \
57	mmcu?avr5=mmcu?atmega323 mmcu?avr5=mmcu?atmega32 \
58	mmcu?avr5=mmcu?atmega64  mmcu?avr5=mmcu?atmega128 \
59	mmcu?avr5=mmcu?at94k
60
61MULTILIB_EXCEPTIONS =
62
63LIBGCC = stmp-multilib
64INSTALL_LIBGCC = install-multilib
65