-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
69 lines (49 loc) · 1.57 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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
###
#
# make clean removes all generated files.
#
###
JC = javac
CP = ./deps:.
P6.class: P6.java parser.class Yylex.class ASTnode.class
$(JC) -g -cp $(CP) P6.java
parser.class: parser.java ASTnode.class Yylex.class ErrMsg.class
$(JC) -g -cp $(CP) parser.java
parser.java: cminusminus.cup
java -cp $(CP) java_cup.Main < cminusminus.cup
Yylex.class: cminusminus.jlex.java sym.class ErrMsg.class
$(JC) -g -cp $(CP) cminusminus.jlex.java
ASTnode.class: ast.java Type.java Sym.class
$(JC) -g -cp $(CP) ast.java Type.java
cminusminus.jlex.java: cminusminus.jlex sym.class
java -cp $(CP) JLex.Main cminusminus.jlex
sym.class: sym.java
$(JC) -g -cp $(CP) sym.java
sym.java: cminusminus.cup
java java_cup.Main < cminusminus.cup
ErrMsg.class: ErrMsg.java
$(JC) -g -cp $(CP) ErrMsg.java
Sym.class: Sym.java Type.class ast.java
$(JC) -g -cp $(CP) Sym.java ast.java
SymTable.class: SymTable.java Sym.class DuplicateSymException.class EmptySymTableException.class WrongArgumentException.class
$(JC) -g -cp $(CP) SymTable.java
Type.class: Type.java ast.java Sym.java
$(JC) -g -cp $(CP) Type.java ast.java Sym.java
WrongArgumentException.class: WrongArgumentException.java
$(JC) -g -cp $(CP) WrongArgumentException.java
DuplicateSymException.class: DuplicateSymException.java
$(JC) -g -cp $(CP) DuplicateSymException.java
EmptySymTableException.class: EmptySymTableException.java
$(JC) -g -cp $(CP) EmptySymTableException.java
###
# test
#
test:
java -cp $(CP) P6 test.cmm test.s
###
# clean
###
clean:
rm -f *~ *.class parser.java cminusminus.jlex.java sym.java
cleantest:
rm -f test.s