forked from qca/open-ath9k-htc-firmware
/
Makefile
89 lines (71 loc) · 2.98 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
GMP_VER=5.0.5
GMP_URL=http://ftp.gnu.org/gnu/gmp/gmp-$(GMP_VER).tar.bz2
GMP_TAR=gmp-$(GMP_VER).tar.bz2
MPFR_VER=3.1.1
MPFR_URL=http://ftp.gnu.org/gnu/mpfr/mpfr-$(MPFR_VER).tar.bz2
MPFR_TAR=mpfr-$(MPFR_VER).tar.bz2
MPC_VER=1.0.1
MPC_URL=http://ftp.gnu.org/gnu/mpc/mpc-$(MPC_VER).tar.gz
MPC_TAR=mpc-$(MPC_VER).tar.gz
BINUTILS_VER=2.23.1
BINUTILS_URL=http://ftp.gnu.org/gnu/binutils/binutils-$(BINUTILS_VER).tar.bz2
BINUTILS_TAR=binutils-$(BINUTILS_VER).tar.bz2
GCC_VER=4.7.2
GCC_URL=http://ftp.gnu.org/gnu/gcc/gcc-$(GCC_VER)/gcc-$(GCC_VER).tar.bz2
GCC_TAR=gcc-$(GCC_VER).tar.bz2
BASEDIR=$(shell pwd)
TOOLCHAIN_DIR=$(BASEDIR)/toolchain
TARGET=xtensa-elf
all: toolchain
gmp-$(GMP_VER):
wget -N -P $(TOOLCHAIN_DIR)/dl $(GMP_URL)
tar -C $(TOOLCHAIN_DIR)/dl -xjf $(TOOLCHAIN_DIR)/dl/$(GMP_TAR)
gmp: gmp-$(GMP_VER)
mkdir -p $(TOOLCHAIN_DIR)/build/gmp
cd $(TOOLCHAIN_DIR)/build/gmp; \
$(TOOLCHAIN_DIR)/dl/$</configure --disable-shared --enable-static --prefix=$(TOOLCHAIN_DIR)/inst; \
$(MAKE); $(MAKE) check;$(MAKE) install
mpfr-$(MPFR_VER):
wget -N -P $(TOOLCHAIN_DIR)/dl $(MPFR_URL)
tar -C $(TOOLCHAIN_DIR)/dl -xjf $(TOOLCHAIN_DIR)/dl/$(MPFR_TAR)
mpfr: mpfr-$(MPFR_VER)
mkdir -p $(TOOLCHAIN_DIR)/build/mpfr
cd $(TOOLCHAIN_DIR)/build/mpfr; \
$(TOOLCHAIN_DIR)/dl/$</configure --disable-shared --enable-static --with-gmp=$(TOOLCHAIN_DIR)/inst \
--prefix=$(TOOLCHAIN_DIR)/inst; \
$(MAKE); $(MAKE) check;$(MAKE) install
mpc-$(MPC_VER):
wget -N -P $(TOOLCHAIN_DIR)/dl $(MPC_URL)
tar -C $(TOOLCHAIN_DIR)/dl -zxvf $(TOOLCHAIN_DIR)/dl/$(MPC_TAR)
mpc: mpc-$(MPC_VER)
mkdir -p $(TOOLCHAIN_DIR)/build/mpfc
cd $(TOOLCHAIN_DIR)/build/mpfc; \
$(TOOLCHAIN_DIR)/dl/$</configure --disable-shared --enable-static --with-gmp=$(TOOLCHAIN_DIR)/inst \
--with-mpfr=$(TOOLCHAIN_DIR)/inst --prefix=$(TOOLCHAIN_DIR)/inst; \
$(MAKE); $(MAKE) check;$(MAKE) install
binutils-$(BINUTILS_VER):
wget -N -P $(TOOLCHAIN_DIR)/dl $(BINUTILS_URL)
tar -C $(TOOLCHAIN_DIR)/dl -xjf $(TOOLCHAIN_DIR)/dl/$(BINUTILS_TAR)
patch -d $(TOOLCHAIN_DIR)/dl/$@ -p1 < local/patches/binutils.patch
binutils: binutils-$(BINUTILS_VER)
mkdir -p $(TOOLCHAIN_DIR)/build/binutils
cd $(TOOLCHAIN_DIR)/build/binutils; \
$(TOOLCHAIN_DIR)/dl/$</configure --target=$(TARGET) --prefix=$(TOOLCHAIN_DIR)/inst; \
$(MAKE) all; $(MAKE) install
gcc-$(GCC_VER):
wget -N -P $(TOOLCHAIN_DIR)/dl $(GCC_URL)
tar -C $(TOOLCHAIN_DIR)/dl -xjf $(TOOLCHAIN_DIR)/dl/$(GCC_TAR)
patch -d $(TOOLCHAIN_DIR)/dl/$@ -p1 < local/patches/gcc.patch
gcc: gcc-$(GCC_VER)
mkdir -p $(TOOLCHAIN_DIR)/build/gcc
cd $(TOOLCHAIN_DIR)/build/gcc; \
export PATH=$(TOOLCHAIN_DIR)/inst/bin:$(PATH); \
$(TOOLCHAIN_DIR)/dl/$</configure --target=$(TARGET) --prefix=$(TOOLCHAIN_DIR)/inst \
--enable-languages=c --disable-libssp --disable-shared --disable-libquadmath \
--with-gmp=$(TOOLCHAIN_DIR)/inst \
--with-mpfr=$(TOOLCHAIN_DIR)/inst \
--with-mpc=$(TOOLCHAIN_DIR)/inst --with-newlib; \
$(MAKE) all; $(MAKE) install
toolchain: gmp mpfr mpc binutils gcc
clean:
rm -rf $(TOOLCHAIN_DIR)/build $(TOOLCHAIN_DIR)/inst