Add experimental support for 32-bit Ubuntu

I haven't tried this, as we don't yet have the cross compilers
installed.
This commit is contained in:
Palmer Dabbelt 2017-06-19 12:49:52 -07:00
parent b478e48a20
commit 55740cd9b2
1 changed files with 34 additions and 13 deletions

View File

@ -6,7 +6,8 @@ BINDIR := bin
OBJDIR := obj OBJDIR := obj
SRCDIR := src SRCDIR := src
UBUNTU ?= x86_64-linux-ubuntu14 UBUNTU32 ?= i686-linux-ubuntu14
UBUNTU64 ?= x86_64-linux-ubuntu14
REDHAT ?= x86_64-linux-centos6 REDHAT ?= x86_64-linux-centos6
WIN32 ?= i686-w64-mingw32 WIN32 ?= i686-w64-mingw32
WIN64 ?= x86_64-w64-mingw32 WIN64 ?= x86_64-w64-mingw32
@ -17,8 +18,13 @@ NATIVE ?= $(REDHAT)
AUTORECONF ?= autoreconf268 AUTORECONF ?= autoreconf268
all: redhat all: redhat
else ifeq ($(DISTRIB_ID),Ubuntu) else ifeq ($(DISTRIB_ID),Ubuntu)
NATIVE ?= $(UBUNTU) ifeq ($(shell uname -m),x86_64)
all: ubuntu NATIVE ?= $(UBUNTU64)
all: ubuntu64
else
NATIVE ?= $(UBUNTU32)
all: ubuntu32
endif
all: win64 all: win64
else else
$(error Unknown host) $(error Unknown host)
@ -26,10 +32,11 @@ endif
AUTORECONF ?= autoreconf AUTORECONF ?= autoreconf
OBJ_NATIVE := $(OBJDIR)/$(NATIVE) OBJ_NATIVE := $(OBJDIR)/$(NATIVE)
OBJ_UBUNTU := $(OBJDIR)/$(UBUNTU) OBJ_UBUNTU32 := $(OBJDIR)/$(UBUNTU32)
OBJ_WIN32 := $(OBJDIR)/$(WIN32) OBJ_UBUNTU64 := $(OBJDIR)/$(UBUNTU64)
OBJ_WIN64 := $(OBJDIR)/$(WIN64) OBJ_WIN32 := $(OBJDIR)/$(WIN32)
OBJ_WIN64 := $(OBJDIR)/$(WIN64)
SRC_RGT := $(SRCDIR)/riscv-gnu-toolchain SRC_RGT := $(SRCDIR)/riscv-gnu-toolchain
SRC_ROCD := $(SRCDIR)/riscv-openocd SRC_ROCD := $(SRCDIR)/riscv-openocd
@ -58,12 +65,18 @@ win32-gcc: $(BINDIR)/riscv64-unknown-elf-gcc-$(RGT_VERSION)-$(WIN32).src.tar.gz
win32-openocd: $(BINDIR)/riscv-openocd-$(ROCD_VERSION)-$(WIN32).zip win32-openocd: $(BINDIR)/riscv-openocd-$(ROCD_VERSION)-$(WIN32).zip
win32-openocd: $(BINDIR)/riscv-openocd-$(ROCD_VERSION)-$(WIN32).tar.gz win32-openocd: $(BINDIR)/riscv-openocd-$(ROCD_VERSION)-$(WIN32).tar.gz
win32-openocd: $(BINDIR)/riscv-openocd-$(ROCD_VERSION)-$(WIN32).src.tar.gz win32-openocd: $(BINDIR)/riscv-openocd-$(ROCD_VERSION)-$(WIN32).src.tar.gz
.PHONY: ubuntu ubuntu-gcc ubuntu-openocd .PHONY: ubuntu64 ubuntu64-gcc ubuntu64-openocd
ubuntu: ubuntu-gcc ubuntu-openocd ubuntu64: ubuntu64-gcc ubuntu64-openocd
ubuntu-gcc: $(BINDIR)/riscv64-unknown-elf-gcc-$(RGT_VERSION)-$(UBUNTU).tar.gz ubuntu64-gcc: $(BINDIR)/riscv64-unknown-elf-gcc-$(RGT_VERSION)-$(UBUNTU64).tar.gz
ubuntu-gcc: $(BINDIR)/riscv64-unknown-elf-gcc-$(RGT_VERSION)-$(UBUNTU).src.tar.gz ubuntu64-gcc: $(BINDIR)/riscv64-unknown-elf-gcc-$(RGT_VERSION)-$(UBUNTU64).src.tar.gz
ubuntu-openocd: $(BINDIR)/riscv-openocd-$(ROCD_VERSION)-$(UBUNTU).tar.gz ubuntu64-openocd: $(BINDIR)/riscv-openocd-$(ROCD_VERSION)-$(UBUNTU64).tar.gz
ubuntu-openocd: $(BINDIR)/riscv-openocd-$(ROCD_VERSION)-$(UBUNTU).src.tar.gz ubuntu64-openocd: $(BINDIR)/riscv-openocd-$(ROCD_VERSION)-$(UBUNTU64).src.tar.gz
.PHONY: ubuntu32 ubuntu32-gcc ubuntu32-openocd
ubuntu32: ubuntu32-gcc ubuntu32-openocd
ubuntu32-gcc: $(BINDIR)/riscv64-unknown-elf-gcc-$(RGT_VERSION)-$(UBUNTU32).tar.gz
ubuntu32-gcc: $(BINDIR)/riscv64-unknown-elf-gcc-$(RGT_VERSION)-$(UBUNTU32).src.tar.gz
ubuntu32-openocd: $(BINDIR)/riscv-openocd-$(ROCD_VERSION)-$(UBUNTU32).tar.gz
ubuntu32-openocd: $(BINDIR)/riscv-openocd-$(ROCD_VERSION)-$(UBUNTU32).src.tar.gz
.PHONY: redhat redhat-gcc redhat-openocd .PHONY: redhat redhat-gcc redhat-openocd
redhat: redhat-gcc redhat-openocd redhat: redhat-gcc redhat-openocd
redhat-gcc: $(BINDIR)/riscv64-unknown-elf-gcc-$(RGT_VERSION)-$(REDHAT).tar.gz redhat-gcc: $(BINDIR)/riscv64-unknown-elf-gcc-$(RGT_VERSION)-$(REDHAT).tar.gz
@ -82,6 +95,14 @@ $(WIN64)-rocd-vars := LIBUSB1_LIBS="-L$(abspath $(OBJ_WIN64)/install/risc
$(WIN64)-rocd-configure := --host=$(WIN64) $(WIN64)-rocd-configure := --host=$(WIN64)
$(WIN64)-expat-configure := --host=$(WIN64) $(WIN64)-expat-configure := --host=$(WIN64)
$(WIN64)-libusb-configure := --host=$(WIN64) $(WIN64)-libusb-configure := --host=$(WIN64)
$(UBUNTU32)-rgt-configure := --without-system-zlib --with-host=i686-linux-gnu
$(UBUNTU32)-rocd-configure := --host=i686-linux-gnu
$(UBUNTU32)-expat-configure := --host=i686-linux-gnu
$(UBUNTU32)-libusb-configure := --host=i686-linux-gnu
$(UBUNTU64)-rgt-configure := --without-system-zlib --with-host=x86_64-linux-gnu
$(UBUNTU64)-rocd-configure := --host=x86_64-linux-gnu
$(UBUNTU64)-expat-configure := --host=x86_64-linux-gnu
$(UBUNTU64)-libusb-configure := --host=x86_64-linux-gnu
# There's enough % rules that make starts blowing intermediate files away. # There's enough % rules that make starts blowing intermediate files away.
.SECONDARY: .SECONDARY: