X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=blobdiff_plain;f=rules.mk;h=47ba928de59e0fa366feca8d9fefca38f47dd3ac;hp=48be224858783088bb9339bf5284a0ac1dccb1e1;hb=5234db2cfcaeadd37b0bda78a9941328bac683b5;hpb=d97a18478000cde6d2130dbbfa8542da73ab1b28 diff --git a/rules.mk b/rules.mk index 48be224858..47ba928de5 100644 --- a/rules.mk +++ b/rules.mk @@ -54,29 +54,15 @@ endif HOST_FPIC:=-fPIC -ARCH_SUFFIX:= +ARCH_SUFFIX:=$(call qstrip,$(CONFIG_CPU_TYPE)) GCC_ARCH:= +ifneq ($(ARCH_SUFFIX),) + ARCH_SUFFIX:=_$(ARCH_SUFFIX) +endif 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 ($(filter -mips%r2,$(TARGET_OPTIMIZATION)),) - ARCH_SUFFIX:=_r2 -endif -ifneq ($(filter -mdsp,$(TARGET_OPTIMIZATION)),) - ARCH_SUFFIX:=$(ARCH_SUFFIX)_dsp -endif -ifneq ($(filter -mdspr2,$(TARGET_OPTIMIZATION)),) - ARCH_SUFFIX:=$(ARCH_SUFFIX)_dspr2 -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 @@ -87,7 +73,7 @@ ifdef CONFIG_MIPS64_ABI endif DL_DIR:=$(if $(call qstrip,$(CONFIG_DOWNLOAD_FOLDER)),$(call qstrip,$(CONFIG_DOWNLOAD_FOLDER)),$(TOPDIR)/dl) -BIN_DIR:=$(TOPDIR)/bin/$(BOARD) +BIN_DIR:=$(if $(call qstrip,$(CONFIG_BINARY_FOLDER)),$(call qstrip,$(CONFIG_BINARY_FOLDER)),$(TOPDIR)/bin/$(BOARD)) INCLUDE_DIR:=$(TOPDIR)/include SCRIPT_DIR:=$(TOPDIR)/scripts BUILD_DIR_BASE:=$(TOPDIR)/build_dir @@ -130,7 +116,8 @@ PKG_INFO_DIR := $(STAGING_DIR)/pkginfo TARGET_PATH:=$(STAGING_DIR_HOST)/bin:$(subst $(space),:,$(filter-out .,$(filter-out ./,$(subst :,$(space),$(PATH))))) TARGET_CFLAGS:=$(TARGET_OPTIMIZATION)$(if $(CONFIG_DEBUG), -g3) $(EXTRA_OPTIMIZATION) TARGET_CXXFLAGS = $(TARGET_CFLAGS) -TARGET_ASFLAGS = $(TARGET_CFLAGS) $(TARGET_ASFLAGS_OVERRIDE) +TARGET_ASFLAGS_DEFAULT = $(TARGET_CFLAGS) +TARGET_ASFLAGS = $(TARGET_ASFLAGS_DEFAULT) 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),) @@ -181,9 +168,16 @@ TARGET_PATH_PKG:=$(STAGING_DIR)/host/bin:$(TARGET_PATH) ifeq ($(CONFIG_SOFT_FLOAT),y) SOFT_FLOAT_CONFIG_OPTION:=--with-float=soft - TARGET_CFLAGS+= -msoft-float + ifeq ($(CONFIG_arm),y) + TARGET_CFLAGS+= -mfloat-abi=soft + else + TARGET_CFLAGS+= -msoft-float + endif else SOFT_FLOAT_CONFIG_OPTION:= + ifeq ($(CONFIG_arm),y) + TARGET_CFLAGS+= -mfloat-abi=hard + endif endif export PATH:=$(TARGET_PATH)