checking outstanding changes in my CVS
[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/FlatAtomicEnterNode.class                   \
19 IR/Flat/FlatAtomicExitNode.class IR/Flat/FlatBackEdge.class             \
20 IR/Flat/FlatCall.class IR/Flat/FlatCastNode.class                       \
21 IR/Flat/FlatCheckNode.class IR/Flat/FlatCondBranch.class                \
22 IR/Flat/FlatElementNode.class IR/Flat/FlatFieldNode.class               \
23 IR/Flat/FlatFlagActionNode.class IR/Flat/FlatGlobalConvNode.class       \
24 IR/Flat/FlatLiteralNode.class IR/Flat/FlatMethod.class                  \
25 IR/Flat/FlatNew.class IR/Flat/FlatNode.class IR/Flat/FlatNop.class      \
26 IR/Flat/FlatOpNode.class IR/Flat/FlatReturnNode.class                   \
27 IR/Flat/FlatSetElementNode.class IR/Flat/FlatSetFieldNode.class         \
28 IR/Flat/FlatTagDeclaration.class IR/Flat/NodePair.class                 \
29 IR/Flat/FlatPrefetchNode.class                                          \
30 IR/Flat/ParamsObject.class IR/Flat/TempDescriptor.class                 \
31 IR/Flat/TempFlagPair.class IR/Flat/TempObject.class                     \
32 IR/Flat/TempTagPair.class IR/Tree/ArrayAccessNode.class                 \
33 IR/Tree/AssignmentNode.class IR/Tree/AtomicNode.class                   \
34 IR/Tree/BlockExpressionNode.class IR/Tree/BlockNode.class               \
35 IR/Tree/BlockStatementNode.class IR/Tree/BuildIR.class                  \
36 IR/Tree/CastNode.class IR/Tree/ConstraintCheck.class                    \
37 IR/Tree/CreateObjectNode.class IR/Tree/DNFFlag.class                    \
38 IR/Tree/DNFFlagAtom.class IR/Tree/DeclarationNode.class                 \
39 IR/Tree/ExpressionNode.class IR/Tree/FieldAccessNode.class              \
40 IR/Tree/FlagEffect.class IR/Tree/FlagEffects.class                      \
41 IR/Tree/FlagExpressionNode.class IR/Tree/FlagNode.class                 \
42 IR/Tree/FlagOpNode.class IR/Tree/IfStatementNode.class                  \
43 IR/Tree/Kind.class IR/Tree/LiteralNode.class IR/Tree/LoopNode.class     \
44 IR/Tree/MethodInvokeNode.class IR/Tree/Modifiers.class                  \
45 IR/Tree/NameNode.class IR/Tree/OpNode.class IR/Tree/ParseNode.class     \
46 IR/Tree/ParseNodeDOTVisitor.class IR/Tree/ParseNodeVector.class         \
47 IR/Tree/ReturnNode.class IR/Tree/SemanticCheck.class                    \
48 IR/Tree/SubBlockNode.class IR/Tree/TagDeclarationNode.class             \
49 IR/Tree/TagEffect.class IR/Tree/TagExpressionList.class                 \
50 IR/Tree/TaskExitNode.class IR/Tree/TreeNode.class                       \
51 IR/Tree/Walkable.class Analysis/CallGraph/CallGraph.class               \
52 Analysis/Locality/GenerateConversions.class                             \
53 Analysis/Locality/LocalityAnalysis.class                                \
54 Analysis/Locality/LocalityBinding.class                                 \
55 Analysis/Locality/TempNodePair.class                                    \
56 Analysis/TaskStateAnalysis/Allocations.class                            \
57 Analysis/TaskStateAnalysis/EGEdge.class                                 \
58 Analysis/TaskStateAnalysis/EGTaskNode.class                             \
59 Analysis/TaskStateAnalysis/ExecutionGraph.class                         \
60 Analysis/TaskStateAnalysis/FEdge.class                                  \
61 Analysis/TaskStateAnalysis/FlagState.class                              \
62 Analysis/TaskStateAnalysis/GarbageAnalysis.class                        \
63 Analysis/TaskStateAnalysis/OptionalTaskDescriptor.class                 \
64 Analysis/TaskStateAnalysis/Predicate.class                              \
65 Analysis/TaskStateAnalysis/SafetyAnalysis.class                         \
66 Analysis/TaskStateAnalysis/TEdge.class                                  \
67 Analysis/TaskStateAnalysis/TagAnalysis.class                            \
68 Analysis/TaskStateAnalysis/TagBinding.class                             \
69 Analysis/TaskStateAnalysis/TaskAnalysis.class                           \
70 Analysis/TaskStateAnalysis/TaskEdges.class                              \
71 Analysis/TaskStateAnalysis/TaskGraph.class                              \
72 Analysis/TaskStateAnalysis/TaskNode.class                               \
73 Analysis/TaskStateAnalysis/FlagComparator.class                         \
74 Analysis/TaskStateAnalysis/TaskNodeNamer.class Util/Edge.class          \
75 Analysis/FlatIRGraph/FlatIRGraph.class                                  \
76 Analysis/OwnershipAnalysis/OwnershipAnalysis.class                      \
77 Analysis/OwnershipAnalysis/OwnershipGraph.class                         \
78 Analysis/OwnershipAnalysis/OwnershipNode.class                          \
79 Analysis/OwnershipAnalysis/LabelNode.class                              \
80 Analysis/OwnershipAnalysis/HeapRegionNode.class                         \
81 Analysis/OwnershipAnalysis/ReferenceEdge.class                          \
82 Analysis/OwnershipAnalysis/AllocationSite.class                         \
83 Analysis/OwnershipAnalysis/TokenTuple.class                             \
84 Analysis/OwnershipAnalysis/TokenTupleSet.class                          \
85 Analysis/OwnershipAnalysis/ReachabilitySet.class                        \
86 Analysis/OwnershipAnalysis/ChangeTuple.class                            \
87 Analysis/OwnershipAnalysis/ChangeTupleSet.class                         \
88 Analysis/OwnershipAnalysis/Canonical.class                              \
89 Analysis/OwnershipAnalysis/MethodContext.class                          \
90 Analysis/OwnershipAnalysis/ParameterDecomposition.class                 \
91 Analysis/OwnershipAnalysis/AccessPath.class                             \
92 Analysis/Disjoint/DisjointAnalysis.class                                \
93 Analysis/Disjoint/ReachGraph.class                                      \
94 Analysis/MLP/MLPAnalysis.class                                          \
95 Analysis/MLP/VariableSourceToken.class                                  \
96 Analysis/MLP/VSTWrapper.class                                           \
97 Analysis/MLP/SVKey.class                                                \
98 Analysis/MLP/VarSrcTokTable.class                                       \
99 Analysis/MLP/CodePlan.class                                             \
100 Analysis/OoOJava/OoOJavaAnalysis.class                                  \
101 Analysis/OoOJava/CodePlan.class                                         \
102 Analysis/OoOJava/SVKey.class                                            \
103 Analysis/OoOJava/VSTWrapper.class                                       \
104 Analysis/OoOJava/VarSrcTokTable.class                                   \
105 Analysis/OoOJava/VariableSourceToken.class                              \
106 Util/GraphNode.class Util/Namer.class Util/Relation.class               \
107 Util/UtilAlgorithms.class                                               \
108 Interface/HTTPHeader.class Interface/HTTPResponse.class                 \
109 Interface/HTTPServices.class Interface/HashStrings.class                \
110 Interface/JhttpServer.class Interface/JhttpWorker.class                 \
111 Interface/LogFile.class Interface/Pair.class                            \
112 Interface/WebInterface.class Analysis/Prefetch/PrefetchAnalysis.class   \
113 Analysis/Prefetch/PrefetchPair.class Analysis/Prefetch/PairMap.class    \
114 Analysis/Prefetch/IndexDescriptor.class                                 \
115 Analysis/Scheduling/ClassNode.class                                     \
116 Analysis/Scheduling/ScheduleAnalysis.class                              \
117 Analysis/Scheduling/ScheduleEdge.class                                  \
118 Analysis/Scheduling/ScheduleNode.class                                  \
119 Analysis/Scheduling/CoreSimulator.class                                 \
120 Analysis/Scheduling/FIFORSchedule.class                                 \
121 Analysis/Scheduling/ObjectSimulator.class                               \
122 Analysis/Scheduling/RuntimeSchedule.class                               \
123 Analysis/Scheduling/Schedule.class                                      \
124 Analysis/Scheduling/ScheduleSimulator.class                             \
125 Analysis/Scheduling/SchedulingUtil.class                                \
126 Analysis/Scheduling/TaskSimulator.class                                 \
127 Analysis/Scheduling/TransTaskSimulator.class
128
129 JAVAFILES=IR/*.java \
130         IR/Flat/*.java \
131         IR/Tree/*.java \
132         Main/*.java \
133         Analysis/CallGraph/*.java \
134         Analysis/FlatIRGraph/*.java \
135         Analysis/Loops/*.java \
136         Analysis/Locality/*.java \
137         Analysis/OwnershipAnalysis/*.java \
138         Analysis/Disjoint/*.java \
139         Analysis/MLP/*.java \
140         Analysis/OoOJava/*.java \
141         Analysis/Prefetch/*.java \
142         Analysis/Scheduling/*.java \
143         Analysis/TaskStateAnalysis/*.java \
144         Util/*.java \
145         ClassLibrary/*.java \
146         ClassLibrary/gnu/*.java \
147         Interface/*.java \
148         Lex/*.java
149
150 CFILES=Runtime/*.c \
151         Runtime/*.h \
152         Runtime/DSTM/interface/*.c \
153         Runtime/DSTM/interface/*.h
154
155 all: compiler javadoc
156
157 compiler: Parse/Sym.java Parse/Parser.java cleanclass classfiles
158
159 classfiles:
160         ./ourjavac -cp ../cup:.:$(CLASSPATH) Main/Main.java
161
162 wc:
163         wc Interface/*.java Analysis/*/*.java IR/*.java IR/*/*.java Lex/*.java Util/*.java ClassLibrary/*.java Main/*.java
164
165 wcrun:
166         wc Runtime/*.[c,h] Runtime/DSTM/interface*/*.[c,h] Runtime/STM/*.[c,h]
167
168 Parse/Parser.java Parse/Sym.java: Parse/java14.cup
169         cd Parse && \
170         java -cp ../../cup:$(CLASSPATH) java_cup.Main -parser Parser -symbols Sym < java14.cup
171
172 %.class: %.java
173         ./ourjavac -cp ../cup:.:$(CLASSPATH) $<
174
175 tabbing: 
176         uncrustify -c java.cfg --no-backup $(JAVAFILES)
177         uncrustify -c c.cfg --no-backup $(CFILES)
178
179 commit: tabbing
180         cvs commit .
181
182 update: tabbing
183         cvs update -d .
184
185 mytabbing:
186         uncrustify -c myjava.cfg --no-backup $(JAVAFILES)
187         uncrustify -c myc.cfg --no-backup $(CFILES)
188
189 javadoc:
190         mkdir javadoc
191         javadoc -classpath ../cup:.:$(CLASSPATH) -sourcepath . -private -d javadoc Lex Util IR IR.Tree IR.Flat Analysis Analysis.CallGraph Analysis.Flag Analysis.TaskStateAnalysis Analysis.Locality Analysis.Prefetch Main Analysis.OwnershipAnalysis Analysis.Disjoint Analysis.MLP Analysis.Scheduling
192
193 clean:
194         rm -f 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 Interface/*.class Util/*.class Analysis/Locality/*.class Analysis/Prefetch/*.class Analysis/FlatIRGraph/*.class Analysis/OwnershipAnalysis/*.class Analysis/Disjoint/*.class Analysis/OoOJava/*.class Analysis/MLP/*.class Analysis/Scheduling/*.class Analysis/Loops/*.class
195
196 cleanclass:
197         rm -f IR/*.class IR/Tree/*.class Main/*.class IR/Flat/*.class Analysis/*.class Analysis/Flag/*.class Analysis/CallGraph/*.class  Analysis/TaskStateAnalysis/*.class Interface/*.class Util/*.class Analysis/Locality/*.class Analysis/Prefetch/*.class Analysis/FlatIRGraph/*.class Analysis/OwnershipAnalysis/*.class Analysis/Disjoint/*.class Analysis/OoOJava/*.class Analysis/MLP/*.class Analysis/Scheduling/*.class Analysis/Loops/*.class
198
199 cleandoc:
200         rm -rf javadoc