
#rs6000/t-linux64

LIB2FUNCS_EXTRA = tramp.S $(srcdir)/config/rs6000/ppc64-fp.c
LIB2FUNCS_STATIC_EXTRA = eabi.S $(srcdir)/config/rs6000/darwin-ldouble.c
LIB2FUNCS_SHARED_EXTRA = $(srcdir)/config/rs6000/darwin-ldouble-shared.c

TARGET_LIBGCC2_CFLAGS = -mno-minimal-toc -fPIC -specs=bispecs

SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-ppc64.ver

MULTILIB_OPTIONS        = m64/m32
MULTILIB_DIRNAMES       = 64 32
MULTILIB_EXTRA_OPTS     = fPIC mstrict-align
MULTILIB_EXCEPTIONS     =
MULTILIB_EXCLUSIONS     =
MULTILIB_OSDIRNAMES	= ../lib64 ../lib
MULTILIB_MATCHES        =

# We want fine grained libraries, so use the new code to build the
# floating point emulation libraries.
# fp-bit is only to be used by 32-bit multilibs
FPBIT = fp-bit32.c
DPBIT = dp-bit32.c

dp-bit32.c: $(srcdir)/config/fp-bit.c
	( echo '#ifndef __powerpc64__'; \
	  cat $(srcdir)/config/fp-bit.c; \
	  echo '#endif' ) > dp-bit32.c

fp-bit32.c: $(srcdir)/config/fp-bit.c
	( echo '#ifndef __powerpc64__'; \
	  echo '#define FLOAT'; \
	  cat $(srcdir)/config/fp-bit.c; \
	  echo '#endif' ) > fp-bit32.c

# Hack to use -mlong-double-128 just for compiling 64 bit libgcc
mklibgcc: bispecs

bispecs: specs
	if [ x`$(GCC_FOR_TARGET) -print-multi-os-directory` = x../lib ]; then \
	  sed -e '/cc1_options/{ n; s/$$/ %{m64:-mlong-double-128}/; }' < specs > $@; \
	else \
	  sed -e '/cc1_options/{ n; s/$$/ %{!m32:-mlong-double-128}/; }' < specs > $@; \
	fi
