1 # Copyright (C) 2008 Free Software Foundation, Inc.
3 # This file is part of GCC.
5 # GCC is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 3, or (at your option)
10 # GCC is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with GCC; see the file COPYING3. If not see
17 # <http://www.gnu.org/licenses/>.
19 # Compile the extra library functions.
22 $(srcdir)/config/picochip/libgccExtras/ashrsi3.asm \
23 $(srcdir)/config/picochip/libgccExtras/ashlsi3.asm \
24 $(srcdir)/config/picochip/libgccExtras/divmodhi4.asm \
25 $(srcdir)/config/picochip/libgccExtras/udivmodhi4.asm \
26 $(srcdir)/config/picochip/libgccExtras/divmodsi4.asm \
27 $(srcdir)/config/picochip/libgccExtras/udivmodsi4.asm \
28 $(srcdir)/config/picochip/libgccExtras/divmod15.asm \
29 $(srcdir)/config/picochip/libgccExtras/ucmpsi2.asm \
30 $(srcdir)/config/picochip/libgccExtras/cmpsi2.asm \
31 $(srcdir)/config/picochip/libgccExtras/clzsi2.asm \
32 $(srcdir)/config/picochip/libgccExtras/adddi3.asm \
33 $(srcdir)/config/picochip/libgccExtras/subdi3.asm \
34 $(srcdir)/config/picochip/libgccExtras/lshrsi3.asm \
35 $(srcdir)/config/picochip/libgccExtras/parityhi2.asm \
36 $(srcdir)/config/picochip/libgccExtras/popcounthi2.asm
38 # Prevent some of the more complicated libgcc functions from being
39 # compiled. This is because they are generally too big to fit into an
40 # AE anyway, so there is no point in having them. Also, some don't
41 # compile properly so we'll ignore them for the moment.
43 LIB1ASMFUNCS = _mulsc3 _divsc3
44 LIB1ASMSRC = picochip/libgccExtras/fake_libgcc.asm
46 # Turn off the building of exception handling libraries.
50 # Turn off ranlib on target libraries.
51 RANLIB_FOR_TARGET = cat
53 # Special libgcc setup. Make single/double floating point the same,
54 # and use our own include files.
55 TARGET_LIBGCC2_CFLAGS = -DDF=SF -I../../includes/
57 # Switch off all debugging for the embedded libraries.
58 # (embedded processors need small libraries by default).
59 # NOTE: If the debug level is increased, turn off instruction scheduling.
60 LIBGCC2_DEBUG_CFLAGS = -g0
62 # Build all combinations of library for different multiply units, and
63 # presence/absence of byte access.
64 MULTILIB_OPTIONS = mmul-type=none/mmul-type=mac/mmul-type=mul mno-byte-access/mbyte-access
66 # Using a mul unit (currently) implies that byte access is available.
67 MULTILIB_EXCEPTIONS = mmul-type=mul/mno-byte-access
69 # We want fine grained libraries, so use the new code
70 # to build the floating point emulation libraries.
73 # Software floating point support. Floating point is not properly
74 # supported, but is existence can be useful for some types of testing.
75 fp-bit.c: $(srcdir)/config/fp-bit.c
76 echo '#define FLOAT' > fp-bit.c
77 echo '#define FLOAT_ONLY' >> fp-bit.c
78 echo '#define SMALL_MACHINE' >> fp-bit.c
79 cat $(srcdir)/config/fp-bit.c >> fp-bit.c