t-frv 3.36 KB
Newer Older
bernds's avatar
bernds committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
# Name of assembly file containing libgcc1 functions.
# This entry must be present, but it can be empty if the target does
# not need any assembler functions to support its code generation.
#
# Alternatively if assembler functions *are* needed then define the
# entries below:
CROSS_LIBGCC1	= libgcc1-asm.a
LIB1ASMSRC	= frv/lib1funcs.asm
LIB1ASMFUNCS	= _cmpll _cmpf _cmpd _addll _subll _andll _orll _xorll _notll _cmov
LIB2FUNCS_EXTRA	= cmovh.c cmovw.c cmovd.c modi.c umodi.c uitof.c uitod.c ulltof.c ulltod.c

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

# If any special flags are necessary when building libgcc2 put them here.
TARGET_LIBGCC2_CFLAGS =

fp-bit.c: $(srcdir)/config/fp-bit.c
	echo '#define FLOAT' > fp-bit.c
22
	echo '#include "config/frv/frv-abi.h"' >> fp-bit.c
bernds's avatar
bernds committed
23 24 25
	cat $(srcdir)/config/fp-bit.c >> fp-bit.c

dp-bit.c: $(srcdir)/config/fp-bit.c
26
	echo '#include "config/frv/frv-abi.h"' > dp-bit.c
bernds's avatar
bernds committed
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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
	cat $(srcdir)/config/fp-bit.c >> dp-bit.c

cmovh.c: $(srcdir)/config/frv/cmovh.c
	$(LN_S) $(srcdir)/config/frv/cmovh.c .

cmovw.c: $(srcdir)/config/frv/cmovw.c
	$(LN_S) $(srcdir)/config/frv/cmovw.c .

cmovd.c: $(srcdir)/config/frv/cmovd.c
	$(LN_S) $(srcdir)/config/frv/cmovd.c .

modi.c: $(srcdir)/config/frv/modi.c
	$(LN_S) $(srcdir)/config/frv/modi.c .

umodi.c: $(srcdir)/config/frv/umodi.c
	$(LN_S) $(srcdir)/config/frv/umodi.c .

uitof.c: $(srcdir)/config/frv/uitof.c
	$(LN_S) $(srcdir)/config/frv/uitof.c .

uitod.c: $(srcdir)/config/frv/uitod.c
	$(LN_S) $(srcdir)/config/frv/uitod.c .

ulltof.c: $(srcdir)/config/frv/ulltof.c
	$(LN_S) $(srcdir)/config/frv/ulltof.c .

ulltod.c: $(srcdir)/config/frv/ulltod.c
	$(LN_S) $(srcdir)/config/frv/ulltod.c .

# Build frvbegin.o and frvend.o
EXTRA_MULTILIB_PARTS=frvbegin.o frvend.o

# Compile two additional files that are linked with every program
# linked using GCC on systems using COFF or ELF, for the sake of C++
# constructors.

FRVSTUFF_CFLAGS = $(TARGET_LIBGCC2_CFLAGS)

$(T)frvbegin$(objext): $(srcdir)/config/frv/frvbegin.c $(GCC_PASSES) \
  $(CONFIG_H) defaults.h unwind-dw2-fde.h gbl-ctors.h
	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) $(FRVSTUFF_CFLAGS) \
	  -c $(srcdir)/config/frv/frvbegin.c -o $(T)frvbegin$(objext)

$(T)frvend$(objext): $(srcdir)/config/frv/frvend.c $(GCC_PASSES) \
  $(CONFIG_H) defaults.h unwind-dw2-fde.h gbl-ctors.h
	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) $(FRVSTUFF_CFLAGS) \
	  -c $(srcdir)/config/frv/frvend.c -o $(T)frvend$(objext)

# Enable the following if multilibs are needed.
# See gcc/genmultilib, gcc/gcc.texi and gcc/tm.texi for a
# description of the options and their values.
#
#MULTILIB_OPTIONS	= mcpu=fr500/mcpu=tomcat/mcpu=simple/mcpu=frv msoft-float mdword/mno-dword
#MULTILIB_DIRNAMES	= fr500 tomcat simple frv nof dw no-dw
#MULTILIB_MATCHES	= mcpu?simple=mcpu?fr300 mno-double=mcpu?fr500 mcpu?frv=mdouble
#MULTILIB_EXCEPTIONS	= *mcpu=simple/*msoft-float* *mcpu=frv/*msoft-float*
#MULTILIB_EXTRA_OPTS	= mlibrary-pic

MULTILIB_OPTIONS	= mcpu=frv/mcpu=fr400/mcpu=simple mno-pack mlibrary-pic
MULTILIB_DIRNAMES	= frv fr400 simple unpacked pic
MULTILIB_MATCHES	= mcpu?simple=mcpu?fr300 mlibrary-pic=fpic mlibrary-pic=fPIC
MULTILIB_EXCEPTIONS	= mcpu=frv/mno-pack* mcpu=simple/mno-pack*

LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib

93
EXTRA_HEADERS = $(srcdir)/config/frv/frv-asm.h