projects
/
carl9170fw.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
carl9170 firmware: support write one byte at a time command
[carl9170fw.git]
/
toolchain
/
Makefile
diff --git
a/toolchain/Makefile
b/toolchain/Makefile
index 2070b25f4bc9f61bb17498fa643061e593536694..eb8ee4e653e41c4cee373bf9e8922c8864e72bf0 100644
(file)
--- a/
toolchain/Makefile
+++ b/
toolchain/Makefile
@@
-1,55
+1,68
@@
-BINUTILS_VER=2.22
-BINUTILS_URL=http://mirrors.kernel.org/gnu/binutils/binutils-$(BINUTILS_VER).tar.bz2
+BINUTILS_VER=2.25
BINUTILS_TAR=binutils-$(BINUTILS_VER).tar.bz2
BINUTILS_TAR=binutils-$(BINUTILS_VER).tar.bz2
+BINUTILS_URL="http://mirrors.kernel.org/gnu/binutils/$(BINUTILS_TAR)"
-NEWLIB_VER=1.20.0
-NEWLIB_URL=ftp://sources.redhat.com/pub/newlib/newlib-$(NEWLIB_VER).tar.gz
+NEWLIB_VER=2.2.0
NEWLIB_TAR=newlib-$(NEWLIB_VER).tar.gz
NEWLIB_TAR=newlib-$(NEWLIB_VER).tar.gz
+NEWLIB_URL="ftp://sourceware.org/pub/newlib/$(NEWLIB_TAR)"
-GCC_VER=4.6.2
-GCC_URL=http://mirrors.kernel.org/gnu/gcc/gcc-$(GCC_VER)/gcc-core-$(GCC_VER).tar.bz2
-GCC_TAR=gcc-core-$(GCC_VER).tar.bz2
+GCC_VER=4.9.2
+GCC_TAR=gcc-$(GCC_VER).tar.bz2
+GCC_URL="http://mirrors.kernel.org/gnu/gcc/gcc-$(GCC_VER)/$(GCC_TAR)"
+
+JOBS?=$(shell grep -c ^processor /proc/cpuinfo)
BASEDIR=$(shell pwd)
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):
src/$(BINUTILS_TAR):
- wget -P src $(BINUTILS_URL)
+ wget -P "$(BASEDIR)/src" $(BINUTILS_URL)
+ $(call checksum,$@)
src/$(NEWLIB_TAR):
src/$(NEWLIB_TAR):
- wget -P src $(NEWLIB_URL)
+ wget -P "$(BASEDIR)/src" $(NEWLIB_URL)
+ $(call checksum,$@)
src/$(GCC_TAR):
src/$(GCC_TAR):
- wget -P src $(GCC_URL)
+ wget -P "$(BASEDIR)/src" $(GCC_URL)
+ $(call checksum,$@)
src/binutils-$(BINUTILS_VER): src/$(BINUTILS_TAR)
src/binutils-$(BINUTILS_VER): src/$(BINUTILS_TAR)
- tar -C
src -xj
f $<
+ tar -C
"$(BASEDIR)/src" -x
f $<
src/newlib-$(NEWLIB_VER): src/$(NEWLIB_TAR)
src/newlib-$(NEWLIB_VER): src/$(NEWLIB_TAR)
- tar -C
src -xz
f $<
+ tar -C
"$(BASEDIR)/src" -x
f $<
src/gcc-$(GCC_VER): src/$(GCC_TAR) src/newlib-$(NEWLIB_VER)
src/gcc-$(GCC_VER): src/$(GCC_TAR) src/newlib-$(NEWLIB_VER)
- tar -C
src -xj
f $<
+ tar -C
"$(BASEDIR)/src" -x
f $<
ln -s $(BASEDIR)/src/newlib-$(NEWLIB_VER)/newlib $@
ln -s $(BASEDIR)/src/newlib-$(NEWLIB_VER)/libgloss $@
binutils: src/binutils-$(BINUTILS_VER)
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)/$</configure --target=sh-elf --prefix=$(BASEDIR)/inst; \
$(BASEDIR)/$</configure --target=sh-elf --prefix=$(BASEDIR)/inst; \
- $(MAKE) -j
3
; \
+ $(MAKE) -j
$(JOBS)
; \
$(MAKE) install
gcc: src/gcc-$(GCC_VER) binutils
$(MAKE) install
gcc: src/gcc-$(GCC_VER) binutils
- mkdir -p
build/gcc
- cd
build/gcc
; \
+ mkdir -p
"$(BASEDIR)/build/gcc"
+ cd
"$(BASEDIR)/build/gcc"
; \
$(BASEDIR)/$</configure --target=sh-elf --prefix=$(BASEDIR)/inst -enable-languages=c --without-pkgversion --with-newlib; \
$(BASEDIR)/$</configure --target=sh-elf --prefix=$(BASEDIR)/inst -enable-languages=c --without-pkgversion --with-newlib; \
- $(MAKE) -j
3
; \
+ $(MAKE) -j
$(JOBS)
; \
$(MAKE) install
clean:
$(MAKE) install
clean:
- rm -rf
build inst
-
+ rm -rf
"$(BASEDIR)/build" "$(BASEDIR)/inst"
+
distclean: clean
distclean: clean
- rm -rf
src
+ rm -rf
"$(BASEDIR)/src"