Changes:
[IRC.git] / Robust / src / Makefile
1 CLASSFILES= Main/Main.class Lex/BooleanLiteral.class                    \
2 Lex/CharacterLiteral.class Lex/Comment.class                            \
3 Lex/DocumentationComment.class Lex/DoubleLiteral.class Lex/EOF.class    \
4 Lex/EndOfLineComment.class Lex/EscapedUnicodeReader.class               \
5 Lex/FIFO.class Lex/FloatLiteral.class Lex/Identifier.class              \
6 Lex/InputElement.class Lex/IntegerLiteral.class Lex/Keyword.class       \
7 Lex/Lexer.class Lex/Literal.class Lex/LongLiteral.class                 \
8 Lex/NullLiteral.class Lex/NumericLiteral.class Lex/Operator.class       \
9 Lex/Separator.class Lex/StringLiteral.class Lex/Token.class             \
10 Lex/TraditionalComment.class Lex/WhiteSpace.class                       \
11 IR/AssignOperation.class IR/ClassDescriptor.class IR/Descriptor.class   \
12 IR/FieldDescriptor.class IR/FlagDescriptor.class                        \
13 IR/MethodDescriptor.class IR/NameDescriptor.class IR/Operation.class    \
14 IR/State.class IR/SymbolTable.class IR/TagDescriptor.class              \
15 IR/TagVarDescriptor.class IR/TaskDescriptor.class                       \
16 IR/TypeDescriptor.class IR/TypeUtil.class IR/VarDescriptor.class        \
17 IR/Virtual.class IR/Flat/BuildCode.class IR/Flat/BuildFlat.class        \
18 IR/Flat/FKind.class IR/Flat/FlatBackEdge.class IR/Flat/FlatCall.class   \
19 IR/Flat/FlatCastNode.class IR/Flat/FlatCheckNode.class                  \
20 IR/Flat/FlatCondBranch.class IR/Flat/FlatElementNode.class              \
21 IR/Flat/FlatFieldNode.class IR/Flat/FlatFlagActionNode.class            \
22 IR/Flat/FlatLiteralNode.class IR/Flat/FlatMethod.class                  \
23 IR/Flat/FlatNew.class IR/Flat/FlatNode.class IR/Flat/FlatNop.class      \
24 IR/Flat/FlatOpNode.class IR/Flat/FlatReturnNode.class                   \
25 IR/Flat/FlatSetElementNode.class IR/Flat/FlatSetFieldNode.class         \
26 IR/Flat/FlatTagDeclaration.class IR/Flat/NodePair.class                 \
27 IR/Flat/ParamsObject.class IR/Flat/TempDescriptor.class                 \
28 IR/Flat/TempFlagPair.class IR/Flat/TempObject.class                     \
29 IR/Flat/TempTagPair.class IR/Tree/ArrayAccessNode.class                 \
30 IR/Tree/AssignmentNode.class IR/Tree/BlockExpressionNode.class          \
31 IR/Tree/BlockNode.class IR/Tree/BlockStatementNode.class                \
32 IR/Tree/BuildIR.class IR/Tree/CastNode.class                            \
33 IR/Tree/ConstraintCheck.class IR/Tree/CreateObjectNode.class            \
34 IR/Tree/DNFFlag.class IR/Tree/DNFFlagAtom.class                         \
35 IR/Tree/DeclarationNode.class IR/Tree/ExpressionNode.class              \
36 IR/Tree/FieldAccessNode.class IR/Tree/FlagEffect.class                  \
37 IR/Tree/FlagEffects.class IR/Tree/FlagExpressionNode.class              \
38 IR/Tree/FlagNode.class IR/Tree/FlagOpNode.class                         \
39 IR/Tree/IfStatementNode.class IR/Tree/Kind.class                        \
40 IR/Tree/LiteralNode.class IR/Tree/LoopNode.class                        \
41 IR/Tree/MethodInvokeNode.class IR/Tree/Modifiers.class                  \
42 IR/Tree/NameNode.class IR/Tree/OpNode.class IR/Tree/ParseNode.class     \
43 IR/Tree/ParseNodeDOTVisitor.class IR/Tree/ParseNodeVector.class         \
44 IR/Tree/ReturnNode.class IR/Tree/SemanticCheck.class                    \
45 IR/Tree/SubBlockNode.class IR/Tree/TagDeclarationNode.class             \
46 IR/Tree/TagEffect.class IR/Tree/TagExpressionList.class                 \
47 IR/Tree/TaskExitNode.class IR/Tree/TreeNode.class                       \
48 IR/Tree/Walkable.class Analysis/TaskStateAnalysis/FEdge.class           \
49 Analysis/TaskStateAnalysis/FlagState.class                              \
50 Analysis/TaskStateAnalysis/TEdge.class                                  \
51 Analysis/TaskStateAnalysis/TagAnalysis.class                            \
52 Analysis/TaskStateAnalysis/TagBinding.class                             \
53 Analysis/TaskStateAnalysis/TaskAnalysis.class                           \
54 Analysis/TaskStateAnalysis/TaskNode.class                               \
55 Analysis/CallGraph/CallGraph.class Util/Edge.class                      \
56 Util/GraphNode.class Util/Relation.class
57
58
59 all: Parse/Sym.class Parse/Parser.class $(CLASSFILES) javadoc
60
61 Parse/Parser.java Parse/Sym.java: Parse/java14.cup
62         cd Parse && \
63         java -cp ../../cup:$(CLASSPATH) java_cup.Main -parser Parser -symbols Sym < java14.cup
64
65 %.class: %.java
66         javac -cp ../cup:.:$(CLASSPATH) $<
67
68 javadoc:
69         mkdir javadoc
70         javadoc -classpath ../cup:.:$(CLASSPATH) -sourcepath . -private -d javadoc Lex Util IR IR.Tree IR.Flat Analysis Analysis.CallGraph Analysis.Flag Analysis.TaskStateAnalysis Main 
71
72 clean:
73         rm IR/*.class IR/Tree/*.class Main/*.class Lex/*.class Parse/*.class Parse/Sym.java Parse/Parser.java IR/Flat/*.class classdefs.h methodheaders.h methods.c structdefs.h virtualtable.h task.h taskdefs.c taskdefs.h Analysis/*.class Analysis/Flag/*.class Analysis/CallGraph/*.class  Analysis/TaskStateAnalysis/*.class Util/Relation/*.class
74
75 cleandoc:
76         rm -rf javadoc