summaryrefslogtreecommitdiff
path: root/gcc/config/h8300/t-h8300
blob: 570157887487d8a36e2739a4c8ee797ac13f25d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003,
# 2004 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
# GCC is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GCC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GCC; see the file COPYING3.  If not see
# <http://www.gnu.org/licenses/>.

LIB1ASMSRC = h8300/lib1funcs.asm
LIB1ASMFUNCS = _cmpsi2 _ucmpsi2 _divhi3 _divsi3 _mulhi3 _mulsi3 \
  _fixunssfsi_asm

LIB2FUNCS_EXTRA = \
	$(srcdir)/config/h8300/clzhi2.c \
	$(srcdir)/config/h8300/ctzhi2.c \
	$(srcdir)/config/h8300/parityhi2.c \
	$(srcdir)/config/h8300/popcounthi2.c \
	$(srcdir)/config/h8300/fixunssfsi.c

# We do not have DF type, so fake out the libgcc2 compilation.
TARGET_LIBGCC2_CFLAGS = -DDF=SF

# We want fine grained libraries, so use the new code to build the
# floating point emulation libraries.
FPBIT = fp-bit.c

fp-bit.c: $(srcdir)/config/fp-bit.c
	echo '#define FLOAT' > fp-bit.c
	echo '#define FLOAT_ONLY' >> fp-bit.c
	echo '#define SMALL_MACHINE' >> fp-bit.c
	echo '#ifdef __H8300__' >> fp-bit.c
	echo '#define CMPtype HItype' >> fp-bit.c
	echo '#else' >> fp-bit.c
	echo '#define CMPtype SItype' >> fp-bit.c
	echo '#endif' >> fp-bit.c
	cat $(srcdir)/config/fp-bit.c >> fp-bit.c

MULTILIB_OPTIONS = mh/ms/msx mn mint32
MULTILIB_DIRNAMES = h8300h h8300s h8sx normal int32
MULTILIB_EXCEPTIONS = mint32 mn mn/mint32

LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib

s-config s-conditions s-flags s-codes s-constants s-emit s-recog \
s-opinit s-extract s-peep s-attr s-attrtab s-output: \
	$(srcdir)/config/h8300/mova.md

$(srcdir)/config/h8300/mova.md: $(srcdir)/config/h8300/genmova.sh
	$(SHELL) $(srcdir)/config/h8300/genmova.sh \
	  > $(srcdir)/config/h8300/mova.md