X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=rules.mk;h=47ba928de59e0fa366feca8d9fefca38f47dd3ac;hp=6a283bd64762daee1261d2f0ebec2cba3ea311cc;hb=4c1dabb81e4b2d9299aa535b3df198c483285777;hpb=e3a28f415b69af5d99170e3ac7265afc9de8c668 diff --git a/rules.mk b/rules.mk index 6a283bd647..47ba928de5 100644 --- a/rules.mk +++ b/rules.mk @@ -14,7 +14,7 @@ endif include $(TOPDIR)/include/debug.mk include $(TOPDIR)/include/verbose.mk -TMP_DIR:=$(TOPDIR)/tmp +export TMP_DIR:=$(TOPDIR)/tmp GREP_OPTIONS= export GREP_OPTIONS @@ -38,6 +38,7 @@ ARCH:=$(subst i486,i386,$(subst i586,i386,$(subst i686,i386,$(call qstrip,$(CONF ARCH_PACKAGES:=$(call qstrip,$(CONFIG_TARGET_ARCH_PACKAGES)) BOARD:=$(call qstrip,$(CONFIG_TARGET_BOARD)) TARGET_OPTIMIZATION:=$(call qstrip,$(CONFIG_TARGET_OPTIMIZATION)) +export EXTRA_OPTIMIZATION:=$(call qstrip,$(CONFIG_EXTRA_OPTIMIZATION)) TARGET_SUFFIX=$(call qstrip,$(CONFIG_TARGET_SUFFIX)) BUILD_SUFFIX:=$(call qstrip,$(CONFIG_BUILD_SUFFIX)) SUBDIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR}) @@ -53,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 @@ -86,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 @@ -127,9 +114,10 @@ BUILD_LOG_DIR:=$(TOPDIR)/logs 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) +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),) @@ -180,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) @@ -207,6 +202,7 @@ KPATCH:=$(SCRIPT_DIR)/patch-kernel.sh SED:=$(STAGING_DIR_HOST)/bin/sed -i -e CP:=cp -fpR LN:=ln -sf +XARGS:=xargs -r INSTALL_BIN:=install -m0755 INSTALL_DIR:=install -d -m0755