-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile
50 lines (34 loc) · 1.15 KB
/
Makefile
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
.PHONY: clean distclean default
LLVMCONFIG=llvm-config-10
CXX=clang++-10
#DSEM=-DSEM
DSEM=
CXXFLAGS=-std=c++14 -g ${DSEM} `llvm-config-10 --cxxflags`
LDFLAGS=`llvm-config-10 --ldflags --system-libs --libs all`
DIR=$(pwd)
default: tony
lexer.cpp: lexer.l
flex -s -o lexer.cpp lexer.l
lexer: lexer.cpp parser.hpp
$(CXX) $(CXXFLAGS) -o lexer lexer.cpp
parser.hpp parser.cpp: parser.y
bison -dv -o parser.cpp parser.y
symbol.o: symbol.cpp
$(CXX) $(CXXFLAGS) -c symbol.cpp
error.o: error.cpp
$(CXX) $(CXXFLAGS) -c error.cpp
general.o: general.cpp
$(CXX) $(CXXFLAGS) -c general.cpp
error.o : error.cpp error.h general.h
symbol.o : symbol.cpp symbol.h error.h general.h
general.o : general.cpp general.h error.h
parser.o: parser.cpp lexer.hpp parser.hpp symbol.h ast.hpp
lexer.o: lexer.cpp lexer.hpp parser.hpp symbol.h ast.hpp
tony: lexer.o parser.o symbol.o error.o general.o
$(CXX) $(CXXFLAGS) -o tony lexer.o parser.o symbol.o error.o general.o $(LDFLAGS)
depend:
./install.sh
clean:
$(RM) lexer.cpp parser.cpp parser.hpp parser.output *.o
distclean:
$(RM) lexer.cpp parser.cpp parser.hpp parser.output *.o tony test/*.asm test/*.imm test/*.out