1 # Makefile for vill - a viv+llvm mashup
2 # To keep things understandable, use of 'make' variables is avoided
3 # except for the 'objects' at the beginning. It reads so much easier
4 # not having to hunt through dozens of trivial substitutions ;-)
6 # Object file names sorted alphabetically, each one comes from a
7 # corresponding .cpp or .c source file and some .h files (listed below)
8 objects
= src
/arglist.o src
/args.o src
/ast_mapentry.o \
9 src
/ast_seqentry.o src
/ast_type_tag_equals.o src
/backslash__S_n.o \
10 src
/codegen.o src
/comp_unit.o src
/decint.o src
/declarator.o \
12 src
/dottyop.o src
/dotty__S_Dot.o src
/eat_terminator.o \
13 src
/escape__S_Back.o src
/identifier.o src
/infixish.o \
14 src
/infix__S_Comma.o src
/infix__S_Equal.o src
/infix__S_Plus.o \
16 src
/link_codegen.o src
/load_ast.o src
/longname.o src
/main.o \
17 src
/make_puts.o src
/methodop.o src
/modifier.o src
/modifier_expr.o \
18 src
/name.o src
/nibbler.o src
/noun__S_term.o src
/noun__S_value.o \
19 src
/number__S_numish.o src
/numish.o src
/optimize.o src
/options.o \
20 src
/POST.o src
/quote__S_Double_Double.o src
/run.o src
/save.o \
21 src
/scoped.o src
/scope_declarator__S_my.o src
/semiarglist.o \
22 src
/sigil__S_At.o src
/statement.o \
23 src
/statementlist.o src
/statement_mod_cond__S_if.o \
24 src
/statement_mod_loop__S_for.o src
/Str.o src
/SYM_dotty__S_Dot.o \
25 src
/SYM_infix__S_Comma.o src
/SYM_infix__S_Equal.o \
26 src
/SYM_infix__S_Plus.o src
/termish.o \
27 src
/term__S_dotty.o src
/term__S_identifier.o \
28 src
/term__S_scope_declarator.o src
/term__S_value.o \
29 src
/term__S_variable.o src
/twigil__S_Star.o src
/unload_ast.o \
30 src
/value__S_number.o src
/value__S_quote.o src
/variable.o \
31 src
/variable_declarator.o src
/verify.o src
/villCompiler.o \
32 src
/yaml_compose.o src
/yaml_compose_alias.o \
33 src
/yaml_compose_anchor.o src
/yaml_compose_mapping.o \
34 src
/yaml_compose_root.o src
/yaml_compose_scalar.o \
35 src
/yaml_compose_sequence.o src
/yaml_compose_tag.o \
36 src
/yaml_decompose.o src
/yaml_parse.o src
/yaml_token.o
38 # Executable target files sorted aphabetically
40 # The first target is the default when make is run without arguments.
41 # Build the main executable by linking all the object files together.
42 vill
: $(objects
) src
/villCompiler.h src
/llvm-version2.7 Makefile
43 @echo
'Link *.o -> ./vill'
44 @c
++ $(objects
) `llvm-config --cxxflags --ldflags --libs bitwriter` \
46 @find src
-name
'llvm-version*' -exec
rm {} \
;
48 test/yaml_compose_roundtrip
: test/yaml_compose_roundtrip.c \
49 src
/yaml_compose.h src
/graph_traverse.o \
50 src
/graph_traverse_begin.o src
/graph_traverse_end.o \
51 src
/yaml_compose.o src
/yaml_compose_alias.o \
52 src
/yaml_compose_anchor.o src
/yaml_compose_mapping.o \
53 src
/yaml_compose_scalar.o src
/yaml_compose_sequence.o \
54 src
/yaml_compose_tag.o src
/yaml_decompose.o src
/yaml_parse.o \
55 src
/yaml_token.o Makefile
56 @echo
'Compile+link test/yaml_compose_roundtrip'
57 @
cc test/yaml_compose_roundtrip.c src
/graph_traverse.o \
58 src
/graph_traverse_begin.o src
/graph_traverse_end.o \
59 src
/yaml_compose.o src
/yaml_compose_alias.o \
60 src
/yaml_compose_anchor.o src
/yaml_compose_mapping.o \
61 src
/yaml_compose_scalar.o src
/yaml_compose_sequence.o \
62 src
/yaml_compose_tag.o src
/yaml_decompose.o src
/yaml_parse.o \
63 src
/yaml_token.o
-O3
-o
test/yaml_compose_roundtrip
65 test/yaml_parse_roundtrip
: test/yaml_parse_roundtrip.c \
66 src
/yaml_parse.h src
/yaml_parse.o src
/yaml_token.o Makefile
67 @echo
'Compile+link test/yaml_parse_roundtrip'
68 @
cc test/yaml_parse_roundtrip.c src
/yaml_parse.o src
/yaml_token.o \
69 -O3
-o
test/yaml_parse_roundtrip
71 test/yaml_token_roundtrip
: test/yaml_token_roundtrip.c \
72 src
/yaml_token.o Makefile
73 @echo
'Compile+link test/yaml_token_roundtrip'
74 @
cc test/yaml_token_roundtrip.c src
/yaml_token.o
-O3 \
75 -o
test/yaml_token_roundtrip
77 # Object targets listed alphabetically by filename but not by directory.
78 # Separately compile each object from its corresponding source file.
79 src
/arglist.o
: src
/arglist.
cpp src
/villCompiler.h Makefile
80 c
++ -c src
/arglist.
cpp `llvm-config --cxxflags` -O3
-o src
/arglist.o
82 src
/args.o
: src
/args.
cpp src
/villCompiler.h Makefile
83 c
++ -c src
/args.
cpp `llvm-config --cxxflags` -O3
-o src
/args.o
85 src
/ast_mapentry.o
: src
/ast_mapentry.c src
/yaml_compose.h Makefile
86 cc -c src
/ast_mapentry.c
-O3
-o src
/ast_mapentry.o
88 src
/ast_seqentry.o
: src
/ast_seqentry.c src
/yaml_parse.h Makefile
89 cc -c src
/ast_seqentry.c
-O3
-o src
/ast_seqentry.o
91 src
/ast_type_tag_equals.o
: src
/ast_type_tag_equals.c \
92 src
/yaml_compose.h Makefile
93 cc -c src
/ast_type_tag_equals.c
-O3
-o src
/ast_type_tag_equals.o
95 src
/backslash__S_n.o
: src
/backslash__S_n.
cpp src
/villCompiler.h Makefile
96 c
++ -c src
/backslash__S_n.
cpp `llvm-config --cxxflags` -O3 \
97 -o src
/backslash__S_n.o
99 src
/codegen.o
: src
/codegen.
cpp src
/villCompiler.h Makefile
100 c
++ -c src
/codegen.
cpp `llvm-config --cxxflags` -O3
-o src
/codegen.o
102 src
/comp_unit.o
: src
/comp_unit.
cpp src
/villCompiler.h Makefile
103 c
++ -c src
/comp_unit.
cpp `llvm-config --cxxflags` -O3
-o src
/comp_unit.o
105 src
/decint.o
: src
/decint.
cpp src
/villCompiler.h Makefile
106 c
++ -c src
/decint.
cpp `llvm-config --cxxflags` -O3
-o src
/decint.o
108 src
/declarator.o
: src
/declarator.
cpp src
/villCompiler.h Makefile
109 c
++ -c src
/declarator.
cpp `llvm-config --cxxflags` -O3
-o src
/declarator.o
111 src
/desigilname.o
: src
/desigilname.
cpp src
/villCompiler.h Makefile
112 c
++ -c src
/desigilname.
cpp `llvm-config --cxxflags` -O3
-o src
/desigilname.o
114 src
/dottyop.o
: src
/dottyop.
cpp src
/villCompiler.h Makefile
115 c
++ -c src
/dottyop.
cpp `llvm-config --cxxflags` -O3
-o src
/dottyop.o
117 src
/dotty__S_Dot.o
: src
/dotty__S_Dot.
cpp src
/villCompiler.h Makefile
118 c
++ -c src
/dotty__S_Dot.
cpp `llvm-config --cxxflags` -O3
-o src
/dotty__S_Dot.o
120 src
/eat_terminator.o
: src
/eat_terminator.
cpp src
/villCompiler.h Makefile
121 c
++ -c src
/eat_terminator.
cpp `llvm-config --cxxflags` -O3 \
122 -o src
/eat_terminator.o
124 src
/escape__S_Back.o
: src
/escape__S_Back.
cpp src
/villCompiler.h Makefile
125 c
++ -c src
/escape__S_Back.
cpp `llvm-config --cxxflags` -O3 \
126 -o src
/escape__S_Back.o
128 src
/graph_traverse.o
: src
/graph_traverse.c src
/graph_traverse.h \
129 src
/yaml_compose_internal.h Makefile
130 cc -c src
/graph_traverse.c
-O3
-o src
/graph_traverse.o
132 src
/graph_traverse_begin.o
: src
/graph_traverse_begin.c \
133 src
/graph_traverse.h src
/yaml_compose_internal.h Makefile
134 cc -c src
/graph_traverse_begin.c
-O3
-o src
/graph_traverse_begin.o
136 src
/graph_traverse_end.o
: src
/graph_traverse_end.c \
137 src
/graph_traverse.h src
/yaml_compose_internal.h Makefile
138 cc -c src
/graph_traverse_end.c
-O3
-o src
/graph_traverse_end.o
140 src
/integer.o
: src
/integer.
cpp src
/villCompiler.h Makefile
141 c
++ -c src
/integer.
cpp `llvm-config --cxxflags` -O3
-o src
/integer.o
143 src
/identifier.o
: src
/identifier.
cpp src
/villCompiler.h Makefile
144 c
++ -c src
/identifier.
cpp `llvm-config --cxxflags` -O3
-o src
/identifier.o
146 src
/infixish.o
: src
/infixish.
cpp src
/villCompiler.h Makefile
147 c
++ -c src
/infixish.
cpp `llvm-config --cxxflags` -O3
-o src
/infixish.o
149 src
/infix__S_Comma.o
: src
/infix__S_Comma.
cpp src
/villCompiler.h Makefile
150 c
++ -c src
/infix__S_Comma.
cpp `llvm-config --cxxflags` -O3 \
151 -o src
/infix__S_Comma.o
153 src
/infix__S_Equal.o
: src
/infix__S_Equal.
cpp src
/villCompiler.h Makefile
154 c
++ -c src
/infix__S_Equal.
cpp `llvm-config --cxxflags` -O3 \
155 -o src
/infix__S_Equal.o
157 src
/infix__S_Plus.o
: src
/infix__S_Plus.
cpp src
/villCompiler.h Makefile
158 c
++ -c src
/infix__S_Plus.
cpp `llvm-config --cxxflags` -O3 \
159 -o src
/infix__S_Plus.o
161 src
/link_codegen.o
: src
/link_codegen.
cpp src
/villCompiler.h \
162 src
/yaml_compose.h Makefile
163 c
++ -c src
/link_codegen.
cpp `llvm-config --cxxflags` -O3
-o src
/link_codegen.o
165 src
/load_ast.o
: src
/load_ast.
cpp src
/villCompiler.h src
/yaml_compose.h \
167 c
++ -c src
/load_ast.
cpp `llvm-config --cxxflags` -O3
-o src
/load_ast.o
169 src
/longname.o
: src
/longname.
cpp src
/villCompiler.h Makefile
170 c
++ -c src
/longname.
cpp `llvm-config --cxxflags` -O3
-o src
/longname.o
172 src
/main.o
: src
/main.
cpp src
/villCompiler.h Makefile
173 c
++ -c src
/main.
cpp `llvm-config --cxxflags` -O3
-o src
/main.o
175 src
/make_puts.o
: src
/make_puts.
cpp src
/villCompiler.h Makefile
176 c
++ -c src
/make_puts.
cpp `llvm-config --cxxflags` -O3
-o src
/make_puts.o
178 src
/methodop.o
: src
/methodop.
cpp src
/villCompiler.h Makefile
179 c
++ -c src
/methodop.
cpp `llvm-config --cxxflags` -O3
-o src
/methodop.o
181 src
/modifier.o
: src
/modifier.
cpp src
/villCompiler.h Makefile
182 c
++ -c src
/modifier.
cpp `llvm-config --cxxflags` -O3
-o src
/modifier.o
184 src
/modifier_expr.o
: src
/modifier_expr.
cpp src
/villCompiler.h Makefile
185 c
++ -c src
/modifier_expr.
cpp `llvm-config --cxxflags` -O3
-o src
/modifier_expr.o
187 src
/name.o
: src
/name.
cpp src
/villCompiler.h Makefile
188 c
++ -c src
/name.
cpp `llvm-config --cxxflags` -O3
-o src
/name.o
190 src
/nibbler.o
: src
/nibbler.
cpp src
/villCompiler.h Makefile
191 c
++ -c src
/nibbler.
cpp `llvm-config --cxxflags` -O3
-o src
/nibbler.o
193 src
/noun__S_term.o
: src
/noun__S_term.
cpp src
/villCompiler.h Makefile
194 c
++ -c src
/noun__S_term.
cpp `llvm-config --cxxflags` -O3
-o src
/noun__S_term.o
196 src
/noun__S_value.o
: src
/noun__S_value.
cpp src
/villCompiler.h Makefile
197 c
++ -c src
/noun__S_value.
cpp `llvm-config --cxxflags` -O3 \
198 -o src
/noun__S_value.o
200 src
/number__S_numish.o
: src
/number__S_numish.
cpp src
/villCompiler.h \
202 c
++ -c src
/number__S_numish.
cpp `llvm-config --cxxflags` -O3 \
203 -o src
/number__S_numish.o
205 src
/numish.o
: src
/numish.
cpp src
/villCompiler.h Makefile
206 c
++ -c src
/numish.
cpp `llvm-config --cxxflags` -O3
-o src
/numish.o
208 src
/optimize.o
: src
/optimize.
cpp src
/villCompiler.h Makefile
209 c
++ -c src
/optimize.
cpp `llvm-config --cxxflags` -O3
-o src
/optimize.o
211 src
/options.o
: src
/options.
cpp src
/villCompiler.h Makefile
212 c
++ -c src
/options.
cpp `llvm-config --cxxflags` -O3
-o src
/options.o
214 src
/POST.o
: src
/POST.
cpp src
/villCompiler.h Makefile
215 c
++ -c src
/POST.
cpp `llvm-config --cxxflags` -O3
-o src
/POST.o
217 src
/quote__S_Double_Double.o
: src
/quote__S_Double_Double.
cpp \
218 src
/villCompiler.h Makefile
219 c
++ -c src
/quote__S_Double_Double.
cpp `llvm-config --cxxflags` -O3 \
220 -o src
/quote__S_Double_Double.o
222 src
/run.o
: src
/run.
cpp src
/villCompiler.h Makefile
223 c
++ -c src
/run.
cpp `llvm-config --cxxflags` -O3
-o src
/run.o
225 src
/save.o
: src
/save.
cpp src
/villCompiler.h Makefile
226 c
++ -c src
/save.
cpp `llvm-config --cxxflags` -O3
-o src
/save.o
228 src
/scoped.o
: src
/scoped.
cpp src
/villCompiler.h Makefile
229 c
++ -c src
/scoped.
cpp `llvm-config --cxxflags` -O3
-o src
/scoped.o
231 src
/scope_declarator__S_my.o
: src
/scope_declarator__S_my.
cpp \
232 src
/villCompiler.h Makefile
233 c
++ -c src
/scope_declarator__S_my.
cpp `llvm-config --cxxflags` -O3 \
234 -o src
/scope_declarator__S_my.o
236 src
/semiarglist.o
: src
/semiarglist.
cpp src
/villCompiler.h Makefile
237 c
++ -c src
/semiarglist.
cpp `llvm-config --cxxflags` -O3
-o src
/semiarglist.o
239 src
/sigil__S_At.o
: src
/sigil__S_At.
cpp src
/villCompiler.h Makefile
240 c
++ -c src
/sigil__S_At.
cpp `llvm-config --cxxflags` -O3
-o src
/sigil__S_At.o
242 src
/statement.o
: src
/statement.
cpp src
/villCompiler.h Makefile
243 c
++ -c src
/statement.
cpp `llvm-config --cxxflags` -O3
-o src
/statement.o
245 src
/statementlist.o
: src
/statementlist.
cpp src
/villCompiler.h Makefile
246 c
++ -c src
/statementlist.
cpp `llvm-config --cxxflags` -O3 \
247 -o src
/statementlist.o
249 src
/statement_mod_cond__S_if.o
: src
/statement_mod_cond__S_if.
cpp \
250 src
/villCompiler.h Makefile
251 c
++ -c src
/statement_mod_cond__S_if.
cpp `llvm-config --cxxflags` \
252 -O3
-o src
/statement_mod_cond__S_if.o
254 src
/statement_mod_loop__S_for.o
: src
/statement_mod_loop__S_for.
cpp \
255 src
/villCompiler.h Makefile
256 c
++ -c src
/statement_mod_loop__S_for.
cpp `llvm-config --cxxflags` \
257 -O3
-o src
/statement_mod_loop__S_for.o
259 src
/Str.o
: src
/Str.
cpp src
/villCompiler.h Makefile
260 c
++ -c src
/Str.
cpp `llvm-config --cxxflags` -O3
-o src
/Str.o
262 src
/SYM_dotty__S_Dot.o
: src
/SYM_dotty__S_Dot.
cpp src
/villCompiler.h \
264 c
++ -c src
/SYM_dotty__S_Dot.
cpp `llvm-config --cxxflags` -O3 \
265 -o src
/SYM_dotty__S_Dot.o
267 src
/SYM_infix__S_Comma.o
: src
/SYM_infix__S_Comma.
cpp \
268 src
/villCompiler.h Makefile
269 c
++ -c src
/SYM_infix__S_Comma.
cpp `llvm-config --cxxflags` -O3 \
270 -o src
/SYM_infix__S_Comma.o
272 src
/SYM_infix__S_Equal.o
: src
/SYM_infix__S_Equal.
cpp \
273 src
/villCompiler.h Makefile
274 c
++ -c src
/SYM_infix__S_Equal.
cpp `llvm-config --cxxflags` -O3 \
275 -o src
/SYM_infix__S_Equal.o
277 src
/SYM_infix__S_Plus.o
: src
/SYM_infix__S_Plus.
cpp \
278 src
/villCompiler.h Makefile
279 c
++ -c src
/SYM_infix__S_Plus.
cpp `llvm-config --cxxflags` -O3 \
280 -o src
/SYM_infix__S_Plus.o
282 src
/termish.o
: src
/termish.
cpp src
/villCompiler.h Makefile
283 c
++ -c src
/termish.
cpp `llvm-config --cxxflags` -O3
-o src
/termish.o
285 src
/term__S_dotty.o
: src
/term__S_dotty.
cpp src
/villCompiler.h Makefile
286 c
++ -c src
/term__S_dotty.
cpp `llvm-config --cxxflags` -O3 \
287 -o src
/term__S_dotty.o
289 src
/term__S_identifier.o
: src
/term__S_identifier.
cpp \
290 src
/villCompiler.h Makefile
291 c
++ -c src
/term__S_identifier.
cpp `llvm-config --cxxflags` -O3 \
292 -o src
/term__S_identifier.o
294 src
/term__S_scope_declarator.o
: src
/term__S_scope_declarator.
cpp \
295 src
/villCompiler.h Makefile
296 c
++ -c src
/term__S_scope_declarator.
cpp `llvm-config --cxxflags` \
297 -O3
-o src
/term__S_scope_declarator.o
299 src
/term__S_value.o
: src
/term__S_value.
cpp src
/villCompiler.h Makefile
300 c
++ -c src
/term__S_value.
cpp `llvm-config --cxxflags` -O3 \
301 -o src
/term__S_value.o
303 src
/term__S_variable.o
: src
/term__S_variable.
cpp src
/villCompiler.h Makefile
304 c
++ -c src
/term__S_variable.
cpp `llvm-config --cxxflags` -O3 \
305 -o src
/term__S_variable.o
307 src
/twigil__S_Star.o
: src
/twigil__S_Star.
cpp src
/villCompiler.h Makefile
308 c
++ -c src
/twigil__S_Star.
cpp `llvm-config --cxxflags` -O3 \
309 -o src
/twigil__S_Star.o
311 src
/unload_ast.o
: src
/unload_ast.
cpp src
/villCompiler.h \
312 src
/yaml_compose.h Makefile
313 c
++ -c src
/unload_ast.
cpp `llvm-config --cxxflags` -O3
-o src
/unload_ast.o
315 src
/value__S_number.o
: src
/value__S_number.
cpp src
/villCompiler.h \
317 c
++ -c src
/value__S_number.
cpp `llvm-config --cxxflags` -O3 \
318 -o src
/value__S_number.o
320 src
/value__S_quote.o
: src
/value__S_quote.
cpp src
/villCompiler.h Makefile
321 c
++ -c src
/value__S_quote.
cpp `llvm-config --cxxflags` -O3 \
322 -o src
/value__S_quote.o
324 src
/variable.o
: src
/variable.
cpp src
/villCompiler.h Makefile
325 c
++ -c src
/variable.
cpp `llvm-config --cxxflags` -O3
-o src
/variable.o
327 src
/variable_declarator.o
: src
/variable_declarator.
cpp \
328 src
/villCompiler.h Makefile
329 c
++ -c src
/variable_declarator.
cpp `llvm-config --cxxflags` -O3
-o \
330 src
/variable_declarator.o
332 src
/verify.o
: src
/verify.
cpp src
/villCompiler.h Makefile
333 c
++ -c src
/verify.
cpp `llvm-config --cxxflags` -O3
-o src
/verify.o
335 src
/villCompiler.o
: src
/villCompiler.
cpp src
/villCompiler.h Makefile
336 c
++ -c src
/villCompiler.
cpp `llvm-config --cxxflags` -O3 \
337 -o src
/villCompiler.o
339 # The yaml parser is written in C, not C++
340 src
/yaml_compose.o
: src
/yaml_compose.c src
/yaml_compose_internal.h \
341 src
/yaml_parse.h Makefile
342 cc -c src
/yaml_compose.c
-O3
-o src
/yaml_compose.o
344 src
/yaml_compose_alias.o
: src
/yaml_compose_alias.c \
345 src
/yaml_compose_internal.h src
/yaml_compose.h Makefile
346 cc -c src
/yaml_compose_alias.c
-O3
-o src
/yaml_compose_alias.o
348 src
/yaml_compose_anchor.o
: src
/yaml_compose_anchor.c \
349 src
/yaml_compose_internal.h src
/yaml_compose.h Makefile
350 cc -c src
/yaml_compose_anchor.c
-O3
-o src
/yaml_compose_anchor.o
352 src
/yaml_compose_mapping.o
: src
/yaml_compose_mapping.c \
353 src
/yaml_compose_internal.h src
/yaml_compose.h Makefile
354 cc -c src
/yaml_compose_mapping.c
-O3
-o src
/yaml_compose_mapping.o
356 src
/yaml_compose_root.o
: src
/yaml_compose_root.c \
357 src
/yaml_compose_internal.h src
/yaml_compose.h Makefile
358 cc -c src
/yaml_compose_root.c
-O3
-o src
/yaml_compose_root.o
360 src
/yaml_compose_scalar.o
: src
/yaml_compose_scalar.c \
361 src
/yaml_compose_internal.h src
/yaml_compose.h Makefile
362 cc -c src
/yaml_compose_scalar.c
-O3
-o src
/yaml_compose_scalar.o
364 src
/yaml_compose_sequence.o
: src
/yaml_compose_sequence.c \
365 src
/yaml_compose_internal.h src
/yaml_compose.h Makefile
366 cc -c src
/yaml_compose_sequence.c
-O3
-o src
/yaml_compose_sequence.o
368 src
/yaml_compose_tag.o
: src
/yaml_compose_tag.c \
369 src
/yaml_compose_internal.h src
/yaml_compose.h Makefile
370 cc -c src
/yaml_compose_tag.c
-O3
-o src
/yaml_compose_tag.o
372 src
/yaml_decompose.o
: src
/yaml_decompose.c src
/yaml_compose_internal.h \
373 src
/yaml_compose.h Makefile
374 cc -c src
/yaml_decompose.c
-O3
-o src
/yaml_decompose.o
376 src
/yaml_parse.o
: src
/yaml_parse.c src
/yaml_parse.h src
/yaml_token.h \
378 cc -c src
/yaml_parse.c
-O3
-o src
/yaml_parse.o
380 src
/yaml_token.o
: src
/yaml_token.c src
/yaml_token.h Makefile
381 cc -c src
/yaml_token.c
-O3
-o src
/yaml_token.o
383 # Miscellaneous non object file targets
386 @find .
-name
'*~' -exec
rm {} ';' # editor backup files
387 @find .
-name
'*.o' -exec
rm {} ';' # compiled object files
388 @find .
-perm
-u
=x
-type f
-exec
rm {} ';' # executables
390 # Cause the make to fail if the LLVM version is not 2.6
391 # This (or rather the rm in the vill target) has the unfortunate side
392 # effect of causing every plain 'make' to do a top level recompile/link.
393 # A more elegant solution that avoids unnecessary rebuilds would be very
396 @find src
-name
'llvm-version*' -exec
rm {} \
;
397 @
export VERSION
=`llvm-config --version`; echo
$$VERSION > \
398 src
/llvm-version
$$VERSION
399 @
test -e src
/llvm-version2.7
401 # test does a quick sanity check with some arbitrary example files
402 test: vill
test/yaml_compose_roundtrip
test/yaml_parse_roundtrip \
403 test/yaml_token_roundtrip
404 @
# paths are relative to pugs/src/perl6 for viv to use
405 @
test/yaml_token_roundtrip
-e
'print "token round trip"'
406 @
test/yaml_token_roundtrip vill
/test/01-print.t
407 @
test/yaml_token_roundtrip ..
/..
/t
/spec
/S02-literals
/autoref.t
408 @
test/yaml_token_roundtrip ..
/..
/t
/spec
/S02-literals
/char-by-name.t
409 @
test/yaml_token_roundtrip ..
/..
/t
/spec
/S02-literals
/subscript.t
410 @
test/yaml_parse_roundtrip
-e
'print "parse round trip"'
411 @
test/yaml_parse_roundtrip vill
/test/01-print.t
412 @
test/yaml_parse_roundtrip ..
/..
/t
/spec
/S02-literals
/hex_chars.t
413 @
test/yaml_parse_roundtrip ..
/..
/t
/spec
/S02-literals
/char-by-number.t
414 @
#test/yaml_compose_roundtrip -e 'print "compose round trip"'
415 @
#test/yaml_compose_roundtrip vill/test/01-print.t
416 @.
/vill
-e
'print "hello world!"' -o
test/hello
418 tokentest
: test/yaml_token_roundtrip
419 @
# list the test files relative to viv's directory, pugs/src/perl6
420 @cd ..
; find ..
/..
/t
/spec
/S02-builtin_data_types \
421 -name
'*.t' |
sort | \
422 ( cd vill
; xargs
test/yaml_token_roundtrip
)
424 parsetest
: test/yaml_parse_roundtrip
425 @
# list the test files relative to viv's directory, pugs/src/perl6
426 @cd ..
; find ..
/..
/t
/spec
/S02-literals \
427 -name
'*.t' |
sort | \
428 ( cd vill
; xargs
test/yaml_parse_roundtrip
)
431 @grep
-nr
'TODO.*LHF' src
/* test/*
434 @grep
-nr
'TODO' src
/* test/*
437 @echo
' Lines Words Bytes File'
438 @find .
-name
'*.[ch]*' | grep
-v
'\.svn' | grep
-v
'~$$' \
443 @echo
'Makefile for vill: you can make these targets:'
445 @echo
'vill (default) the viv+llvm mashup executable'
446 @echo
'test checks whether vill runs ok'
447 @echo
'spectest TODO'
448 @echo
'parsetest run yaml_parse_roundtrip on part of pugs/t/spec/*'
449 @echo
'tokentest run yaml_token_roundtrip on part of pugs/t/spec/*'
450 @echo
'clean delete editor backups and generated files'
451 @echo
'todo show all TODO lines'
452 @echo
'fruit search for LHF (low hanging fruit) in TODO lines'
453 @echo
'counts line, word and byte counts of all source files'
454 @echo
'help display this help'
458 # cc and c++ option -ggdb produces GNU Debugger compatible output