examples/Makefile
changeset 19 7597503194b8
equal deleted inserted replaced
18:e2168260b75a 19:7597503194b8
       
     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