blob: c9593977043f9da84cdcfb08348f2888711234e2 [file] [log] [blame]
# 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
echo '#include "config/frv/frv-abi.h"' >> fp-bit.c
cat $(srcdir)/config/fp-bit.c >> fp-bit.c
dp-bit.c: $(srcdir)/config/fp-bit.c
echo '#include "config/frv/frv-abi.h"' > dp-bit.c
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=fr400/mcpu=fr550 mno-pack mlibrary-pic/mfdpic
MULTILIB_DIRNAMES = fr400 fr550 unpacked pic fdpic
MULTILIB_MATCHES = mcpu?simple=mcpu?fr300 \
mlibrary-pic=multilib-library-pic \
mcpu?fr400=mcpu?fr405 mcpu?fr400=mcpu?fr450
MULTILIB_EXCEPTIONS = mcpu=frv/mno-pack* mcpu=simple/mno-pack*
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
EXTRA_HEADERS = $(srcdir)/config/frv/frv-asm.h