gcc: split up the build process into three distinct stages (minimal, initial, final...
[openwrt.git] / toolchain / gcc / minimal / Makefile
1 GCC_VARIANT:=minimal
2
3 include ../common.mk
4
5 GCC_CONFIGURE += \
6         --with-newlib \
7         --without-headers \
8         --enable-languages=c \
9         --disable-libssp \
10         --disable-shared \
11         --disable-threads
12
13 define Host/SetToolchainInfo
14         $(SED) 's,TARGET_CROSS=.*,TARGET_CROSS=$(REAL_GNU_TARGET_NAME)-,' $(TOOLCHAIN_DIR)/info.mk
15         $(SED) 's,GCC_VERSION=.*,GCC_VERSION=$(GCC_VERSION),' $(TOOLCHAIN_DIR)/info.mk
16 endef
17
18 define Host/Prepare
19         $(call Host/SetToolchainInfo)
20         $(call Host/Prepare/Default)
21         ln -snf $(GCC_DIR) $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)
22         $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(HOST_BUILD_DIR)/
23         $(SED) 's,^MULTILIB_OSDIRNAMES,# MULTILIB_OSDIRNAMES,' $(HOST_BUILD_DIR)/gcc/config/*/t-*
24         $(SED) 's,\(version_string.. = "[0-9\.]*\).*\(";\),\1 (OpenWrt-2.0)\2,' $(HOST_BUILD_DIR)/gcc/version.c
25         $(SED) 's,\(bug_report_url.. = "\).*\(";\),\1<URL:$(BUGURL)>\2,' $(HOST_BUILD_DIR)/gcc/version.c
26         $(SED) 's,http://gcc.gnu.org/bugs.html,$(BUGURL),' $(HOST_BUILD_DIR)/gcc/configure
27         #(cd $(HOST_BUILD_DIR)/libstdc++-v3; autoconf;);
28         $(SED) 's,gcc_no_link=yes,gcc_no_link=no,' $(HOST_BUILD_DIR)/libstdc++-v3/configure
29         mkdir -p $(GCC_BUILD_DIR)
30 endef
31
32 define Host/Compile
33         $(GCC_MAKE) -C $(GCC_BUILD_DIR) all-gcc
34 endef
35
36 define Host/Install
37         $(GCC_MAKE) -C $(GCC_BUILD_DIR) install-gcc
38 endef
39
40 define Host/Clean
41         rm -rf \
42                 $(HOST_BUILD_DIR) \
43                 $(GCC_BUILD_DIR)
44 endef
45
46 $(eval $(call HostBuild))