X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Fflorian.git;a=blobdiff_plain;f=rules.mk;h=7be2d6195d99afc1ad96b1ecc39972dbd1b8ad17;hp=09b4f5447a9d6e56ab5ef3022375e6b49c4c5708;hb=254812ba0aa83e32623094027a63a908fbf45a5c;hpb=dbf8d9c516cc7c2826cc7b77cf3bed6edcc4f308 diff --git a/rules.mk b/rules.mk index 09b4f5447a..7be2d6195d 100644 --- a/rules.mk +++ b/rules.mk @@ -54,20 +54,17 @@ endif HOST_FPIC:=-fPIC ARCH_SUFFIX:= +GCC_ARCH:= + +ifneq ($(filter -march=armv%,$(TARGET_OPTIMIZATION)),) + ARCH_SUFFIX:=_$(patsubst -march=arm%,%,$(filter -march=armv%,$(TARGET_OPTIMIZATION))) + GCC_ARCH:=$(patsubst -march=%,%,$(filter -march=armv%,$(TARGET_OPTIMIZATION))) +endif ifneq ($(findstring -mips32r2,$(TARGET_OPTIMIZATION)),) ARCH_SUFFIX:=_r2 endif -ifneq ($(findstring -march=armv4,$(TARGET_OPTIMIZATION)),) - ARCH_SUFFIX:=_v4 -endif -ifneq ($(findstring -march=armv4t,$(TARGET_OPTIMIZATION)),) - ARCH_SUFFIX:=_v4t -endif -ifneq ($(findstring -march=armv5t,$(TARGET_OPTIMIZATION)),) - ARCH_SUFFIX:=_v5t -endif -ifneq ($(findstring -march=armv5te,$(TARGET_OPTIMIZATION)),) - ARCH_SUFFIX:=_v5te +ifdef CONFIG_HAS_SPE_FPU + TARGET_SUFFIX:=$(TARGET_SUFFIX)spe endif DL_DIR:=$(if $(call qstrip,$(CONFIG_DOWNLOAD_FOLDER)),$(call qstrip,$(CONFIG_DOWNLOAD_FOLDER)),$(TOPDIR)/dl) @@ -83,7 +80,7 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) LIBCV:=$(call qstrip,$(CONFIG_LIBC_VERSION)) REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-openwrt-linux$(if $(TARGET_SUFFIX),-$(TARGET_SUFFIX)) GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-openwrt-linux - DIR_SUFFIX:=_$(LIBC)-$(LIBCV)$(if $(CONFIG_EABI_SUPPORT),_eabi) + DIR_SUFFIX:=_$(LIBC)-$(LIBCV)$(if $(CONFIG_arm),_eabi) BUILD_DIR:=$(BUILD_DIR_BASE)/target-$(ARCH)$(ARCH_SUFFIX)$(DIR_SUFFIX)$(if $(BUILD_SUFFIX),_$(BUILD_SUFFIX)) STAGING_DIR:=$(TOPDIR)/staging_dir/target-$(ARCH)$(ARCH_SUFFIX)$(DIR_SUFFIX) BUILD_DIR_TOOLCHAIN:=$(BUILD_DIR_BASE)/toolchain-$(ARCH)$(ARCH_SUFFIX)_gcc-$(GCCV)$(DIR_SUFFIX) @@ -113,7 +110,16 @@ TARGET_PATH:=$(STAGING_DIR_HOST)/bin:$(PATH) TARGET_CFLAGS:=$(TARGET_OPTIMIZATION)$(if $(CONFIG_DEBUG), -g3) TARGET_CPPFLAGS:=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include TARGET_LDFLAGS:=-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib +ifneq ($(CONFIG_EXTERNAL_TOOLCHAIN),) +LIBGCC_S_PATH=$(realpath $(wildcard $(call qstrip,$(CONFIG_LIBGCC_ROOT_DIR))/$(call qstrip,$(CONFIG_LIBGCC_FILE_SPEC)))) +LIBGCC_S=$(if $(LIBGCC_S_PATH),-L$(dir $(LIBGCC_S_PATH)) -lgcc_s) +else LIBGCC_S=$(if $(wildcard $(TOOLCHAIN_DIR)/lib/libgcc_s.so),-L$(TOOLCHAIN_DIR)/lib -lgcc_s,$(wildcard $(TOOLCHAIN_DIR)/lib/gcc/*/*/libgcc.a)) +endif +ifdef CONFIG_USE_UCLIBC +LIBRPC=-lrpc +endif +LIBRPC_DEPENDS=+USE_UCLIBC:librpc ifndef DUMP ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) @@ -139,6 +145,7 @@ ifndef DUMP ifneq ($(TOOLCHAIN_LIB_DIRS),) TARGET_LDFLAGS+= $(patsubst %,-L%,$(TOOLCHAIN_LIB_DIRS)) endif + TOOLCHAIN_DIR:=$(TOOLCHAIN_ROOT_DIR) endif endif endif @@ -177,8 +184,6 @@ INSTALL_DATA:=install -m0644 INSTALL_CONF:=install -m0600 ifneq ($(CONFIG_CCACHE),) - # FIXME: move this variable to a better location - export CCACHE_DIR=$(STAGING_DIR)/ccache TARGET_CC:= ccache $(TARGET_CC) TARGET_CXX:= ccache $(TARGET_CXX) endif @@ -212,7 +217,7 @@ else RSTRIP:= \ NM="$(TARGET_CROSS)nm" \ STRIP="$(STRIP)" \ - STRIP_KMOD="$(TARGET_CROSS)strip --strip-unneeded --remove-section=.comment --remove-section=.pdr --remove-section=.mdebug.abi32" \ + STRIP_KMOD="$(TARGET_CROSS)strip --strip-unneeded -R .comment -R .pdr -R .mdebug.abi32 -R .note.gnu.build-id -R .gnu.attributes -R .reginfo -x" \ $(SCRIPT_DIR)/rstrip.sh endif @@ -228,12 +233,6 @@ else DISABLE_IPV6:=--disable-ipv6 endif -ifeq ($(CONFIG_LARGEFILE),y) - DISABLE_LARGEFILE:= -else - DISABLE_LARGEFILE:=--disable-largefile -endif - ifeq ($(CONFIG_TAR_VERBOSITY),y) TAR_OPTIONS:=-xvf - else