recursive make considered harmful
[prop.git] / lib-src / automata / Makefile
blobbf6731b93a35949413b73662be87fb83b8242412
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.$(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 #############################################################################
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.$(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 \
45 $D/dfatable.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 \
49 $D/dfatable.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 \
92 $D/dfatable.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 \
108 $D/dfatable.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 \
123 $D/firstset2.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 \
126 $D/dfatable.h
127 lexer.$(OBJ): lexer.cc $D/lexer.h $D/compdfa.h $(ad)/generic/generic.h \
128 $D/dfatable.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 \
164 $D/dfatable.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 \
170 $D/dfatable.h
171 #termpat.$(OBJ): termpat.cc $D/termpat.h $(ad)/generic/generic.h \
172 # $D/dfatable.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
212 %.$(OBJ): %.cc
213 $(CC) -c $(COPTS) $(CINCLUDE) $(@:.$(OBJ)=.cc)
215 %.$(OBJ): %.cpp
216 $(CC) -c $(COPTS) $(CINCLUDE) $(@:.$(OBJ)=.cpp)
218 %.$(OBJ): %.cxx
219 $(CC) -c $(COPTS) $(CINCLUDE) $(@:.$(OBJ)=.cxx)
221 %.$(OBJ): %.C
222 $(CC) -c $(COPTS) $(CINCLUDE) $(@:.$(OBJ)=.C)
224 #%.cc: %.pcc
225 # $(PROP) $(PROP_OPTS) $(@:.cc=.pcc)