toolchain: allow choosing the MIPS64 user-land ABI
[openwrt/svn-archive/archive.git] / rules.mk
index ae7a8407e37564b12aa0186be13de78c9c3b8c8c..2333f2aaf5d1acacedc603a371178bb60a0e82a1 100644 (file)
--- a/rules.mk
+++ b/rules.mk
@@ -63,12 +63,21 @@ endif
 ifneq ($(filter -mips%r2,$(TARGET_OPTIMIZATION)),)
   ARCH_SUFFIX:=_r2
 endif
+ifdef CONFIG_USE_MIPS16
+   TARGET_OPTIMIZATION+= -minterlink-mips16 -mips16
+endif
 ifneq ($(findstring -mips16,$(TARGET_OPTIMIZATION)),)
   TARGET_ASFLAGS_OVERRIDE:=-mno-mips16
+  ARCH_SUFFIX:= $(ARCH_SUFFIX)_m16
 endif
 ifdef CONFIG_HAS_SPE_FPU
   TARGET_SUFFIX:=$(TARGET_SUFFIX)spe
 endif
+ifdef CONFIG_MIPS64_ABI
+  ifneq ($(CONFIG_MIPS64_ABI_O32),y)
+     ARCH_SUFFIX:=$(ARCH_SUFFIX)_$(subst ",,$(CONFIG_MIPS64_ABI))
+  endif
+endif
 
 DL_DIR:=$(if $(call qstrip,$(CONFIG_DOWNLOAD_FOLDER)),$(call qstrip,$(CONFIG_DOWNLOAD_FOLDER)),$(TOPDIR)/dl)
 BIN_DIR:=$(TOPDIR)/bin/$(BOARD)
@@ -128,7 +137,7 @@ endif
 LIBRPC=-lrpc
 LIBRPC_DEPENDS=+librpc
 
-ifneq ($(findstring $(ARCH) , mips64 x86_64 ),)
+ifeq ($(CONFIG_ARCH_64BIT),y)
   LIB_SUFFIX:=64
 endif