blob: ad1bdf9b8b0e4d92383dea7f7a722917f44e133f (
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
CC=gcc
CFLAGS=-lfl
CXX=g++
CXXFLAGS=
LEX=flex
YACC=bison -t -d
.PHONY: all
all: build-frontend run-frontend build-transpiler run-transpiler
.PHONY: build-frontend
build-frontend: build-parser build-lexer
cd build && $(CC) lex.yy.c commonlisp2transpilerstr.tab.c $(CFLAGS) -o frontend.out
.PHONY: build-lexer
build-lexer:
cd frontend && $(LEX) commonlisp2transpilerstr.l && mkdir -p ../build/ && mv lex.yy.c ../build/
.PHONY: build-parser
build-parser:
cd frontend && $(YACC) commonlisp2transpilerstr.y && mkdir -p ../build/ && mv commonlisp2transpilerstr.tab.* ../build/
.PHONY: run-frontend
run-frontend:
cd build/ && ./frontend.out < ../src.cl >> CLTree.h
.PHONY: build-transpiler
build-transpiler:
cd src/ && $(CXX) *.cpp */*.cpp $(CXXFLAGS) -o cltranspiler.out && mkdir -p ../build/ && mv cltranspiler.out ../build/
.PHONY: run-transpiler
run-transpiler:
cd build/ && ./cltranspiler.out && mv transpiled.ll ..
.PHONY: tests
tests:
cd tests && $(CXX) 'Tests_ALL.cpp' ../src/*/*.cpp $(CXXFLAGS) && ./a.out
|