1# We want fine grained libraries, so use the new code to build the 2# floating point emulation libraries. 3FPBIT = fp-bit.c 4DPBIT = dp-bit.c 5 6dp-bit.c: $(srcdir)/config/fp-bit.c 7 cat $(srcdir)/config/fp-bit.c > dp-bit.c 8 9fp-bit.c: $(srcdir)/config/fp-bit.c 10 echo '#define FLOAT' > fp-bit.c 11 cat $(srcdir)/config/fp-bit.c >> fp-bit.c 12 13# Build the libraries for pthread and all of the 14# different processor models 15 16MULTILIB_OPTIONS = pthread \ 17 mcpu=common/mcpu=power/mcpu=powerpc/maix64 18 19MULTILIB_DIRNAMES = pthread \ 20 common power powerpc ppc64 21 22MULTILIB_MATCHES = mcpu?power=mcpu?power \ 23 mcpu?power=mcpu?power2 \ 24 mcpu?powerpc=mcpu?power3 \ 25 mcpu?powerpc=mcpu?power4 \ 26 mcpu?powerpc=mcpu?powerpc \ 27 mcpu?power=mcpu?rios1 \ 28 mcpu?power=mcpu?rios2 \ 29 mcpu?power=mcpu?rsc \ 30 mcpu?power=mcpu?rsc1 \ 31 mcpu?powerpc=mcpu?rs64a \ 32 mcpu?powerpc=mcpu?601 \ 33 mcpu?powerpc=mcpu?602 \ 34 mcpu?powerpc=mcpu?603 \ 35 mcpu?powerpc=mcpu?603e \ 36 mcpu?powerpc=mcpu?604 \ 37 mcpu?powerpc=mcpu?604e \ 38 mcpu?powerpc=mcpu?620 \ 39 mcpu?powerpc=mcpu?630 40 41LIBGCC = stmp-multilib 42INSTALL_LIBGCC = install-multilib 43 44# Build a shared libgcc library. 45SHLIB_EXT = .a 46SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \ 47 -Wl,-bE:@shlib_map_file@ -o @multilib_dir@/shr.o \ 48 @multilib_flags@ @shlib_objs@ -lc \ 49 `case @multilib_dir@ in \ 50 *pthread*) echo -L/usr/lib/threads -lpthreads -lc_r /usr/lib/libc.a ;; \ 51 *) echo -lc ;; esac` ; \ 52 rm -f @multilib_dir@/tmp-@shlib_base_name@.a ; \ 53 $(AR_CREATE_FOR_TARGET) @multilib_dir@/tmp-@shlib_base_name@.a \ 54 @multilib_dir@/shr.o ; \ 55 mv @multilib_dir@/tmp-@shlib_base_name@.a \ 56 @multilib_dir@/@shlib_base_name@.a ; \ 57 rm -f @multilib_dir@/shr.o 58# $(slibdir) double quoted to protect it from expansion while building 59# libgcc.mk. We want this delayed until actual install time. 60SHLIB_INSTALL = \ 61 $$(mkinstalldirs) $$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@; \ 62 $(INSTALL_DATA) @multilib_dir@/@shlib_base_name@.a \ 63 $$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@/ 64SHLIB_LIBS = -lc `case @multilib_dir@ in *pthread*) echo -lpthread ;; esac` 65SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk 66SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/rs6000/libgcc-ppc64.ver 67SHLIB_NM_FLAGS = -Bpg -X32_64 68 69# GCC 128-bit long double support routines. 70LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/ppc64-fp.c \ 71 $(srcdir)/config/rs6000/darwin-ldouble.c 72TARGET_LIBGCC2_CFLAGS = -mlong-double-128 73 74# Either 32-bit and 64-bit objects in archives. 75AR_FLAGS_FOR_TARGET = -X32_64 76 77