]>
Commit | Line | Data |
---|---|---|
f6a83b4a | 1 | # Makefile fragment for building LIBGCC for the TI MSP430 processor. |
7adcbafe | 2 | # Copyright (C) 2011-2022 Free Software Foundation, Inc. |
f6a83b4a DD |
3 | # Contributed by Red Hat. |
4 | # | |
5 | # This file is part of GCC. | |
6 | # | |
7 | # GCC is free software; you can redistribute it and/or modify it | |
8 | # under the terms of the GNU General Public License as published | |
9 | # by the Free Software Foundation; either version 3, or (at your | |
10 | # option) any later version. | |
11 | # | |
12 | # GCC is distributed in the hope that it will be useful, but | |
13 | # WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | |
15 | # the GNU General Public License for more details. | |
16 | # | |
17 | # You should have received a copy of the GNU General Public | |
18 | # License along with GCC; see the file COPYING3. If not see | |
19 | # <http://www.gnu.org/licenses/>. | |
20 | ||
21 | # Note - we have separate versions of the lib2div<mode> files | |
22 | # as the functions are quite large and we do not want to pull | |
23 | # in unneeded division routines. | |
24 | ||
25 | LIB2ADD = \ | |
26 | $(srcdir)/config/msp430/lib2divQI.c \ | |
27 | $(srcdir)/config/msp430/lib2divHI.c \ | |
28 | $(srcdir)/config/msp430/lib2divSI.c \ | |
29 | $(srcdir)/config/msp430/lib2bitcountHI.c \ | |
30 | $(srcdir)/config/msp430/lib2mul.c \ | |
31 | $(srcdir)/config/msp430/lib2shift.c \ | |
32 | $(srcdir)/config/msp430/epilogue.S \ | |
f6a83b4a DD |
33 | $(srcdir)/config/msp430/slli.S \ |
34 | $(srcdir)/config/msp430/srai.S \ | |
35 | $(srcdir)/config/msp430/srli.S \ | |
36 | $(srcdir)/config/msp430/cmpsi2.S \ | |
37 | $(srcdir)/config/msp430/floatunhisf.c \ | |
38 | $(srcdir)/config/msp430/floatunhidf.c \ | |
39 | $(srcdir)/config/msp430/floathidf.c \ | |
40 | $(srcdir)/config/msp430/floathisf.c \ | |
41 | $(srcdir)/config/msp430/cmpd.c | |
42 | ||
bf7b94d4 JL |
43 | # 32-bit and F5series hardware multiply have their own version of this function. |
44 | # To handle the case when there is no hardware multiply or only 16-bit hardware | |
45 | # multiply, the libgcc version has been copied to lib2mul.c. | |
46 | LIB2FUNCS_EXCLUDE += _muldi3 | |
47 | ||
161c9312 | 48 | HOST_LIBGCC2_CFLAGS += -Os -ffunction-sections -fdata-sections -mhwmult=none |
f6a83b4a | 49 | |
a9046e98 JL |
50 | crtbegin_no_eh.o: $(srcdir)/crtstuff.c |
51 | $(crt_compile) -U__LIBGCC_EH_FRAME_SECTION_NAME__ -c $< -DCRT_BEGIN | |
52 | ||
53 | crtend_no_eh.o: $(srcdir)/crtstuff.c | |
54 | $(crt_compile) -U__LIBGCC_EH_FRAME_SECTION_NAME__ -c $< -DCRT_END | |
55 | ||
4701fba3 JS |
56 | mpy.o: $(srcdir)/config/msp430/mpy.c |
57 | $(gcc_compile) $< -c | |
58 | ||
04a9ae28 | 59 | lib2_mul_none.o: $(srcdir)/config/msp430/lib2mul.c |
bdc27e50 | 60 | $(gcc_compile) $< -c -DMUL_NONE |
04a9ae28 NC |
61 | |
62 | lib2_mul_16bit.o: $(srcdir)/config/msp430/lib2mul.c | |
bdc27e50 | 63 | $(gcc_compile) $< -c -DMUL_16 |
04a9ae28 NC |
64 | |
65 | lib2hw_mul_16.o: $(srcdir)/config/msp430/lib2hw_mul.S | |
bdc27e50 | 66 | $(gcc_compile) $< -c -DMUL_16 |
04a9ae28 NC |
67 | |
68 | lib2hw_mul_32.o: $(srcdir)/config/msp430/lib2hw_mul.S | |
bdc27e50 | 69 | $(gcc_compile) $< -c -DMUL_32 |
04a9ae28 NC |
70 | |
71 | lib2hw_mul_f5.o: $(srcdir)/config/msp430/lib2hw_mul.S | |
bdc27e50 | 72 | $(gcc_compile) $< -c -DMUL_F5 |
04a9ae28 | 73 | |
4701fba3 | 74 | libmul_none.a: lib2_mul_none.o mpy.o |
829afb8f | 75 | $(AR_CREATE_FOR_TARGET) $@ $(filter %.o,$^) |
04a9ae28 NC |
76 | |
77 | libmul_16.a: lib2hw_mul_16.o lib2_mul_16bit.o | |
829afb8f | 78 | $(AR_CREATE_FOR_TARGET) $@ $(filter %.o,$^) |
04a9ae28 NC |
79 | |
80 | libmul_32.a: lib2hw_mul_32.o | |
829afb8f | 81 | $(AR_CREATE_FOR_TARGET) $@ $(filter %.o,$^) |
04a9ae28 NC |
82 | |
83 | libmul_f5.a: lib2hw_mul_f5.o | |
829afb8f | 84 | $(AR_CREATE_FOR_TARGET) $@ $(filter %.o,$^) |
04a9ae28 | 85 | |
f6a83b4a DD |
86 | # Local Variables: |
87 | # mode: Makefile | |
88 | # End: |