-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
46 lines (27 loc) · 1.01 KB
/
Makefile
File metadata and controls
46 lines (27 loc) · 1.01 KB
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
PARSER = MiniJava
JAVAC = javac
JAVA = java
JAVACC = javacc-7.0.13
JJDOC = jjdoc
JAVACC_FLAGS = -NOSTATIC -OUTPUT_DIRECTORY=Parse/
JAVACCGEN = Parse/SimpleCharStream.java Parse/ParseException.java \
Parse/$(PARSER).java Parse/$(PARSER)Constants.java \
Parse/$(PARSER)TokenManager.java Parse/Token.java \
Parse/TokenMgrError.java
ASTSRC = $(wildcard Absyn/*.java)
SYMSRC = $(wildcard Symbol/*.java)
TYPESSRC = $(wildcard Types/*.java)
SEMANTSRC =$(wildcard Semant/*.java)
SRCS = Parse/$(PARSER).java Semant/Main.java $(ASTSRC) $(SYMSRC) $(TYPESSRC) $(SEMANTSRC)
all: $(SRCS:.java=.class)
%.class : %.java
$(JAVAC) $<
Parse/$(PARSER).java: Parse/$(PARSER).jj
$(JAVACC) $(JAVACC_FLAGS) $<
parser: Parse/$(PARSER).class Parse/$(PARSER)Constants.class \
Parse/$(PARSER)TokenManager.class Parse/ParseException.class
main: Parse/$(PARSER).class Semant/Main.class
clean:
rm -f $(SRCS:.java=.class) ${JAVACCGEN} $(JAVACCGEN:.java=.class)
realclean: clean
rm -f *.class~ *~ *.jar