equal
deleted
inserted
replaced
|
1 # Sources |
|
2 SOURCES = $(wildcard *.tea) |
|
3 OBJECTS = $(patsubst %.tea,%.o,$(SOURCES)) |
|
4 |
|
5 LIBT = ../libt/libt.bc |
|
6 |
|
7 # Tools |
|
8 AR=ar |
|
9 LD=ld |
|
10 CC=gcc |
|
11 TEAK = ../compiler/cli/teak |
|
12 LLVM_CONFIG ?= llvm-config-3.8 |
|
13 LLVM_BINDIR = $(shell $(LLVM_CONFIG) --bindir) |
|
14 LLVM_LLC = $(LLVM_BINDIR)/llc |
|
15 LLVM_LINK = $(LLVM_BINDIR)/llvm-link |
|
16 LLVM_OPT = $(LLVM_BINDIR)/opt |
|
17 |
|
18 # Flags |
|
19 LLVM_OPT_FLAGS = -O2 |
|
20 |
|
21 |
|
22 all: $(OBJECTS) |
|
23 |
|
24 |
|
25 # ----------vvvvvvvvvv should be replace by real dependendies of .tea file |
|
26 %.bc: %.tea |
|
27 $(TEAK) $(SOURCES) |
|
28 |
|
29 %.all.bc: %.bc |
|
30 $(LLVM_LINK) -o=$@ $< $(LIBT) |
|
31 |
|
32 %.opt.bc: %.all.bc |
|
33 $(LLVM_OPT) $(LLVM_OPT_FLAGS) -o=$@ $< |
|
34 |
|
35 |
|
36 %.o: %.opt.bc |
|
37 $(LLVM_LLC) -filetype=obj -o=$@ $< |
|
38 |
|
39 clean: |
|
40 rm -f *.bc *.o |