X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=toolchain%2FMakefile;h=9c2677b98fecfe62bffb1299a96cf5f29375df03;hb=a8d662f013d7650ec3f7194c7d4628e5fdfc5eb6;hp=b4351391944bb6de6a8da2c0889b03c26361c505;hpb=c2b66f900840a0d33c0eef0051b11195db87e9f3;p=carl9170fw.git diff --git a/toolchain/Makefile b/toolchain/Makefile index b435139..9c2677b 100644 --- a/toolchain/Makefile +++ b/toolchain/Makefile @@ -1,55 +1,68 @@ -BINUTILS_VER=2.23 -BINUTILS_TAR=binutils-$(BINUTILS_VER).tar.bz2 +BINUTILS_VER=2.29 +BINUTILS_TAR=binutils-$(BINUTILS_VER).tar.xz BINUTILS_URL="http://mirrors.kernel.org/gnu/binutils/$(BINUTILS_TAR)" -NEWLIB_VER=1.20.0 +NEWLIB_VER=2.5.0 NEWLIB_TAR=newlib-$(NEWLIB_VER).tar.gz -NEWLIB_URL="ftp://sources.redhat.com/pub/newlib/$(NEWLIB_TAR)" +NEWLIB_URL="ftp://sourceware.org/pub/newlib/$(NEWLIB_TAR)" -GCC_VER=4.7.2 -GCC_TAR=gcc-$(GCC_VER).tar.bz2 +GCC_VER=7.2.0 +GCC_TAR=gcc-$(GCC_VER).tar.xz GCC_URL="http://mirrors.kernel.org/gnu/gcc/gcc-$(GCC_VER)/$(GCC_TAR)" +JOBS?=$(shell grep -c ^processor /proc/cpuinfo) + BASEDIR=$(shell pwd) -all: gcc +define checksum +@if grep -q ' $(subst .,\.,$(1))$$' SHA256SUMS; then \ + grep ' $(subst .,\.,$(1))$$' SHA256SUMS | sha256sum -c || rm $(1); \ +else \ + echo "WARNING: no checksum defined for $(1)"; \ +fi +endef + +all: clean gcc src/$(BINUTILS_TAR): - wget -P src $(BINUTILS_URL) + wget -P "$(BASEDIR)/src" $(BINUTILS_URL) + $(call checksum,$@) src/$(NEWLIB_TAR): - wget -P src $(NEWLIB_URL) + wget -P "$(BASEDIR)/src" $(NEWLIB_URL) + $(call checksum,$@) src/$(GCC_TAR): - wget -P src $(GCC_URL) + wget -P "$(BASEDIR)/src" $(GCC_URL) + $(call checksum,$@) src/binutils-$(BINUTILS_VER): src/$(BINUTILS_TAR) - tar -C src -xf $< + tar -C "$(BASEDIR)/src" -xf $< src/newlib-$(NEWLIB_VER): src/$(NEWLIB_TAR) - tar -C src -xf $< + tar -C "$(BASEDIR)/src" -xf $< src/gcc-$(GCC_VER): src/$(GCC_TAR) src/newlib-$(NEWLIB_VER) - tar -C src -xf $< + tar -C "$(BASEDIR)/src" -xf $< ln -s $(BASEDIR)/src/newlib-$(NEWLIB_VER)/newlib $@ ln -s $(BASEDIR)/src/newlib-$(NEWLIB_VER)/libgloss $@ binutils: src/binutils-$(BINUTILS_VER) - mkdir -p build/binutils - cd build/binutils; \ + mkdir -p "$(BASEDIR)/build/binutils" + cd "$(BASEDIR)/build/binutils"; \ $(BASEDIR)/$