From 344914c955b9df3b0ab453c2959260230544f7af Mon Sep 17 00:00:00 2001 From: nbd Date: Tue, 20 Jul 2010 20:57:21 +0000 Subject: 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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22319 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- toolchain/gcc/initial/Makefile | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 toolchain/gcc/initial/Makefile (limited to 'toolchain/gcc/initial') diff --git a/toolchain/gcc/initial/Makefile b/toolchain/gcc/initial/Makefile new file mode 100644 index 000000000..8cc6b3be1 --- /dev/null +++ b/toolchain/gcc/initial/Makefile @@ -0,0 +1,32 @@ +GCC_VARIANT:=initial + +include ../common.mk + +GCC_CONFIGURE += \ + --with-newlib \ + --with-sysroot=$(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev \ + --enable-languages=c \ + --disable-shared \ + --disable-threads \ + +define Host/Compile + $(CP) $(BUILD_DIR_TOOLCHAIN)/linux-dev/* $(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev/ + $(GCC_MAKE) -C $(GCC_BUILD_DIR) \ + all-build-libiberty \ + all-gcc \ + $(if $(GCC_BUILD_TARGET_LIBGCC),all-target-libgcc) +endef + +define Host/Install + $(GCC_MAKE) -C $(GCC_BUILD_DIR) \ + install-gcc \ + $(if $(GCC_BUILD_TARGET_LIBGCC),install-target-libgcc) + + # XXX: glibc insists on linking against libgcc_eh + ( cd $(TOOLCHAIN_DIR)/usr/lib/gcc/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION) ; \ + [ -e libgcc_eh.a ] || ln -sf libgcc.a libgcc_eh.a ; \ + cp libgcc.a libgcc_initial.a; \ + ) +endef + +$(eval $(call HostBuild)) -- cgit v1.2.3