1 #############################################################################
2 # The following parameters must be altered for each platform and compiler.
3 # The default is for g++ on Unix and MSDOG.
4 #############################################################################
5 ADLIB_PATH
= ..
/..
/include
8 CINCLUDE
= -I
$(ADLIB_PATH
)
11 D
= $(ADLIB_PATH
)/AD
/automata
14 PROP_OPTS
= -s
$(CINCLUDE
)
16 OBJS
= ac.
$(OBJ
) acgen.
$(OBJ
) bottomup.
$(OBJ
) lr0.
$(OBJ
) compdfa.
$(OBJ
) densedfa.
$(OBJ
)
17 OBJS2
= gentable.
$(OBJ
) grammar.
$(OBJ
) lr1.
$(OBJ
) lalr1gen.
$(OBJ
)
18 OBJS3
= lexer.
$(OBJ
) lexergen.
$(OBJ
) ll1.
$(OBJ
) ll1gen.
$(OBJ
) ll1parse.
$(OBJ
) lrgen.
$(OBJ
)
19 OBJS4
= llk.
$(OBJ
) llkgen.
$(OBJ
) lrk.
$(OBJ
) lrparser.
$(OBJ
) lookahd.
$(OBJ
)
20 OBJS5
= scanner.
$(OBJ
) sparsdfa.
$(OBJ
) topdown.
$(OBJ
) topdowng.
$(OBJ
)
21 OBJS6
= treeauto.
$(OBJ
) treegen.
$(OBJ
) treegram.
$(OBJ
) regexmat.
$(OBJ
)
22 OBJS7
= nullable.
$(OBJ
) firstset.
$(OBJ
) follow.
$(OBJ
) first_k.
$(OBJ
) follow_k.
$(OBJ
) operprec.
$(OBJ
)
23 OBJS8
= nfa.
$(OBJ
) nfa_node.
$(OBJ
) nfa32.
$(OBJ
) lr1gen.
$(OBJ
) lrkgen.
$(OBJ
) gla.
$(OBJ
) lexerbuf.
$(OBJ
)
24 OBJS9
= iolexerbuf.
$(OBJ
) iolexerstack.
$(OBJ
) item.
$(OBJ
) firstset2.
$(OBJ
) fastac.
$(OBJ
)
26 all: $(OBJS
) $(OBJS2
) $(OBJS3
) $(OBJS4
) \
27 $(OBJS5
) $(OBJS6
) $(OBJS7
) $(OBJS8
) $(OBJS9
)
29 #############################################################################
31 #############################################################################
32 SRC
= treegram.
cc topdowng.
cc treegen.
cc
36 treegram.
cc: treegram.pcc
$D/treegram.ph
37 topdowng.
cc: topdowng.pcc
$D/treegram.ph
38 #treegen.cc: treegen.pcc $D/treegram.ph
40 ac.
$(OBJ
): ac.
cc $D/ac.h
$D/compdfa.h
$(ad
)/generic
/generic.h \
41 $D/sparsdfa.h
$D/dfatable.h
42 acgen.
$(OBJ
): acgen.
cc $D/acgen.h
$D/sparsdfa.h
$D/compdfa.h \
43 $(ad
)/tries
/briandai.h
$(ad
)/contain
/varstack.h \
44 $(ad
)/contain
/queue.h
$(ad
)/generic
/generic.h \
46 factac.
$(OBJ
): factac.
cc $D/acgen.h
$D/sparsdfa.h
$D/compdfa.h \
47 $(ad
)/tries
/briandai.h
$(ad
)/contain
/varstack.h \
48 $(ad
)/contain
/queue.h
$(ad
)/generic
/generic.h \
50 nullable.
$(OBJ
): nullable.
cc $D/nullable.h
$(ad
)/contain
/bitset.h \
51 $D/grammar.h
$(ad
)/memory
/mempool.h
$(ad
)/generic
/generic.h \
52 $D/dfatable.h
$(ad
)/memory
/mem.h
53 firstset.
$(OBJ
): firstset.
cc $D/firstset.h
$D/nullable.h
$(ad
)/contain
/bitset.h \
54 $D/grammar.h
$(ad
)/memory
/mempool.h
$(ad
)/generic
/generic.h \
55 $D/dfatable.h
$(ad
)/memory
/mem.h
56 firstset2.
$(OBJ
): firstset2.
cc $D/firstset2.h \
57 $D/firstset.h
$D/nullable.h
$(ad
)/contain
/bitset.h \
58 $D/grammar.h
$(ad
)/memory
/mempool.h
$(ad
)/generic
/generic.h \
59 $D/dfatable.h
$(ad
)/memory
/mem.h
60 follow.
$(OBJ
): follow.
cc $D/follow.h
$D/firstset.h
$D/nullable.h \
61 $(ad
)/contain
/bitset.h \
62 $D/grammar.h
$(ad
)/memory
/mempool.h
$(ad
)/generic
/generic.h \
63 $D/dfatable.h
$(ad
)/memory
/mem.h
64 first_k.
$(OBJ
): first_k.
cc $D/first_k.h
$D/follow.h
$D/firstset.h
$D/nullable.h \
65 $(ad
)/contain
/bitset.h \
66 $D/grammar.h
$(ad
)/memory
/mempool.h
$(ad
)/generic
/generic.h \
67 $D/dfatable.h
$(ad
)/memory
/mem.h
68 follow_k.
$(OBJ
): follow_k.
cc $D/follow_k.h
$D/first_k.h
$D/follow.h \
69 $D/firstset.h
$D/nullable.h
$(ad
)/contain
/bitset.h \
70 $D/grammar.h
$(ad
)/memory
/mempool.h
$(ad
)/generic
/generic.h \
71 $D/dfatable.h
$(ad
)/memory
/mem.h
72 bottomup.
$(OBJ
): bottomup.
cc $D/bottomup.h
$D/treeauto.h \
73 $D/treepat.h
$D/termpat.h
$(ad
)/generic
/generic.h \
74 $(ad
)/contain
/dchmap.h
$(ad
)/memory
/mempool.h \
75 $(ad
)/contain
/vararray.h
$(ad
)/contain
/stack.h \
76 $(ad
)/contain
/varqueue.h
$D/treetab.h \
77 $D/dfatable.h
$(ad
)/memory
/mem.h \
78 $D/compdfa.h
$D/sparsdfa.h
79 item.
$(OBJ
): item.
cc $D/item.h
$D/grammar.h
$D/gentable.h \
80 $(ad
)/generic
/generic.h
81 lr0.
$(OBJ
): lr0.
cc $D/lr0.h
$D/grammar.h
$D/gentable.h \
82 $(ad
)/hash
/dchash.h
$(ad
)/contain
/hashmap.h \
83 $(ad
)/contain
/dchmap.h
$(ad
)/generic
/generic.h \
84 $(ad
)/generic
/ordering.h
$D/item.h
$(ad
)/memory
/mempool.h \
85 $D/dfatable.h
$(ad
)/contain
/bitset.h
$(ad
)/memory
/mem.h
86 gla.
$(OBJ
): gla.
cc $D/gla.h
$D/grammar.h
$D/gentable.h \
87 $(ad
)/hash
/dchash.h
$(ad
)/contain
/hashmap.h \
88 $(ad
)/contain
/dchmap.h
$(ad
)/generic
/generic.h \
89 $(ad
)/generic
/ordering.h
$(ad
)/memory
/mempool.h \
90 $D/dfatable.h
$(ad
)/contain
/bitset.h
$(ad
)/memory
/mem.h
91 compdfa.
$(OBJ
): compdfa.
cc $D/compdfa.h
$(ad
)/generic
/generic.h \
93 densedfa.
$(OBJ
): densedfa.
cc $D/densedfa.h
$D/sparsdfa.h
$D/compdfa.h \
94 $(ad
)/contain
/varstack.h
$(ad
)/generic
/generic.h \
95 $D/dfatable.h
$(ad
)/memory
/mem.h
96 dfa.
$(OBJ
): dfa.
cc $D/dfa.h
$(ad
)/contain
/map.h
$(ad
)/memory
/mempool.h \
97 $(ad
)/generic
/generic.h
$(ad
)/memory
/mem.h
98 gentable.
$(OBJ
): gentable.
cc $D/gentable.h
$(ad
)/generic
/generic.h
99 graminfo.
$(OBJ
): graminfo.
cc $D/graminfo.h
$D/grammar.h \
100 $(ad
)/contain
/intsets.h
$(ad
)/generic
/generic.h \
101 $(ad
)/sort/shellsrt.h
$(ad
)/generic
/ordering.h \
102 $(ad
)/sort/sorting.h
$D/dfatable.h
103 grammar.
$(OBJ
): grammar.
cc $D/grammar.h
$(ad
)/generic
/generic.h \
104 $D/dfatable.h
$(ad
)/strings
/charesc.h
105 #labtree.$(OBJ): labtree.cc $D/labtree.h $(ad)/contain/charset.h \
106 # $(ad)/generic/generic.h $D/dfatable.h
107 lr1.
$(OBJ
): lr1.
cc $D/lr1.h
$D/grammar.h
$(ad
)/generic
/generic.h \
109 lrparser.
$(OBJ
): lrparser.
cc $D/lrparser.h
$D/lr1.h \
110 $D/grammar.h
$(ad
)/generic
/generic.h \
111 $D/compdfa.h
$D/dfatable.h
112 lalr1gen.
$(OBJ
): lalr1gen.
cc $D/grammar.h
$(ad
)/generic
/generic.h \
113 $(ad
)/hash
/dchash.h
$(ad
)/contain
/hashmap.h
$(ad
)/contain
/dchmap.h \
114 $(ad
)/memory
/mempool.h
$D/gentable.h
$D/lrgen.h \
115 $D/lr0.h
$D/lookahd.h
$D/operprec.h \
116 $D/dfatable.h
$(ad
)/contain
/bitset.h
$D/densedfa.h \
117 $D/sparsdfa.h
$(ad
)/memory
/mem.h
118 lookahd.
$(OBJ
): lookahd.
cc $D/lookahd.h
$D/grammar.h
$(ad
)/generic
/generic.h \
119 $(ad
)/hash
/dchash.h
$(ad
)/contain
/hashmap.h
$(ad
)/contain
/dchmap.h \
120 $(ad
)/memory
/mempool.h
$D/gentable.h
$D/lrgen.h \
121 $D/lr0.h
$D/firstset.h
$D/nullable.h
$D/operprec.h \
122 $D/dfatable.h
$(ad
)/contain
/bitset.h
$(ad
)/memory
/mem.h \
124 lrgen.
$(OBJ
): lrgen.
cc $D/lrgen.h
$(ad
)/generic
/generic.h \
125 $D/compdfa.h
$D/sparsdfa.h
$D/densedfa.h
$D/grammar.h \
127 lexer.
$(OBJ
): lexer.
cc $D/lexer.h
$D/compdfa.h
$(ad
)/generic
/generic.h \
129 lexergen.
$(OBJ
): lexergen.
cc $D/lexergen.h
$D/labtree.h
$D/dfa.h \
130 $D/densedfa.h
$D/sparsdfa.h
$D/compdfa.h
$D/nfa.h
$D/nfa_node.h\
131 $(ad
)/contain
/varstack.h
$(ad
)/contain
/fixqueue.h \
132 $(ad
)/hash
/dchash.h
$(ad
)/generic
/generic.h \
133 $(ad
)/contain
/bitset.h
$D/dfatable.h
$(ad
)/contain
/fbitset.h
134 ll1.
$(OBJ
): ll1.
cc $D/ll1.h
$D/grammar.h
$D/compdfa.h \
135 $(ad
)/generic
/generic.h
$D/dfatable.h
136 ll1gen.
$(OBJ
): ll1gen.
cc $D/ll1gen.h
$D/grammar.h
$D/sparsdfa.h \
137 $D/compdfa.h
$(ad
)/generic
/generic.h
$D/dfatable.h \
138 $D/nullable.h
$D/firstset.h
$D/follow.h \
139 $(ad
)/contain
/bitset.h
$(ad
)/memory
/mempool.h
$(ad
)/memory
/mem.h
140 ll1parse.
$(OBJ
): ll1parse.
cc $D/ll1.h \
141 $D/grammar.h
$D/sparsdfa.h
$D/compdfa.h \
142 $(ad
)/generic
/generic.h
$D/dfatable.h
143 llk.
$(OBJ
): llk.
cc $D/llk.h
$D/grammar.h
$D/compdfa.h \
144 $(ad
)/generic
/generic.h
$D/dfatable.h
145 llkgen.
$(OBJ
): llkgen.
cc $D/llkgen.h
$D/graminfo.h \
146 $D/grammar.h
$D/densedfa.h
$D/sparsdfa.h
$D/compdfa.h \
147 $(ad
)/generic
/generic.h
$D/dfatable.h \
148 $D/follow_k.h
$D/first_k.h
$D/follow.h
$D/firstset.h \
149 $D/nullable.h
$(ad
)/contain
/bitset.h
$(ad
)/memory
/mempool.h
$(ad
)/memory
/mem.h
150 lr1gen.
$(OBJ
): lr1gen.
cc $D/grammar.h
$(ad
)/generic
/generic.h \
151 $(ad
)/hash
/dchash.h
$(ad
)/contain
/hashmap.h
$(ad
)/contain
/dchmap.h \
152 $(ad
)/memory
/mempool.h
$D/gentable.h
$D/lr0.h \
153 $D/dfatable.h
$D/lrgen.h
$D/sparsdfa.h
$D/compdfa.h
154 lrk.
$(OBJ
): lrk.
cc $D/lrk.h
$D/grammar.h
$(ad
)/generic
/generic.h \
155 $D/dfatable.h
$(ad
)/memory
/mem.h
156 lrkgen.
$(OBJ
): lrkgen.
cc $D/lrkgen.h
$D/graminfo.h \
157 $D/grammar.h
$D/densedfa.h
$D/sparsdfa.h
$D/compdfa.h \
158 $(ad
)/generic
/generic.h
$D/dfatable.h
159 nfa.
$(OBJ
): nfa.
cc $D/nfa.h
$D/nfa_node.h
$(ad
)/generic
/generic.h \
160 $D/dfatable.h
$(ad
)/contain
/fbitset.h
$(ad
)/contain
/bitset.h
161 nfa_node.
$(OBJ
): nfa_node.
cc $D/nfa_node.h
$(ad
)/generic
/generic.h \
162 $D/dfatable.h
$(ad
)/contain
/bitset.h
$(ad
)/contain
/fbitset.h
163 nfa32.
$(OBJ
): nfa32.
cc $D/nfa32.h
$(ad
)/generic
/generic.h \
165 scanner.
$(OBJ
): scanner.
cc $D/scanner.h
$D/compdfa.h \
166 $(ad
)/generic
/generic.h
$D/sparsdfa.h
$D/densedfa.h \
167 $D/lexer.h
$D/dfatable.h
168 sparsdfa.
$(OBJ
): sparsdfa.
cc $D/sparsdfa.h
$D/compdfa.h \
169 $(ad
)/contain
/varstack.h
$(ad
)/generic
/generic.h \
171 #termpat.$(OBJ): termpat.cc $D/termpat.h $(ad)/generic/generic.h \
173 topdowng.
$(OBJ
): topdowng.
cc $D/topdowng.h
$D/acgen.h
$D/treegram.h \
174 $D/sparsdfa.h
$D/compdfa.h \
175 $(ad
)/contain
/varstack.h \
176 $(ad
)/tries
/briandai.h
$(ad
)/generic
/generic.h \
177 $D/dfatable.h
$(ad
)/contain
/bitset.h
178 topdown.
$(OBJ
): topdown.
cc $D/topdown.h
$D/ac.h
$D/sparsdfa.h
$D/compdfa.h \
179 $(ad
)/generic
/generic.h
$D/dfatable.h
180 treeauto.
$(OBJ
): treeauto.
cc $D/treeauto.h
$D/gentable.h \
181 $(ad
)/generic
/generic.h
$D/dfatable.h
$D/treetab.h \
182 $(ad
)/contain
/n_array.h
184 # Compiler bug in g++ 2.5.8 under Linux makes it impossible to
185 # compile this file with symbols.
187 # $(CC) -c -O6 $(CINCLUDE) $(@:.o=.cc)
188 treegen.
$(OBJ
): treegen.
cc $D/treegen.h
$D/treegram.h
$D/treeauto.h \
189 $(ad
)/generic
/generic.h
$(ad
)/contain
/dchmap.h \
190 $(ad
)/contain
/vararray.h
$(ad
)/memory
/mempool.h \
191 $D/dfatable.h
$(ad
)/memory
/mem.h
$D/treetab.h \
192 $(ad
)/contain
/bitset.h \
193 $D/compdfa.h
$D/sparsdfa.h
194 treegram.
$(OBJ
): treegram.
cc $D/treegram.h
$D/treeauto.h
$(ad
)/generic
/generic.h \
195 $(ad
)/contain
/bitset.h
196 #treemat.$(OBJ): treemat.cc $D/treemat.h $D/treeauto.h $(ad)/generic/generic.h
197 #treepat.$(OBJ): treepat.cc $D/treepat.h $D/termpat.h $(ad)/generic/generic.h \
198 # $(ad)/memory/mempool.h $D/treeauto.h $(ad)/memory/mem.h
199 regexmat.
$(OBJ
): regexmat.
cc $D/regexmat.h
$D/lexer.h
$D/dfatable.h \
200 $(ad
)/generic
/generic.h
201 lexerbuf.
$(OBJ
): lexerbuf.
cc $D/lexerbuf.h
$D/regexmat.h
$D/lexer.h \
202 $D/dfatable.h
$(ad
)/generic
/generic.h
$(ad
)/strings
/charesc.h
203 iolexerbuf.
$(OBJ
): iolexerbuf.
cc $D/iolexerbuf.h \
204 $D/lexerbuf.h
$D/regexmat.h
$D/lexer.h \
205 $D/dfatable.h
$(ad
)/generic
/generic.h
$(ad
)/strings
/charesc.h
206 iolexerstack.
$(OBJ
): iolexerstack.
cc $D/iolexerstack.h
$D/iolexerbuf.h \
207 $D/lexerbuf.h
$D/regexmat.h
$D/lexer.h \
208 $D/dfatable.h
$(ad
)/generic
/generic.h
$(ad
)/strings
/charesc.h
209 operprec.
$(OBJ
): operprec.
cc $D/operprec.h
$D/grammar.h
$D/dfatable.h \
210 $(ad
)/generic
/generic.h
213 $(CC
) -c
$(COPTS
) $(CINCLUDE
) $(@
:.
$(OBJ
)=.
cc)
216 $(CC
) -c
$(COPTS
) $(CINCLUDE
) $(@
:.
$(OBJ
)=.
cpp)
219 $(CC
) -c
$(COPTS
) $(CINCLUDE
) $(@
:.
$(OBJ
)=.
cxx)
222 $(CC
) -c
$(COPTS
) $(CINCLUDE
) $(@
:.
$(OBJ
)=.C
)
225 # $(PROP) $(PROP_OPTS) $(@:.cc=.pcc)