use ext-toolchain.sh to integrate external toolchains Use ext-toolchain.sh to wrap...
[openwrt/staging/chunkeey.git] / rules.mk
index 7be2d6195d99afc1ad96b1ecc39972dbd1b8ad17..6c7514f2a7539e9bc65480dc2a7a5391d6127c72 100644 (file)
--- a/rules.mk
+++ b/rules.mk
@@ -113,8 +113,10 @@ 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)
 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)
+LIBGCC_A=$(realpath $(wildcard $(dir $(LIBGCC_S_PATH))/gcc/*/*/libgcc.a))
 else
 else
-LIBGCC_S=$(if $(wildcard $(TOOLCHAIN_DIR)/lib/libgcc_s.so),-L$(TOOLCHAIN_DIR)/lib -lgcc_s,$(wildcard $(TOOLCHAIN_DIR)/lib/gcc/*/*/libgcc.a))
+LIBGCC_A=$(wildcard $(TOOLCHAIN_DIR)/lib/gcc/*/*/libgcc.a)
+LIBGCC_S=$(if $(wildcard $(TOOLCHAIN_DIR)/lib/libgcc_s.so),-L$(TOOLCHAIN_DIR)/lib -lgcc_s,$(LIBGCC_A))
 endif
 ifdef CONFIG_USE_UCLIBC
 LIBRPC=-lrpc
 endif
 ifdef CONFIG_USE_UCLIBC
 LIBRPC=-lrpc
@@ -124,6 +126,7 @@ LIBRPC_DEPENDS=+USE_UCLIBC:librpc
 ifndef DUMP
   ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
     -include $(TOOLCHAIN_DIR)/info.mk
 ifndef DUMP
   ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
     -include $(TOOLCHAIN_DIR)/info.mk
+    export GCC_HONOUR_COPTS:=0
     TARGET_CROSS:=$(if $(TARGET_CROSS),$(TARGET_CROSS),$(OPTIMIZE_FOR_CPU)-openwrt-linux$(if $(TARGET_SUFFIX),-$(TARGET_SUFFIX))-)
     TARGET_CFLAGS+= -fhonour-copts
     TARGET_CPPFLAGS+= -I$(TOOLCHAIN_DIR)/usr/include -I$(TOOLCHAIN_DIR)/include
     TARGET_CROSS:=$(if $(TARGET_CROSS),$(TARGET_CROSS),$(OPTIMIZE_FOR_CPU)-openwrt-linux$(if $(TARGET_SUFFIX),-$(TARGET_SUFFIX))-)
     TARGET_CFLAGS+= -fhonour-copts
     TARGET_CPPFLAGS+= -I$(TOOLCHAIN_DIR)/usr/include -I$(TOOLCHAIN_DIR)/include
@@ -145,7 +148,7 @@ ifndef DUMP
       ifneq ($(TOOLCHAIN_LIB_DIRS),)
         TARGET_LDFLAGS+= $(patsubst %,-L%,$(TOOLCHAIN_LIB_DIRS))
       endif
       ifneq ($(TOOLCHAIN_LIB_DIRS),)
         TARGET_LDFLAGS+= $(patsubst %,-L%,$(TOOLCHAIN_LIB_DIRS))
       endif
-      TOOLCHAIN_DIR:=$(TOOLCHAIN_ROOT_DIR)
+      TARGET_PATH:=$(TOOLCHAIN_DIR)/bin:$(TARGET_PATH)
     endif
   endif
 endif
     endif
   endif
 endif
@@ -160,7 +163,6 @@ endif
 
 export PATH:=$(TARGET_PATH)
 export STAGING_DIR
 
 export PATH:=$(TARGET_PATH)
 export STAGING_DIR
-export GCC_HONOUR_COPTS:=0
 export SH_FUNC:=. $(INCLUDE_DIR)/shell.sh;
 
 PKG_CONFIG:=$(STAGING_DIR_HOST)/bin/pkg-config
 export SH_FUNC:=. $(INCLUDE_DIR)/shell.sh;
 
 PKG_CONFIG:=$(STAGING_DIR_HOST)/bin/pkg-config
@@ -168,6 +170,7 @@ PKG_CONFIG:=$(STAGING_DIR_HOST)/bin/pkg-config
 export PKG_CONFIG
 
 HOSTCC:=gcc
 export PKG_CONFIG
 
 HOSTCC:=gcc
+HOSTCC_NOCACHE:=$(HOSTCC)
 HOST_CFLAGS:=-O2 -I$(STAGING_DIR_HOST)/include
 HOST_LDFLAGS:=-L$(STAGING_DIR_HOST)/lib
 
 HOST_CFLAGS:=-O2 -I$(STAGING_DIR_HOST)/include
 HOST_LDFLAGS:=-L$(STAGING_DIR_HOST)/lib
 
@@ -186,6 +189,7 @@ INSTALL_CONF:=install -m0600
 ifneq ($(CONFIG_CCACHE),)
   TARGET_CC:= ccache $(TARGET_CC)
   TARGET_CXX:= ccache $(TARGET_CXX)
 ifneq ($(CONFIG_CCACHE),)
   TARGET_CC:= ccache $(TARGET_CC)
   TARGET_CXX:= ccache $(TARGET_CXX)
+  HOSTCC:= ccache $(HOSTCC)
 endif
 
 TARGET_CONFIGURE_OPTS = \
 endif
 
 TARGET_CONFIGURE_OPTS = \
@@ -239,6 +243,10 @@ else
   TAR_OPTIONS:=-xf -
 endif
 
   TAR_OPTIONS:=-xf -
 endif
 
+ifeq ($(CONFIG_BUILD_LOG),y)
+  BUILD_LOG:=1
+endif
+
 define shvar
 V_$(subst .,_,$(subst -,_,$(subst /,_,$(1))))
 endef
 define shvar
 V_$(subst .,_,$(subst -,_,$(subst /,_,$(1))))
 endef