diff --git a/Makefile.in b/Makefile.in index 448f0387..9962af91 100755 --- a/Makefile.in +++ b/Makefile.in @@ -16,7 +16,7 @@ glibc_url := $(GNU_MIRROR)/glibc/glibc-$(glibc_version).tar.gz newlib_url := ftp://sourceware.org/pub/newlib/newlib-$(newlib_version).tar.gz XLEN ?= @XLEN@ -SYSROOT := $(INSTALL_DIR)/sysroot$(XLEN) +SYSROOT := $(INSTALL_DIR)/sysroot SHELL := /bin/sh AWK := @GAWK@ @@ -24,11 +24,32 @@ SED := @GSED@ PATH := $(INSTALL_DIR)/bin:$(builddir)/scripts/wrapper:$(PATH) export PATH AWK SED +MULTILIB_FLAGS := @multilib_flags@ +ATOMIC_CFLAGS := @atomic_cflags@ +FLOAT_CFLAGS := @float_cflags@ +FLOAT_ASFLAGS := @float_asflags@ +GLIBC_CONFIGURE_FLAGS := @glibc_configure_flags@ + +CFLAGS_FOR_TARGET := $(CFLAGS_FOR_TARGET_EXTRA) $(ATOMIC_CFLAGS) $(FLOAT_CFLAGS) +ASFLAGS_FOR_TARGET := $(ASFLAGS_FOR_TARGET_EXTRA) $(FLOAT_ASFLAGS) + all: @default_target@ newlib: stamps/build-gcc-newlib +ifneq ($(findstring --disable-multilib,$(MULTILIB_FLAGS)),) linux: stamps/build-gcc-linux-stage2 +else +linux: + $(MAKE) stamps/build-gcc-linux-stage1 XLEN= + $(MAKE) stamps/build-glibc-linux XLEN= + $(MAKE) stamps/build-glibc-linux32 XLEN=32 \ + CC="riscv-unknown-linux-gnu-gcc -m32" \ + READELF=riscv-unknown-linux-gnu-readelf \ + CFLAGS_FOR_TARGET_EXTRA="-m32" \ + ASFLAGS_FOR_TARGET_EXTRA="-m32" + $(MAKE) stamps/build-gcc-linux-stage2 XLEN= +endif $(addprefix src/original-,$(PACKAGES)): mkdir -p src @@ -58,7 +79,7 @@ stamps/build-binutils-linux: src/binutils --target=riscv$(XLEN)-unknown-linux-gnu \ --prefix=$(INSTALL_DIR) \ --with-sysroot=$(SYSROOT) \ - --disable-multilib \ + $(MULTILIB_FLAGS) \ --disable-nls $(MAKE) -C $(notdir $@) $(MAKE) -C $(notdir $@) install @@ -73,7 +94,7 @@ stamps/build-glibc-linux-headers: src/glibc rm -rf $@ $(notdir $@) mkdir $(notdir $@) mkdir -p $(SYSROOT)/usr/lib $(SYSROOT)/lib - cd $(notdir $@) && CC= $(CURDIR)/$