-
Notifications
You must be signed in to change notification settings - Fork 5
/
install_toolchain.sh
67 lines (55 loc) · 1.51 KB
/
install_toolchain.sh
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
#!/bin/bash
DIR=~/m2_toolchain
echo "Create directory for toolchain..."
mkdir $DIR
echo "Install toolchain..."
echo "version = \"version $(git rev-parse --short HEAD)\"" > toolchain/m2tools/src/version.py
cp -r toolchain/m2tools/src $DIR/
cp -r toolchain/m2tools/bin $DIR/
echo "Compile vbcc..."
cd toolchain/vbcc
echo "char cg_copyright[]=\"MARK-II code generator version $(git rev-parse --short HEAD) (c) in 2017 by Vladislav Mlejnecký\";"> machines/mark/version.h
mkdir bin
make TARGET=mark bin/vbccmark
cd ../..
echo "Install vbcc..."
mkdir $DIR/vbcc
cp toolchain/vbcc/bin/vbccmark $DIR/vbcc/vbccmark
ln -s ./../vbcc/vbccmark $DIR/bin/m2-vbcc
echo "Clean up after vbcc..."
rm -rf toolchain/vbcc/machines/mark/*.o
rm -rf toolchain/vbcc/machines/mark/dt.h
rm -rf toolchain/vbcc/machines/mark/dt.c
rm -rf toolchain/vbcc/machines/mark/version.h
rm -rf toolchain/vbcc/bin
echo "Temporary change PATH to compile libs"
export PATH=$PATH:$DIR/bin
echo "Install spl..."
mkdir $DIR/spl
cp toolchain/spl/include/*.h $DIR/spl/
echo "Install bsp..."
mkdir $DIR/bsp
mkdir $DIR/bsp/lib
cd toolchain/bsp/
make
cp build/*.o $DIR/bsp/lib
cp include/*.h $DIR/bsp
make clean
cd ../..
echo "Install stdlibc..."
mkdir $DIR/stdlibc
cd toolchain/stdlibc
mkdir build
make
cp build/__startup.o $DIR/stdlibc/
make clean
cd ../..
echo "\n\nDone!\n"
echo "You have to add following path into your PATH variable:"
echo $DIR/bin
echo "SPL is stored in:"
echo $DIR/spl/
echo "BPS is stored in:"
echo $DIR/bsp/
echo "stdlibc is stored in:"
echo $DIR/stdlibc/