mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
synced 2025-02-17 20:17:18 +00:00
mkdir -p creates paths that are bound to user's settings and therefore can lead to different file mode bits of the base paths accross different machines. Use install instead, as this tool is not prone to such behavior. Signed-off-by: Konrad Weihmann <kweihmann@outlook.com> Signed-off-by: Josh Boyer <jwboyer@kernel.org>
67 lines
1.6 KiB
Makefile
67 lines
1.6 KiB
Makefile
BINUTILS_VER=2.22
|
|
BINUTILS_URL=http://mirrors.kernel.org/gnu/binutils/binutils-$(BINUTILS_VER).tar.bz2
|
|
BINUTILS_TAR=binutils-$(BINUTILS_VER).tar.bz2
|
|
|
|
NEWLIB_VER=1.20.0
|
|
NEWLIB_URL=ftp://sources.redhat.com/pub/newlib/newlib-$(NEWLIB_VER).tar.gz
|
|
NEWLIB_TAR=newlib-$(NEWLIB_VER).tar.gz
|
|
|
|
GCC_VER=4.7.1
|
|
GCC_URL=http://mirrors.kernel.org/gnu/gcc/gcc-$(GCC_VER)/gcc-$(GCC_VER).tar.bz2
|
|
GCC_TAR=gcc-$(GCC_VER).tar.bz2
|
|
|
|
BASEDIR=$(shell pwd)
|
|
|
|
define checksum
|
|
@if grep -q ' $(subst .,\.,$(1))$$' SHA256SUMS; then \
|
|
grep ' $(subst .,\.,$(1))$$' SHA256SUMS | sha256sum -c; \
|
|
else \
|
|
echo "WARNING: no checksum defined for $(1)"; \
|
|
fi
|
|
endef
|
|
|
|
all: gcc
|
|
|
|
src/$(BINUTILS_TAR):
|
|
wget -P src $(BINUTILS_URL)
|
|
$(call checksum,$@)
|
|
|
|
src/$(NEWLIB_TAR):
|
|
wget -P src $(NEWLIB_URL)
|
|
$(call checksum,$@)
|
|
|
|
src/$(GCC_TAR):
|
|
wget -P src $(GCC_URL)
|
|
$(call checksum,$@)
|
|
|
|
src/binutils-$(BINUTILS_VER): src/$(BINUTILS_TAR)
|
|
tar -C src -xjf $<
|
|
|
|
src/newlib-$(NEWLIB_VER): src/$(NEWLIB_TAR)
|
|
tar -C src -xzf $<
|
|
|
|
src/gcc-$(GCC_VER): src/$(GCC_TAR) src/newlib-$(NEWLIB_VER)
|
|
tar -C src -xjf $<
|
|
ln -s $(BASEDIR)/src/newlib-$(NEWLIB_VER)/newlib $@
|
|
ln -s $(BASEDIR)/src/newlib-$(NEWLIB_VER)/libgloss $@
|
|
|
|
binutils: src/binutils-$(BINUTILS_VER)
|
|
install -d build/binutils
|
|
cd build/binutils; \
|
|
$(BASEDIR)/$</configure --target=sh-elf --prefix=$(BASEDIR)/inst; \
|
|
$(MAKE) -j3; \
|
|
$(MAKE) install
|
|
|
|
gcc: src/gcc-$(GCC_VER) binutils
|
|
install -d build/gcc
|
|
cd build/gcc; \
|
|
$(BASEDIR)/$</configure --target=sh-elf --prefix=$(BASEDIR)/inst -enable-languages=c --without-pkgversion --with-newlib; \
|
|
$(MAKE) -j3; \
|
|
$(MAKE) install
|
|
|
|
clean:
|
|
rm -rf build inst
|
|
|
|
distclean: clean
|
|
rm -rf src
|