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.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 #############################################################################
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.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 \
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 \
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 \
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 \
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 \
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 \
127 lexer.o
: lexer.
cc $D/lexer.h
$D/compdfa.h
$(ad
)/generic
/generic.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 \
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 \
171 #termpat.o: termpat.cc $D/termpat.h $(ad)/generic/generic.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
213 $(CC
) -c
$(COPTS
) $(CINCLUDE
) $(@
:.o
=.
cc)
216 $(CC
) -c
$(COPTS
) $(CINCLUDE
) $(@
:.o
=.
cpp)
219 $(CC
) -c
$(COPTS
) $(CINCLUDE
) $(@
:.o
=.
cxx)
222 $(CC
) -c
$(COPTS
) $(CINCLUDE
) $(@
:.o
=.C
)
225 $(PROP
) $(PROP_OPTS
) $(@
:.
cc=.pcc
)