X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=Rules.mak;h=6ebf517759a604a98192c23a6a3927009542b741;hb=da0db0ab5640256bc4217abcfc6a6e9285c27bfc;hp=374cafef0bd49bf158837b55735a234000e51289;hpb=cc8008364d4cb269c16b61fb1481dea019cb92c2;p=uclinux-h8%2FuClibc.git diff --git a/Rules.mak b/Rules.mak index 374cafef0..6ebf51775 100644 --- a/Rules.mak +++ b/Rules.mak @@ -25,7 +25,7 @@ include $(TOPDIR)Config MAJOR_VERSION=0 -MINOR_VERSION=9.5 +MINOR_VERSION=9.8 VERSION=$(MAJOR_VERSION).$(MINOR_VERSION) LIBNAME=libc.a @@ -38,11 +38,28 @@ BUILDTIME = ${shell TZ=UTC date --utc "+%Y.%m.%d-%H:%M%z"} GCCINCDIR = ${shell $(CC) -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp"} NATIVE_ARCH = ${shell uname -m | sed -e 's/i.86/i386/' -e 's/sparc.*/sparc/' \ -e 's/arm.*/arm/g' -e 's/m68k.*/m68k/' -e 's/ppc/powerpc/g'} +TARGET_ARCH=${shell $(CC) -dumpmachine | sed -e s'/-.*//' -e 's/i.86/i386/' -e 's/sparc.*/sparc/' \ + -e 's/arm.*/arm/g' -e 's/m68k.*/m68k/' -e 's/ppc/powerpc/g'} -# use '-Os' optimization if available, else use -O2, allow Config to override +# Some nice architecture specific optimizations ifndef OPTIMIZATION +# use '-Os' optimization if available, else use -O2, allow Config to override OPTIMIZATION = ${shell if $(CC) -Os -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \ then echo "-Os"; else echo "-O2" ; fi} +ifeq ($(strip $(TARGET_ARCH)),arm) + OPTIMIZATION+=-fstrict-aliasing +endif +ifeq ($(strip $(TARGET_ARCH)),i386) + OPTIMIZATION+=-march=i386 + OPTIMIZATION += ${shell if $(CC) -mpreferred-stack-boundary=2 -S -o /dev/null -xc \ + /dev/null >/dev/null 2>&1; then echo "-mpreferred-stack-boundary=2"; fi} + OPTIMIZATION += ${shell if $(CC) -malign-functions=0 -malign-jumps=0 -malign-loops=0 \ + -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo \ + "-malign-functions=0 -malign-jumps=0 -malign-loops=0"; fi} + CPUFLAGS+=-pipe +else + CPUFLAGS+=-pipe +endif endif ARFLAGS=r @@ -75,7 +92,7 @@ ifeq ($(strip $(HAVE_SHARED)),true) ifeq ($(strip $(BUILD_UCLIBC_LDSO)),true) LDSO=$(TOPDIR)lib/$(UCLIBC_LDSO) DYNAMIC_LINKER=$(SHARED_LIB_LOADER_PATH)/$(UCLIBC_LDSO) - BUILD_DYNAMIC_LINKER=$(shell cd $(TOPDIR)lib; pwd)/$(UCLIBC_LDSO) + BUILD_DYNAMIC_LINKER=${shell cd $(TOPDIR)lib && pwd}/$(UCLIBC_LDSO) else LDSO=$(SYSTEM_LDSO) DYNAMIC_LINKER=/lib/$(notdir $(SYSTEM_LDSO))