aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2017-05-16 19:40:56 -0700
committerAndrew Waterman <aswaterman@gmail.com>2017-05-16 20:06:03 -0700
commit87fdf4305dc72e383d0334b66d28510179f1ad3c (patch)
tree04bfbd1605e3fcfd878dfa37f23d73bac9dfb52b
parenta71fc539850f8dacf232fc580743b946c376014b (diff)
downloadriscv-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.in34
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 \