When linking, call directly ld in place of the gcc wrapper, because the wrapper will try to link with -lfloat, which we don't have right now... Simplify CFLAGS to stay ABI compliant (ot so I guess)... diff -dur libfloat.orig/Makefile libfloat/Makefile --- libfloat.orig/Makefile 2007-02-16 19:38:55.000000000 +0100 +++ libfloat/Makefile 2007-02-16 19:46:23.000000000 +0100 @@ -1,8 +1,11 @@ # Makefile for the Linux soft-float library -CC=gcc -O2 -freg-struct-return -fomit-frame-pointer -D__LIBFLOAT__ -#CC=gcc -g -O2 -freg-struct-return -D__LIBFLOAT__ -AR=ar +AR=$(CROSS_COMPILE)ar +#CFLAGS=-O2 -freg-struct-return -fomit-frame-pointer -D__LIBFLOAT__ +CFLAGS=-O2 -D__LIBFLOAT__ +CC=$(CROSS_COMPILE)gcc +LDFLAGS=-shared -nostdlib +LD=$(CROSS_COMPILE)ld all: libfloat.a libfloat.so.1 @@ -12,28 +13,31 @@ libfloat.so.1: softfloat.os fplib_glue.os rm -f libfloat.so.1 - gcc -shared -Wl,-soname,libfloat.so.1 softfloat.os fplib_glue.os -o libfloat.so.1 + $(LD) $(LDFLAGS) -soname=libfloat.so.1 softfloat.os fplib_glue.os -o libfloat.so.1 softfloat.o: softfloat/bits64/softfloat.c - $(CC) -c -o softfloat.o -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c + $(CC) $(CFLAGS) -c -o softfloat.o -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c fplib_glue.o: fplib_glue.S - $(CC) -c -o fplib_glue.o fplib_glue.S + $(CC) $(CFLAGS) -c -o fplib_glue.o fplib_glue.S softfloat.os: softfloat/bits64/softfloat.c - $(CC) -fpic -c -o softfloat.os -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c + $(CC) $(CFLAGS) -fpic -c -o softfloat.os -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c fplib_glue.os: fplib_glue.S - $(CC) -fpic -c -o fplib_glue.os fplib_glue.S + $(CC) $(CFLAGS) -fpic -c -o fplib_glue.os fplib_glue.S install: libfloat.a libfloat.so.1 - cp -a libfloat.a $(DESTDIR)/usr/lib - cp -a libfloat.so.1 $(DESTDIR)/usr/lib - cd $(DESTDIR)/usr/lib; ln -s libfloat.so.1 libfloat.so + install -d -m 755 "$(DESTDIR)/usr/lib" + install -m 755 libfloat.a "$(DESTDIR)/usr/lib" + install -m 755 libfloat.so.1 "$(DESTDIR)/usr/lib" + cd $(DESTDIR)/usr/lib + ln -s libfloat.so.1 libfloat.so clean: rm -f *.o rm -f *.os rm -f libfloat.a rm -f libfloat.so.1 + rm -f libfloat.so rm -f *~