initial
[prop.git] / lib-src / automata / Makefile
blob02ede0346ee51f6f92f19675ad83cdc510cecdf6
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
6 CC = g++
7 COPTS = -O6
8 CINCLUDE = -I$(ADLIB_PATH)
10 ad = $(ADLIB_PATH)/AD
11 D = $(ADLIB_PATH)/AD/automata
13 PROP = ../../bin/prop
14 PROP_OPTS = -s $(CINCLUDE)
16 OBJS = ac.o acgen.o bottomup.o lr0.o compdfa.o densedfa.o
17 OBJS2 = gentable.o grammar.o lr1.o lalr1gen.o
18 OBJS3 = lexer.o lexergen.o ll1.o ll1gen.o ll1parse.o lrgen.o
19 OBJS4 = llk.o llkgen.o lrk.o lrparser.o lookahd.o
20 OBJS5 = scanner.o sparsdfa.o topdown.o topdowng.o
21 OBJS6 = treeauto.o treegen.o treegram.o regexmat.o
22 OBJS7 = nullable.o firstset.o follow.o first_k.o follow_k.o operprec.o
23 OBJS8 = nfa.o nfa_node.o nfa32.o lr1gen.o lrkgen.o gla.o lexerbuf.o
24 OBJS9 = iolexerbuf.o iolexerstack.o item.o firstset2.o fastac.o
26 all: $(OBJS) $(OBJS2) $(OBJS3) $(OBJS4) \
27 $(OBJS5) $(OBJS6) $(OBJS7) $(OBJS8) $(OBJS9)
29 #############################################################################
30 # Prop stuff
31 #############################################################################
32 SRC = treegram.cc topdowng.cc treegen.cc
34 src: $(SRC)
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.o: ac.cc $D/ac.h $D/compdfa.h $(ad)/generic/generic.h \
41 $D/sparsdfa.h $D/dfatable.h
42 acgen.o: 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 \
45 $D/dfatable.h
46 factac.o: 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 \
49 $D/dfatable.h
50 nullable.o: 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.o: 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.o: 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.o: 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.o: 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.o: 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.o: 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.o: item.cc $D/item.h $D/grammar.h $D/gentable.h \
80 $(ad)/generic/generic.h
81 lr0.o: 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.o: 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.o: compdfa.cc $D/compdfa.h $(ad)/generic/generic.h \
92 $D/dfatable.h
93 densedfa.o: 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.o: dfa.cc $D/dfa.h $(ad)/contain/map.h $(ad)/memory/mempool.h \
97 $(ad)/generic/generic.h $(ad)/memory/mem.h
98 gentable.o: gentable.cc $D/gentable.h $(ad)/generic/generic.h
99 graminfo.o: 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.o: grammar.cc $D/grammar.h $(ad)/generic/generic.h \
104 $D/dfatable.h $(ad)/strings/charesc.h
105 #labtree.o: labtree.cc $D/labtree.h $(ad)/contain/charset.h \
106 # $(ad)/generic/generic.h $D/dfatable.h
107 lr1.o: lr1.cc $D/lr1.h $D/grammar.h $(ad)/generic/generic.h \
108 $D/dfatable.h
109 lrparser.o: 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.o: 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.o: 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 \
123 $D/firstset2.h
124 lrgen.o: lrgen.cc $D/lrgen.h $(ad)/generic/generic.h \
125 $D/compdfa.h $D/sparsdfa.h $D/densedfa.h $D/grammar.h \
126 $D/dfatable.h
127 lexer.o: lexer.cc $D/lexer.h $D/compdfa.h $(ad)/generic/generic.h \
128 $D/dfatable.h
129 lexergen.o: 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.o: ll1.cc $D/ll1.h $D/grammar.h $D/compdfa.h \
135 $(ad)/generic/generic.h $D/dfatable.h
136 ll1gen.o: 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.o: 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.o: llk.cc $D/llk.h $D/grammar.h $D/compdfa.h \
144 $(ad)/generic/generic.h $D/dfatable.h
145 llkgen.o: 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.o: 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.o: lrk.cc $D/lrk.h $D/grammar.h $(ad)/generic/generic.h \
155 $D/dfatable.h $(ad)/memory/mem.h
156 lrkgen.o: 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.o: 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.o: 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.o: nfa32.cc $D/nfa32.h $(ad)/generic/generic.h \
164 $D/dfatable.h
165 scanner.o: 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.o: sparsdfa.cc $D/sparsdfa.h $D/compdfa.h \
169 $(ad)/contain/varstack.h $(ad)/generic/generic.h \
170 $D/dfatable.h
171 #termpat.o: termpat.cc $D/termpat.h $(ad)/generic/generic.h \
172 # $D/dfatable.h
173 topdowng.o: 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.o: topdown.cc $D/topdown.h $D/ac.h $D/sparsdfa.h $D/compdfa.h \
179 $(ad)/generic/generic.h $D/dfatable.h
180 treeauto.o: 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.o: 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.o: treegram.cc $D/treegram.h $D/treeauto.h $(ad)/generic/generic.h \
195 $(ad)/contain/bitset.h
196 #treemat.o: treemat.cc $D/treemat.h $D/treeauto.h $(ad)/generic/generic.h
197 #treepat.o: 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.o: regexmat.cc $D/regexmat.h $D/lexer.h $D/dfatable.h \
200 $(ad)/generic/generic.h
201 lexerbuf.o: 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.o: 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.o: 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.o: operprec.cc $D/operprec.h $D/grammar.h $D/dfatable.h \
210 $(ad)/generic/generic.h
212 %.o: %.cc
213 $(CC) -c $(COPTS) $(CINCLUDE) $(@:.o=.cc)
215 %.o: %.cpp
216 $(CC) -c $(COPTS) $(CINCLUDE) $(@:.o=.cpp)
218 %.o: %.cxx
219 $(CC) -c $(COPTS) $(CINCLUDE) $(@:.o=.cxx)
221 %.o: %.C
222 $(CC) -c $(COPTS) $(CINCLUDE) $(@:.o=.C)
224 %.cc: %.pcc
225 $(PROP) $(PROP_OPTS) $(@:.cc=.pcc)