diff options
author | Andrew Waterman <andrew@sifive.com> | 2017-05-16 19:40:56 -0700 |
---|---|---|
committer | Andrew Waterman <aswaterman@gmail.com> | 2017-05-16 20:06:03 -0700 |
commit | 87fdf4305dc72e383d0334b66d28510179f1ad3c (patch) | |
tree | 04bfbd1605e3fcfd878dfa37f23d73bac9dfb52b | |
parent | a71fc539850f8dacf232fc580743b946c376014b (diff) | |
download | riscv-gnu-toolchain-87fdf4305dc72e383d0334b66d28510179f1ad3c.zip riscv-gnu-toolchain-87fdf4305dc72e383d0334b66d28510179f1ad3c.tar.gz riscv-gnu-toolchain-87fdf4305dc72e383d0334b66d28510179f1ad3c.tar.bz2 |
Factor out tuples in Makefile
This makes it easier to use this repo to build other toolchains,
as I occasionally want to do.
-rw-r--r-- | Makefile.in | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/Makefile.in b/Makefile.in index 312761f..216cbab 100644 --- a/Makefile.in +++ b/Makefile.in @@ -44,13 +44,17 @@ ifeq ($(MULTILIB_NAMES),) MULTILIB_NAMES := $(XLEN) endif +make_tuple = riscv$(1)-unknown-$(2) +LINUX_TUPLE := $(call make_tuple,$(XLEN),linux-gnu) +NEWLIB_TUPLE := $(call make_tuple,$(XLEN),elf) + CFLAGS_FOR_TARGET := $(CFLAGS_FOR_TARGET_EXTRA) @cmodel@ ASFLAGS_FOR_TARGET := $(ASFLAGS_FOR_TARGET_EXTRA) @cmodel@ GLIBC_TARGET_FLAGS := $(GLIBC_TARGET_FLAGS_EXTRA) -GLIBC_CC_FOR_TARGET ?= riscv$(XLEN)-unknown-linux-gnu-gcc -GLIBC_CXX_FOR_TARGET ?= riscv$(XLEN)-unknown-linux-gnu-g++ -NEWLIB_CC_FOR_TARGET ?= riscv$(XLEN)-unknown-elf-gcc -NEWLIB_CXX_FOR_TARGET ?= riscv$(XLEN)-unknown-elf-g++ +GLIBC_CC_FOR_TARGET ?= $(LINUX_TUPLE)-gcc +GLIBC_CXX_FOR_TARGET ?= $(LINUX_TUPLE)-g++ +NEWLIB_CC_FOR_TARGET ?= $(NEWLIB_TUPLE)-gcc +NEWLIB_CXX_FOR_TARGET ?= $(NEWLIB_TUPLE)-g++ CONFIGURE_HOST = @configure_host@ @@ -84,7 +88,7 @@ stamps/build-binutils-linux: $(srcdir)/riscv-binutils-gdb rm -rf $@ $(notdir $@) mkdir $(notdir $@) cd $(notdir $@) && $</configure \ - --target=riscv$(XLEN)-unknown-linux-gnu \ + --target=$(LINUX_TUPLE) \ $(CONFIGURE_HOST) \ --prefix=$(INSTALL_DIR) \ --with-sysroot=$(SYSROOT) \ @@ -104,7 +108,7 @@ stamps/build-glibc-linux-headers: $(srcdir)/riscv-glibc stamps/build-gcc-linux-s rm -rf $@ $(notdir $@) mkdir $(notdir $@) cd $(notdir $@) && CC="$(GLIBC_CC_FOR_TARGET)" $</configure \ - --host=riscv$(XLEN)-unknown-linux-gnu \ + --host=$(LINUX_TUPLE) \ --prefix=$(SYSROOT)/usr \ --enable-shared \ --with-headers=$(srcdir)/linux-headers/include \ @@ -127,7 +131,7 @@ stamps/build-glibc-linux-%: $(srcdir)/riscv-glibc stamps/build-gcc-linux-stage1 CFLAGS="$(CFLAGS_FOR_TARGET) -g -O2 $($@_CFLAGS)" \ ASFLAGS="$(ASFLAGS_FOR_TARGET) $($@_CFLAGS)" \ $</configure \ - --host=riscv$($@_XLEN)-unknown-linux-gnu \ + --host=$(call make_tuple,$($@_XLEN),linux-gnu) \ --prefix=/usr \ --disable-werror \ --enable-shared \ @@ -146,7 +150,7 @@ stamps/build-gcc-linux-stage1: $(srcdir)/riscv-gcc stamps/build-binutils-linux \ rm -rf $@ $(notdir $@) mkdir $(notdir $@) cd $(notdir $@) && $</configure \ - --target=riscv$(XLEN)-unknown-linux-gnu \ + --target=$(LINUX_TUPLE) \ $(CONFIGURE_HOST) \ --prefix=$(INSTALL_DIR) \ --with-sysroot=$(SYSROOT) \ @@ -179,7 +183,7 @@ stamps/build-gcc-linux-stage2: $(srcdir)/riscv-gcc $(addprefix stamps/build-glib rm -rf $@ $(notdir $@) mkdir $(notdir $@) cd $(notdir $@) && $</configure \ - --target=riscv$(XLEN)-unknown-linux-gnu \ + --target=$(LINUX_TUPLE) \ $(CONFIGURE_HOST) \ --prefix=$(INSTALL_DIR) \ --with-sysroot=$(SYSROOT) \ @@ -198,14 +202,14 @@ stamps/build-gcc-linux-stage2: $(srcdir)/riscv-gcc $(addprefix stamps/build-glib $(WITH_ARCH) $(MAKE) -C $(notdir $@) $(MAKE) -C $(notdir $@) install - cp -a $(INSTALL_DIR)/riscv$(XLEN)-unknown-linux-gnu/lib* $(SYSROOT) + cp -a $(INSTALL_DIR)/$(LINUX_TUPLE)/lib* $(SYSROOT) mkdir -p $(dir $@) && touch $@ stamps/build-binutils-newlib: $(srcdir)/riscv-binutils-gdb rm -rf $@ $(notdir $@) mkdir $(notdir $@) cd $(notdir $@) && $</configure \ - --target=riscv$(XLEN)-unknown-elf \ + --target=$(NEWLIB_TUPLE) \ $(CONFIGURE_HOST) \ --prefix=$(INSTALL_DIR) \ --disable-werror @@ -218,7 +222,7 @@ stamps/build-gcc-newlib-stage1: $(srcdir)/riscv-gcc stamps/build-binutils-newlib rm -rf $@ $(notdir $@) mkdir $(notdir $@) cd $(notdir $@) && $</configure \ - --target=riscv$(XLEN)-unknown-elf \ + --target=$(NEWLIB_TUPLE) \ $(CONFIGURE_HOST) \ --prefix=$(INSTALL_DIR) \ --disable-shared \ @@ -245,7 +249,7 @@ stamps/build-newlib: $(srcdir)/riscv-newlib stamps/build-gcc-newlib-stage1 rm -rf $@ $(notdir $@) mkdir $(notdir $@) cd $(notdir $@) && $</configure \ - --target=riscv$(XLEN)-unknown-elf \ + --target=$(NEWLIB_TUPLE) \ $(CONFIGURE_HOST) \ --prefix=$(INSTALL_DIR) \ --enable-newlib-io-long-double \ @@ -260,7 +264,7 @@ stamps/build-gcc-newlib-stage2: $(srcdir)/riscv-gcc stamps/build-newlib rm -rf $@ $(notdir $@) mkdir $(notdir $@) cd $(notdir $@) && $</configure \ - --target=riscv$(XLEN)-unknown-elf \ + --target=$(NEWLIB_TUPLE) \ $(CONFIGURE_HOST) \ --prefix=$(INSTALL_DIR) \ --disable-shared \ @@ -269,7 +273,7 @@ stamps/build-gcc-newlib-stage2: $(srcdir)/riscv-gcc stamps/build-newlib @with_system_zlib@ \ --enable-tls \ --with-newlib \ - --with-headers=$(INSTALL_DIR)/riscv$(XLEN)-unknown-elf/include \ + --with-headers=$(INSTALL_DIR)/$(NEWLIB_TUPLE)/include \ --disable-libmudflap \ --disable-libssp \ --disable-libquadmath \ |