aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/gcc/minimal/Makefile
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-07-20 20:57:21 +0000
committerFelix Fietkau <nbd@openwrt.org>2010-07-20 20:57:21 +0000
commit5149ed151d7ce6f4bdb14a7ad5611777afff1091 (patch)
tree3b9f21234bfd8744d1204b1f2d06b607c001a0e3 /toolchain/gcc/minimal/Makefile
parentebeaea35fda9f26a12beb7ec9101dd7624356d8c (diff)
downloadupstream-5149ed151d7ce6f4bdb14a7ad5611777afff1091.tar.gz
upstream-5149ed151d7ce6f4bdb14a7ad5611777afff1091.tar.bz2
upstream-5149ed151d7ce6f4bdb14a7ad5611777afff1091.zip
gcc: split up the build process into three distinct stages (minimal, initial, final), to clean up the dependency handling nastiness and to improve support for rebuilding parts of the toolchain
SVN-Revision: 22319
Diffstat (limited to 'toolchain/gcc/minimal/Makefile')
-rw-r--r--toolchain/gcc/minimal/Makefile46
1 files changed, 46 insertions, 0 deletions
diff --git a/toolchain/gcc/minimal/Makefile b/toolchain/gcc/minimal/Makefile
new file mode 100644
index 0000000000..9b978dedac
--- /dev/null
+++ b/toolchain/gcc/minimal/Makefile
@@ -0,0 +1,46 @@
+GCC_VARIANT:=minimal
+
+include ../common.mk
+
+GCC_CONFIGURE += \
+ --with-newlib \
+ --without-headers \
+ --enable-languages=c \
+ --disable-libssp \
+ --disable-shared \
+ --disable-threads
+
+define Host/SetToolchainInfo
+ $(SED) 's,TARGET_CROSS=.*,TARGET_CROSS=$(REAL_GNU_TARGET_NAME)-,' $(TOOLCHAIN_DIR)/info.mk
+ $(SED) 's,GCC_VERSION=.*,GCC_VERSION=$(GCC_VERSION),' $(TOOLCHAIN_DIR)/info.mk
+endef
+
+define Host/Prepare
+ $(call Host/SetToolchainInfo)
+ $(call Host/Prepare/Default)
+ ln -snf $(GCC_DIR) $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)
+ $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(HOST_BUILD_DIR)/
+ $(SED) 's,^MULTILIB_OSDIRNAMES,# MULTILIB_OSDIRNAMES,' $(HOST_BUILD_DIR)/gcc/config/*/t-*
+ $(SED) 's,\(version_string.. = "[0-9\.]*\).*\(";\),\1 (OpenWrt-2.0)\2,' $(HOST_BUILD_DIR)/gcc/version.c
+ $(SED) 's,\(bug_report_url.. = "\).*\(";\),\1<URL:$(BUGURL)>\2,' $(HOST_BUILD_DIR)/gcc/version.c
+ $(SED) 's,http://gcc.gnu.org/bugs.html,$(BUGURL),' $(HOST_BUILD_DIR)/gcc/configure
+ #(cd $(HOST_BUILD_DIR)/libstdc++-v3; autoconf;);
+ $(SED) 's,gcc_no_link=yes,gcc_no_link=no,' $(HOST_BUILD_DIR)/libstdc++-v3/configure
+ mkdir -p $(GCC_BUILD_DIR)
+endef
+
+define Host/Compile
+ $(GCC_MAKE) -C $(GCC_BUILD_DIR) all-gcc
+endef
+
+define Host/Install
+ $(GCC_MAKE) -C $(GCC_BUILD_DIR) install-gcc
+endef
+
+define Host/Clean
+ rm -rf \
+ $(HOST_BUILD_DIR) \
+ $(GCC_BUILD_DIR)
+endef
+
+$(eval $(call HostBuild))