1# Makefile fragment for building LIBGCC for the TI MSP430 processor. 2# Copyright (C) 2011-2020 Free Software Foundation, Inc. 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 25LIB2ADD = \ 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 \ 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 43HOST_LIBGCC2_CFLAGS += -Os -ffunction-sections -fdata-sections -mhwmult=none 44 45crtbegin_no_eh.o: $(srcdir)/crtstuff.c 46 $(crt_compile) -U__LIBGCC_EH_FRAME_SECTION_NAME__ -c $< -DCRT_BEGIN 47 48crtend_no_eh.o: $(srcdir)/crtstuff.c 49 $(crt_compile) -U__LIBGCC_EH_FRAME_SECTION_NAME__ -c $< -DCRT_END 50 51mpy.o: $(srcdir)/config/msp430/mpy.c 52 $(gcc_compile) $< -c 53 54lib2_mul_none.o: $(srcdir)/config/msp430/lib2mul.c 55 $(gcc_compile) $< -c -DMUL_NONE 56 57lib2_mul_16bit.o: $(srcdir)/config/msp430/lib2mul.c 58 $(gcc_compile) $< -c -DMUL_16 59 60lib2hw_mul_16.o: $(srcdir)/config/msp430/lib2hw_mul.S 61 $(gcc_compile) $< -c -DMUL_16 62 63lib2hw_mul_32.o: $(srcdir)/config/msp430/lib2hw_mul.S 64 $(gcc_compile) $< -c -DMUL_32 65 66lib2hw_mul_f5.o: $(srcdir)/config/msp430/lib2hw_mul.S 67 $(gcc_compile) $< -c -DMUL_F5 68 69libmul_none.a: lib2_mul_none.o mpy.o 70 $(AR_CREATE_FOR_TARGET) $@ $(filter %.o,$^) 71 72libmul_16.a: lib2hw_mul_16.o lib2_mul_16bit.o 73 $(AR_CREATE_FOR_TARGET) $@ $(filter %.o,$^) 74 75libmul_32.a: lib2hw_mul_32.o 76 $(AR_CREATE_FOR_TARGET) $@ $(filter %.o,$^) 77 78libmul_f5.a: lib2hw_mul_f5.o 79 $(AR_CREATE_FOR_TARGET) $@ $(filter %.o,$^) 80 81# Local Variables: 82# mode: Makefile 83# End: 84