t-linux64   [plain text]



#rs6000/t-linux64

LIB2FUNCS_EXTRA = tramp.S $(srcdir)/config/rs6000/ppc64-fp.c \
	$(srcdir)/config/rs6000/darwin-ldouble.c

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

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

MULTILIB_OPTIONS        = m64/m32 msoft-float
MULTILIB_DIRNAMES       = 64 32 nof
MULTILIB_EXTRA_OPTS     = fPIC mstrict-align
MULTILIB_EXCEPTIONS     = m64/msoft-float
MULTILIB_EXCLUSIONS     = m64/!m32/msoft-float
MULTILIB_OSDIRNAMES	= ../lib64 ../lib nof
MULTILIB_MATCHES        = $(MULTILIB_MATCHES_FLOAT)

# 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