about summary refs log tree commit diff
path: root/bootstrap.sh
blob: 310c4a231f540ce9ca696bb30809452153e6b0db (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh

echo "Cleaning up previous builds..."
rm -f stage1 stage2 stage3 output.o bootstrap_output.o bootstrap/output.s

echo "Building stage 0..."

llc bootstrap/output.ll && cc $(llvm-config --libs) bootstrap/output.s -o stage0

echo "Building stage 1..."

./stage0 src/main.pry && cc $(llvm-config --libs) bootstrap_output.o -o stage1

echo "Building stage 2..."

./stage1 src/main.pry && cc $(llvm-config --libs) bootstrap_output.o -o stage2

echo "Building stage 3..."

./stage2 src/main.pry && cc $(llvm-config --libs) bootstrap_output.o -o stage3

echo "Regenerating stage 0..."
./stage3 src/main.pry --generate-ir && mv output.ll bootstrap/output.ll