[STD] work around viv bug on "%02x"
[pugs.git] / src / vill / Makefile
blob52f4fcc0efdc23a13066a3edd7d234d2fdabfa1c
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 \
11 src/desigilname.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 \
15 src/integer.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` \
45 -O3 -o vill
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 \
166 Makefile
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 \
201 Makefile
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 \
263 Makefile
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 \
316 Makefile
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 \
377 Makefile
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
385 clean:
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
394 # welcome.
395 src/llvm-version2.7:
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 )
430 fruit:
431 @grep -nr 'TODO.*LHF' src/* test/*
433 todo:
434 @grep -nr 'TODO' src/* test/*
436 counts:
437 @echo ' Lines Words Bytes File'
438 @find . -name '*.[ch]*' | grep -v '\.svn' | grep -v '~$$' \
439 | sort | xargs 'wc'
441 help:
442 @echo
443 @echo 'Makefile for vill: you can make these targets:'
444 @echo
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'
455 @echo
457 # Notes:
458 # cc and c++ option -ggdb produces GNU Debugger compatible output